- अब वह दौर है जब AWS console में कुछ क्लिक करके server deploy किया जा सकता है, और एक command line से तरह-तरह का infrastructure बनाया जा सकता है
- IaC
- infrastructure को code के जरिए manage और provision करना
- जिस network, server, storage आदि की हमें ज़रूरत है, उन्हें सबको code के रूप में save और manage करना
- इससे code को share, test और reuse करके infrastructure को ज़्यादा productively manage किया जा सकता है
- Terraform
- Terraform, IaC में सबसे मशहूर tools में से एक है
- यह AWS, GCP, Azure जैसे cloud के साथ-साथ in-house solutions तक सबको manage करता है
- मनचाहे अंतिम परिणाम को define करने वाली declarative approach का उपयोग करता है, इसलिए परिणाम का अनुमान लगाना आसान होता है
- code को reuse करने पर भी वही परिणाम सुनिश्चित करता है
terraform plan चलाने पर AWS में क्या और कैसे बनेगा, इसकी detailed plan तैयार होती है
terraform apply के जरिए उसे वास्तव में लागू किया जाता है
- Terraform से बने resources की जानकारी
tfstate नाम की JSON file में manage की जाती है
- Terraform का उपयोग करने का तरीका
- यह कई keywords के जरिए user input लेकर resources बनाता है और execution result को CLI पर दिखाने की सुविधा देता है
- Provider
- resource types को implement करने वाला plugin
- AWS, GCP जैसे इस्तेमाल किए जाने वाले cloud platform और services के provider को ढूंढकर configuration में जोड़ते हैं, और उन resources का उपयोग करके infrastructure provision करते हैं
- Module
- संबंधित resources के group को एक single resource की तरह manage करने वाली reusable छोटी Terraform configuration
- दूसरे लोगों द्वारा बनाए गए modules का भी आसानी से उपयोग करके कम code में ज़्यादा resources को efficiently manage किया जा सकता है
- configuration बदलकर उसी module को कई बार call किया जा सकता है
- Resource
- virtual network, computing instance, या DNS record जैसे high-level components सहित एक या अधिक infrastructure objects का वर्णन करने वाला keyword
- Variable
- input variables, module के source code को बदले बिना resource properties को specify करने की सुविधा देते हैं
- यह programming language के function parameters जैसा है
- input variables के जरिए modules को अधिक flexible तरीके से share और reuse किया जा सकता है
- Output
- output values, command line पर उपयोग होने वाली infrastructure information बना सकते हैं और दूसरे Terraform configurations के लिए जानकारी expose कर सकते हैं
- यह programming language के return value जैसा है
अभी कोई टिप्पणी नहीं है.