डिप्लॉयमेंट रणनीतियाँ: वर्ज़न, एलियस और ट्रैफिक शिफ्टिंग

AWS Lambda के साथ Serverless Applications

Claudio Canales

Senior DevOps Engineer

डिप्लॉयमेंट रणनीति क्यों मायने रखती है

  • बग जल्दी पकड़ें.
  • असर का दायरा सीमित रखें.
  • तेज़ी से रिकवर करें.

खतरनाक बनाम सुरक्षित डिप्लॉय

AWS Lambda के साथ Serverless Applications

$LATEST बनाम प्रकाशित versions

$LATEST

  • हर कोड अपडेट पर आगे बढ़ता है.

Versions

  • अपरिवर्तनीय स्नैपशॉट.
  • रोलबैक और ट्रैफिक स्प्लिट के लिए पिन करना आसान.

Latest बनाम versions

AWS Lambda के साथ Serverless Applications

वर्ज़न एक अपरिवर्तनीय स्नैपशॉट है

  • वर्ज़न को रिलीज़ आर्टिफैक्ट जैसा मानें.
  • हर एक में कोड और कॉन्फ़िग कैप्चर होता है.
  • प्रकाशित होने के बाद नहीं बदलता.
  • आप हमेशा ज्ञात-उत्तम स्थिति पर लौट सकते हैं.

अपरिवर्तनीय वर्ज़न स्नैपशॉट

AWS Lambda के साथ Serverless Applications

एलियस स्थिर पॉइंटर होते हैं

  • एक स्थिर पॉइंटर.
  • वर्ज़न की जगह एलियस कॉल करें.
  • कॉलर्स बदले बिना इसका लक्ष्य अपडेट करें.

एलियस वर्ज़न की ओर इशारा करता है

AWS Lambda के साथ Serverless Applications

Dev और prod एलियस

  • एनवायरनमेंट्स के लिए बढ़िया.
  • dev को अक्सर शिफ्ट करें.
  • एलियस को मूव कर prod में प्रमोट करें.

Dev और prod एलियस मैपिंग

AWS Lambda के साथ Serverless Applications

वेटेड एलियस से ट्रैफिक शिफ्टिंग

  • प्रोडक्शन में सुरक्षित टेस्ट करें.
  • ज़्यादातर ट्रैफिक वर्तमान वर्ज़न पर रहे.
  • थोड़ा प्रतिशत कैंडिडेट पर जाए.

वेटेड एलियस रूटिंग का कॉन्सेप्ट

AWS Lambda के साथ Serverless Applications

कैनरी चरण 1: 90/10

  • 90% वर्तमान वर्ज़न पर रहे.
  • 10% असली लोड में कैंडिडेट को टेस्ट करे.
  • एरर और लेटेंसी पर नज़र रखें.

कैनरी 90/10 स्प्लिट

AWS Lambda के साथ Serverless Applications

कैनरी चरण 2: 50/50

  • यदि 10% अच्छा लगे, वेट बढ़ाएँ.
  • 50% वर्तमान, 50% कैंडिडेट.
  • 50/50 पर मुद्दे जल्दी दिखते हैं.
  • मॉनिटरिंग ज़रूरी है.

कैनरी 50/50 स्प्लिट

AWS Lambda के साथ Serverless Applications

कैनरी चरण 3: 100% नया

  • सारा ट्रैफिक नए वर्ज़न पर रूट करें.
  • पुराना वर्ज़न मौजूद रहता है.
  • रोलबैक सरल है.

कैनरी 100% नया

AWS Lambda के साथ Serverless Applications

ब्लू/ग्रीन मानसिक मॉडल

  • Blue = वर्तमान स्थिर वर्ज़न.
  • Green = नया कैंडिडेट वर्ज़न.
  • एलियस मूव कर स्विच करें.
  • वेटेड रूटिंग से स्विच क्रमिक हो जाता है.

ब्लू-ग्रीन स्विच

AWS Lambda के साथ Serverless Applications

रोलबैक = एलियस वापस मूव करें

  • फिर से डिप्लॉय की ज़रूरत नहीं.
  • एलियस को आखिरी ज्ञात-उत्तम वर्ज़न पर ले जाएँ.
  • घंटों नहीं, सेकंडों में रिकवर करें.
  • अपरिवर्तनीय वर्ज़न और स्थिर एलियस साथ काम करते हैं.

एलियस पीछे मूव कर रोलबैक

AWS Lambda के साथ Serverless Applications

शिफ्ट के दौरान मॉनिटर करें

  • एरर और टाइमआउट.
  • ड्यूरेशन और टेल लेटेंसी.
  • कैप्स हों तो थ्रॉटल्स.
  • जल्दी पॉज़ करें या रोलबैक करें.

डिप्लॉय मॉनिटरिंग मीट्रिक्स

AWS Lambda के साथ Serverless Applications

आम गलती: $LATEST को prod मान लेना

  • $LATEST पर निर्भरता पूर्वानुमानिता खो देती है.
  • वर्ज़न और एलियस बताते हैं कि क्या चल रहा है.
  • रोलबैक सुरक्षित होते हैं.

Latest ड्रिफ्ट चेतावनी

AWS Lambda के साथ Serverless Applications

Ignore

AWS Lambda के साथ Serverless Applications

सुरक्षित डिप्लॉय चेकलिस्ट

  • एक वर्ज़न पब्लिश करें.
  • एलियस से ट्रैफिक धीरे-धीरे शिफ्ट करें.
  • नतीजों को मॉनिटर करें.
  • हर चरण पर रोलबैक तैयार रखें.

सुरक्षित डिप्लॉय चेकलिस्ट डायग्राम

AWS Lambda के साथ Serverless Applications

मुख्य निष्कर्ष

  • वर्ज़न पूर्वानुमानिता देते हैं.
  • एलियस स्थिरता देते हैं.
  • वेटेड रूटिंग सुरक्षा जोड़ती है.
  • रोलबैक = एलियस मूव करें.

डिप्लॉयमेंट की मुख्य बातें

AWS Lambda के साथ Serverless Applications

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

AWS Lambda के साथ Serverless Applications

Preparing Video For Download...