“Infrastructure as Code” क्या है?


13

वाक्यांश "इन्फ्रास्ट्रक्चर कोड के रूप में" पिछले दो हफ्तों में विभिन्न संदर्भों में कई बार उल्लेख किया गया है। कोड के रूप में इन्फ्रास्ट्रक्चर के व्यावहारिक अर्थ में वास्तव में इसका क्या मतलब है?

जवाबों:


11

TL; DR : कोड के रूप में इन्फ्रास्ट्रक्चर आपके पर्यावरण को स्वचालित और बैकअप करने का एक तरीका है। आदर्श मामले में, एक आपदा के बाद, आप बहाल कर सकते हैं अपने बुनियादी सुविधा पूरी तरह से और स्वचालित रूप से नए संसाधनों प्रोविजनिंग, कोड भंडार से विन्यास पुनर्स्थापित कर रहा है और बैकअप से डेटा पुनर्प्राप्त किया जा रहा द्वारा।

अवलोकन

कोड के रूप में आधारभूत संरचना तीन मुख्य अवधारणाओं पर निर्भर करती है:

स्वचालन

विन्यास प्रबंधन इसके तीसरी पीढ़ी के औजारों में है। CFEngine पर बिल्डिंग ऑटोमेटेड कॉन्फ़िगरेशन मैनेजमेंट के लिए उपकरणों का एक नया सेट अब व्यापक रूप से तैनात किया जा रहा है। वर्णमाला के क्रम में सबसे लोकप्रिय हैं Ansible, CFEngine, Chef, Puppet, PowerShell DSC और SaltStack । प्रत्येक के पास आपके बुनियादी ढांचे की स्थिति का वर्णन करने के लिए एक भाषा होगी , कोड मॉड्यूल उन परिवर्तनों को लागू करने और उपकरण का विस्तार करने की क्षमता प्रदान करने के लिए, कुछ एजेंट को सर्वर पर निष्पादित करने के लिए और जानकारी का एक केंद्रीय भंडार

वे आम तौर पर पुश या पुल मोड में काम करते हैं, या तो एक केंद्रीय स्थान (सर्वरों) से सर्वर से जुड़ते हैं और प्रत्येक सर्वर पर दूरस्थ रूप से परिवर्तन करते हैं या चल रहे हैं और केंद्रीय स्थान से राज्य के बारे में जानकारी खींच रहे हैं और वह भी क्लाइंट / सर्वर मॉडल में या वितरित में मार्ग।

महत्वपूर्ण अवधारणा सिस्टम व्यवस्थापक या साइट की विश्वसनीयता इंजीनियर करने के लिए सीधे परिवर्तन करें नहीं बुनियादी सुविधाओं के लिए, लेकिन स्वचालन परिवर्तन करते हैं। मानव द्वारा मैन्युअल रूप से की गई किसी भी चीज को या तो विनाशकारी माना जाना चाहिए, जल्द ही स्वचालन द्वारा या कड़े रूप में सही किया जाना बुनियादी ढांचे की अखंडता का उल्लंघन करना और विनाश को प्रभावित करना और प्रभावित घटकों का पुनर्निर्माण करना।

कोड रिपोजिटरी

आदर्श रूप से रिपॉजिटरी होल्डिंग सॉफ्टवेयर से अलग कोड रिपोजिटरी, का उपयोग इन्फ्रास्ट्रक्चर और संबंधित स्वचालन के सभी परिवर्तनों को प्रबंधित करने के लिए किया जाएगा। इसमें कॉन्फ़िगरेशन फ़ाइलों और टेम्प्लेट, प्लेबुक (कुकबुक) को समीक्षा की जाने वाली परिवर्तनों की प्रक्रिया का वर्णन करना चाहिए, कोड सीएम स्वचालन उपकरण, प्रोविजनिंग कॉन्फ़िगरेशन, इन्फ्रास्ट्रक्चर टेस्ट और अलर्ट, स्टेजिंग / तैनाती टेस्ट, दस्तावेज़ीकरण, मैनुअल (अभी तक स्वचालित नहीं) प्रक्रिया विवरण ।

महत्वपूर्ण अवधारणा परिवर्तनों के लिए सहकर्मी की समीक्षा करना है, अप्रत्याशित और / या अप्रयुक्त मुद्दों के मामले में सभी परिवर्तनों को स्वचालित रूप से पिछले राज्य में वापस करने की क्षमता और रिकॉर्ड करने के लिए पर्यावरण और परीक्षण कॉन्फ़िगरेशन परिवर्तनों को लागू करने की क्षमता और स्वचालित रूप से तैनात करने की क्षमता है। मानव त्रुटि के कारण भिन्नता के बिना परिवर्तन।

प्रबंधित इंफ्रास्ट्रक्चर

फिजिकल इन्फ्रास्ट्रक्चर का प्रबंधन करना एक वास्तविक दुनिया का काम है जो सॉफ्टवेयर से परे जाता है और इसके लिए बहुत अलग कौशल की आवश्यकता होती है। क्लाउड कम्प्यूटिंग या प्रबंधित डेटासेंटर के माध्यम से इस परत को सार करने में सक्षम होने से, आपके पास आपकी टीम का ध्यान बुनियादी सुविधाओं के प्रबंधन के हिस्से पर केंद्रित है जो व्यावसायिक मूल्य जोड़ता है।

जबकि क्लाउड कम्प्यूटिंग बाद के चरण में शुरू करने और जल्दी से स्केल करने का एक तरीका प्रदान करता है, कंपनियां अक्सर हाइब्रिड मॉडल के लिए अपने स्वयं के डेटा केंद्रों में इन्फ्रास्ट्रक्चर के कुछ हिस्सों में कुछ लाभ और यहां तक ​​कि महत्वपूर्ण बचत का एहसास करती हैं। हार्डवेयर के मालिक या किराए पर लेने का मतलब यह नहीं है कि आपको उन लोगों को भी रोजगार देना होगा जो इसे संभालते हैं। इस पैमाने पर आपको दुनिया भर में भौगोलिक रूप से वितरित डेटा केंद्रों की आवश्यकता होती है और सभी स्थानों पर सभी आवश्यक कौशल वाले लोग बहुत महंगे होंगे। उन्हें दुनिया भर में उड़ान भरने से किसी भी परिवर्तन और परिचालन अक्षमताओं के अतिरिक्त स्तर में उच्च विलंबता कहते हैं, जो डेटासेंटर प्रबंधन को आउटसोर्स करने का एक और कारण है।

महत्वपूर्ण बात यह है कि प्रबंधित भौतिक अवसंरचना अक्सर भूल या अनदेखी अवधारणा है , लेकिन बस के रूप में महत्वपूर्ण है। यहां तक ​​कि अगर आपको सब कुछ स्वचालित मिल गया है, तो सभी बैकअप एक बैकअप कोड भंडार में संग्रहीत किए जाते हैं, जब तक कि आपके पास जल्दी से प्रावधान करने का कोई रास्ता नहीं है , आपके पास एक बड़ी अड़चन है , जो अन्य दो चरणों में आपके द्वारा प्राप्त किए गए सभी लाभों को आसानी से मिटा सकता है। ।


5

यह समझाने से पहले कि यह वास्तव में क्या है, मुझे सीधे विकिपीडिया से एक अच्छी परिभाषा उद्धृत करने दें :

कोड (IaC) के रूप में इन्फ्रास्ट्रक्चर कंप्यूटिंग इंफ्रास्ट्रक्चर (प्रक्रियाओं, नंगे-धातु सर्वर, वर्चुअल सर्वर, आदि) को प्रबंधित करने और मशीन-प्रोसेस करने योग्य परिभाषा फ़ाइलों के माध्यम से और उनके विन्यास के बजाय भौतिक हार्डवेयर कॉन्फ़िगरेशन या इंटरैक्टिव कॉन्फ़िगरेशन के उपयोग की प्रक्रिया है। उपकरण।

ठीक है, अब आइए आइसीसी टूल में से एक को देखें, अवधारणा को बेहतर समझने के लिए टेराफॉर्म: https://www.terraform.io/

इसके अलावा, यह टेराफॉर्म खुद के बारे में क्या कहता है:

Terraform आपको उत्पादन के बुनियादी ढांचे को सुरक्षित और अनुमानित रूप से बनाने, बदलने और सुधारने में सक्षम बनाता है। यह एक खुला स्रोत उपकरण है जो एपीआई को घोषणात्मक विन्यास फाइलों में कोडित करता है जिसे टीम के सदस्यों के बीच कोड, संपादित, समीक्षा और संस्करण के रूप में माना जा सकता है।

इसका मतलब है, एक पूरे इन्फ्रा को कोड कर सकता है। जिसमें कोड के रूप में सर्वर इंस्टेंस, लोड बैलेंसर्स, आदि जैसे क्लाउड (/ इंफ्रा) संसाधनों का निर्माण शामिल है, जिसमें कोड के रूप में बुनियादी सेटिंग्स ट्विक्स, सुरक्षा सेटिंग्स, क्षेत्र, आदि शामिल हैं, जो संपादन योग्य, संस्करण और हो सकते हैं बेशक, समीक्षा करने योग्य।

यह AWS संसाधनों के प्रावधान के लिए Terraform कोड का एक नमूना उदाहरण है:

resource "aws_elb" "frontend" {
  name = "frontend-load-balancer"
  listener {
    instance_port     = 8000
    instance_protocol = "http"
    lb_port           = 80
    lb_protocol       = "http"
  }

  instances = ["${aws_instance.app.*.id}"]
}

resource "aws_instance" "app" {
  count = 5

  ami           = "ami-408c7f28"
  instance_type = "t1.micro"
}

बोनस PS : इसके अलावा, किसी को प्रोविजनिंग और ऑर्केस्ट्रेशन टूल्स के बीच के अंतर को समझने की जरूरत है । देवता एक दूसरे के लिए बहुत बार भ्रमित करते हैं और जिस चीज का उपयोग करने का इरादा नहीं करते हैं उसके लिए एक उपकरण का उपयोग करने की कोशिश करते हैं और गलती करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.