CI/CD पाइपलाइनों में IaC इंटीग्रेशन

AWS पर Deployments को ऑटोमेट करना

Dunieski Otano

Amazon Web Services Solutions Architect

पहले कोड, बाद में इंफ्रास्ट्रक्चर

code-first

  • CodePipeline से कोड डिप्लॉय; इंफ्रास्ट्रक्चर मैन्युअली अपडेट
  • Devs Lambda स्केल करें; ops SQS queue का आकार बदलें
  • कोड और इंफ्रा में ड्रिफ्ट से आउटेज होते हैं
  • CloudFormation को इसी पाइपलाइन में जोड़ें
AWS पर Deployments को ऑटोमेट करना

पाइपलाइन एक्शन के रूप में CloudFormation

pipeline-action

  • CodePipeline में CloudFormation deploy action सपोर्टेड है
  • पाइपलाइन एक template artifact इस एक्शन को पास करती है
  • मोड: CREATE_UPDATE, DELETE_ONLY, REPLACE_ON_FAILURE, CHANGE_SET_REPLACE / EXECUTE
  • सोर्स, build, और app-deploy एक्शंस के साथ चलाएँ
AWS पर Deployments को ऑटोमेट करना

एक सामान्य एंड-टू-एंड पाइपलाइन

typical

  • Source: Git push से पाइपलाइन ट्रिगर होती है
  • Build: template + app artifact बनाएँ
  • Deploy infra: CloudFormation स्टैक create या update करता है
  • Deploy app: CodeDeploy नया वर्ज़न शिप करता है
AWS पर Deployments को ऑटोमेट करना

स्टैक फेल होने पर ऑटोमैटिक रोलबैक

  • असफल अपडेट अपने-आप रोल बैक होकर आखिरी सही स्टेट पर जाते हैं
  • पाइपलाइन स्टेज फेल होता है और आगे के स्टेज रुकते हैं
  • Chapter 1 की failure-alert वायरिंग ऑटोमैटिक फायर होती है

automatic

AWS पर Deployments को ऑटोमेट करना

मॉड्यूलर टेम्पलेट्स के लिए Nested stacks

  • Nested stack का टाइप AWS::CloudFormation::Stack होता है
  • 2,000-लाइन टेम्पलेट को रीयूजेबल मॉड्यूल्स में तोड़ें
  • पैरेंट स्टैक पैरामीटर्स पास करता है और आउटपुट पढ़ता है
  • हर मॉड्यूल पैरेंट के अंदर independently डिप्लॉय होता है

nested

AWS पर Deployments को ऑटोमेट करना

मल्टी-अकाउंट, मल्टी-रीजन के लिए StackSets

  • StackSet एक टेम्पलेट को कई अकाउंट्स और रीज़न्स में डिप्लॉय करता है
  • Security baselines, guardrails, shared infra के लिए उपयोगी
  • Stack instances जोड़ें/हटाएँ, टेम्पलेट फिर से लिखने की ज़रूरत नहीं
  • Centrally managed, locally deployed

stackset

AWS पर Deployments को ऑटोमेट करना

सही रूप चुनना

right-shape

  • Single stack: छोटा ऐप, एक environment
  • Nested stacks: बड़ा टेम्पलेट, मॉड्यूलर कंपोनेंट्स
  • StackSets: वही टेम्पलेट, कई अकाउंट्स और रीज़न्स
  • तीनों CodePipeline के साथ बढ़िया काम करते हैं
AWS पर Deployments को ऑटोमेट करना

अभ्यास करते हैं!

AWS पर Deployments को ऑटोमेट करना

Preparing Video For Download...