Canary और linear deployments
AWS पर Deployments को ऑटोमेट करना
Dunieski Otano
Amazon Web Services Solutions Architect
एक खराब रिलीज़, हर यूज़र पर
Payment-logic बदलाव तुरंत 100% ट्रैफिक पर डिप्लॉय हुआ
लाइव लोड में बग दिखा; हर checkout फेल
10% canary से यह 5 मिनट में पकड़ा जाता
Canary छोड़ने की कीमत: वास्तविक पैसों का नुकसान
Canary deployment क्या है
पहले नई वर्ज़न पर ट्रैफिक का
छोटा हिस्सा
भेजें
मेट्रिक्स को
फिक्स्ड वेट पीरियड
तक देखें
हेल्दी हो तो
बाकी सब
एक साथ शिफ्ट करें
आम पैटर्न:
10% for 5 minutes
, फिर 100%
Linear deployment क्या है
ट्रैफिक को
बराबर इन्क्रिमेंट्स
में शिफ्ट करें
हर स्टेप के बीच इंतज़ार करें
उदाहरण:
10% every 1 minute
, कुल 10 मिनट
Canary से स्मूथ, पर समय ज्यादा लगता है
Canary vs. linear, साथ-साथ
Canary:
एक स्लाइस, फिर सबकुछ
Linear:
कई छोटे स्टेप्स
Canary जल्दी इश्यू पकड़ता है; linear धीरे-धीरे रैम्प करता है
दोनों रुकते हैं अगर
rollback ट्रिगर
हो
Lambda के लिए CodeDeploy कॉन्फ़िगरेशन
CodeDeployDefault.LambdaCanary10Percent5Minutes
: 10% for 5 min, फिर 100%
CodeDeployDefault.LambdaLinear10PercentEvery1Minute
: हर मिनट +10%
CodeDeployDefault.LambdaAllAtOnce
: पूरा ट्रैफिक तुरंत
ECS में इसी से मिलते-जुलते ECS-प्रिफिक्स्ड कॉन्फ़िग्स हैं
CloudWatch अलार्म से ऑटो रोलबैक
डिप्लॉयमेंट ग्रुप से
CloudWatch अलार्म
जोड़ें
आम अलार्म:
errors, duration, 5xx
अगर अलार्म
ALARM
स्टेट में जाए, डिप्लॉयमेंट रुकता है
CodeDeploy पिछली वर्ज़न पर
roll back
करता है
सही कॉन्फ़िगरेशन चुनना
रूटीन कम-रिस्क पैच →
AllAtOnce
हाई-रिस्क प्रोडक्शन बदलाव →
Canary
स्मूथ, steady रैम्प चाहिए →
Linear
हमेशा
अलार्म
के साथ पेयर करें ताकि ऑटो-रोलबैक हो सके
अभ्यास करते हैं!
AWS पर Deployments को ऑटोमेट करना
Preparing Video For Download...