Cloud & IT Cert Prep · पाठ

Azure Container Apps

Dapr साइडकार एकीकरण के साथ माइक्रोसर्विस अनुप्रयोग को Azure Container Apps पर परिनियोजित करें, इनग्रे़स कॉन्फ़िगर करें और Service Bus क्यू की गहराई से सक्रिय KEDA-आधारित स्वचालित स्केलिंग का उपयोग करें।

पाठ 3, कुल 4 में से13 चरण

Azure Container Apps, CoddyKit पर Cloud & IT Cert Prep का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cloud & IT Cert Prep सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

Azure Container Apps क्या हैं?

Azure Container Apps (ACA) कुबेरनेट्स और KEDA (Kubernetes Event-Driven Autoscaling) पर निर्मित पूरी तरह प्रबंधित सर्वरलेस कंटेनर होस्टिंग सेवा है। AKS के विपरीत, आपको सीधे नियंत्रण तल, नोड पूल या कुबेरनेट्स मैनिफ़ेस्ट प्रबंधित नहीं करने पड़ते। इसके बजाय, आप सरल CLI या YAML परिभाषा का उपयोग करके कंटेनर तैनात करते हैं और Azure पूरे ऑर्केस्ट्रेशन को संभालता है। ACA माइक्रोसर्विस, API बैकएंड, घटना-आधारित कार्यकर्ता और पृष्ठभूमि संसाधन कार्यों के लिए आदर्श है, जिन्हें गतिशील रूप से स्केल करने की आवश्यकता होती है, जिसमें शून्य तक स्केल करना भी शामिल है।

Container Apps परिवेश

Container Apps परिवेश वह पृथक सीमा है जिसके भीतर एक या अधिक Container Apps चलते हैं। किसी परिवेश के सभी ऐप एक ही वर्चुअल नेटवर्क और Log Analytics कार्यक्षेत्र साझा करते हैं। परिवेश किसी क्षेत्र और संसाधन समूह तक सीमित होते हैं। टीमों या चरणों (उत्पादन बनाम स्टेजिंग) के बीच अलगाव के लिए आप कई परिवेश तैनात कर सकते हैं। सार्वजनिक इंटरनेट से गुज़रे बिना Container Apps और अन्य Azure सेवाओं के बीच निजी संचार की अनुमति देने के लिए किसी परिवेश को वैकल्पिक रूप से आपके अपने वर्चुअल नेटवर्क में VNet-इंजेक्ट किया जा सकता है।

# Create a Container Apps environment
az containerapp env create \
  --name myACAEnvironment \
  --resource-group myRG \
  --location eastus

Container App तैनात करना

Container App तैनात करने के लिए आप कंटेनर इमेज (Azure Container Registry या किसी सार्वजनिक रजिस्ट्री से), प्रतिकृतियों की संख्या और परिवेश चर निर्दिष्ट करते हैं। यदि आप बाहरी इनग्रेशन सक्षम करते हैं, तो ऐप अपने-आप बनाए गए HTTPS URL के माध्यम से सार्वजनिक रूप से उपलब्ध होता है। इनग्रेशन कॉन्फ़िगरेशन में लक्षित पोर्ट, ब्लू-ग्रीन परिनियोजन के लिए ट्रैफ़िक विभाजन और केवल HTTP या HTTPS की अनुमति देने का विकल्प शामिल होता है। ACA तैनाती के समय इमेज खींचता है; परिवेश के पास रजिस्ट्री से खींचने की अनुमतियाँ होनी चाहिए।

# Deploy a container app from Azure Container Registry
az containerapp create \
  --name myapi \
  --resource-group myRG \
  --environment myACAEnvironment \
  --image myacr.azurecr.io/myapi:latest \
  --target-port 8080 \
  --ingress external \
  --registry-server myacr.azurecr.io \
  --min-replicas 1 \
  --max-replicas 10

KEDA-आधारित ऑटोस्केलिंग

Container Apps KEDA स्केलर का उपयोग करके स्केल करता है, जो बाहरी मेट्रिक्स के आधार पर सक्रिय होते हैं। अंतर्निहित KEDA स्केलर में शामिल हैं: HTTP ट्रैफ़िक (प्रति प्रतिकृति समवर्ती अनुरोध), Azure Service Bus कतार की गहराई (प्रतीक्षा कर रहे संदेश), Azure Storage Queue, Cron (समय-आधारित), और CPU/Memory। जब स्केलर मेट्रिक शून्य हो जाता है और minReplicas का मान 0 होता है, तो Container Apps शून्य तक स्केल हो जाता है — नए अनुरोध आने तक कोई कंप्यूट लागत नहीं लगती। कभी-कभार आने वाले कार्यभार वाले घटना-आधारित कार्यकर्ताओं के लिए शून्य तक स्केल करना बहुत उपयोगी है।

# Scale based on Service Bus queue depth
az containerapp update \
  --name myworker \
  --resource-group myRG \
  --scale-rule-name sbqueue-scaler \
  --scale-rule-type azure-servicebus \
  --scale-rule-metadata 'queueName=orders' 'namespace=myservicebusns' 'messageCount=5' \
  --scale-rule-auth 'connection=servicebus-connection-secret:connection' \
  --min-replicas 0 \
  --max-replicas 20

Dapr एकीकरण

Dapr (Distributed Application Runtime) एक पोर्टेबल, घटना-आधारित रनटाइम है जो माइक्रोसर्विस बनाना सरल करता है। Container Apps में मूल Dapr एकीकरण उपलब्ध है — आप इसे प्रत्येक ऐप के लिए एक ही फ़्लैग से सक्षम करते हैं। Dapr निम्नलिखित के लिए निर्माण खंड उपलब्ध कराता है: सेवा आह्वान (पुनः प्रयास और mTLS के साथ), प्रकाशित/सदस्यता संदेश-व्यवस्था (Service Bus और Event Hubs को अमूर्त बनाना), स्थिति प्रबंधन (Redis और Cosmos DB को अमूर्त बनाना), और आउटपुट बाइंडिंग। Dapr के साथ, माइक्रोसर्विस अंतर्निहित अवसंरचना के विवरण जाने बिना Dapr साइडकार के माध्यम से संचार करती हैं।

# Enable Dapr on a Container App
az containerapp update \
  --name myapi \
  --resource-group myRG \
  --enable-dapr \
  --dapr-app-id myapi \
  --dapr-app-port 8080 \
  --dapr-app-protocol http

संशोधन और ट्रैफ़िक विभाजन

Container App पर की गई प्रत्येक तैनाती एक नया संशोधन बनाती है। बहु-संशोधन मोड में, आप ब्लू-ग्रीन या कैनरी परिनियोजन के लिए संशोधनों के बीच ट्रैफ़िक बाँट सकते हैं। उदाहरण के लिए, नए संशोधन को 10% ट्रैफ़िक और वर्तमान स्थिर संशोधन को 90% ट्रैफ़िक भेजें। नए संशोधन पर त्रुटि दर और विलंबता की निगरानी करें, फिर उसके ट्रैफ़िक भार को 100% तक बढ़ाएँ। पुराने संशोधनों को निष्क्रिय किया जा सकता है, लेकिन वे इतिहास में सुरक्षित रहते हैं, जिससे ट्रैफ़िक भार वापस बदलकर तुरंत रोलबैक किया जा सकता है।

# Set traffic split between two revisions
az containerapp ingress traffic set \
  --name myapi \
  --resource-group myRG \
  --revision-weight myapi--abc123=90 myapi--def456=10

गुप्त मान और परिवेश चर

Container Apps कॉन्फ़िगरेशन डालने के दो तरीके समर्थित करता है: परिवेश चर (फ़ीचर फ़्लैग या API URL जैसे गैर-संवेदनशील कॉन्फ़िगरेशन के लिए) और गुप्त मान (कनेक्शन स्ट्रिंग जैसे संवेदनशील मानों के लिए)। गुप्त मान Container App स्तर पर संग्रहीत किए जाते हैं और परिवेश चर या Dapr घटकों द्वारा संदर्भित किए जाते हैं। सबसे सुरक्षित सेटअप के लिए, प्रबंधित पहचान का उपयोग करके Azure Key Vault से गुप्त मानों का संदर्भ लें, ताकि गुप्त मान रनटाइम पर प्राप्त हो और Container App के कॉन्फ़िगरेशन तल में कभी संग्रहीत न हो।

# Add a secret to a Container App
az containerapp secret set \
  --name myapi \
  --resource-group myRG \
  --secrets 'db-password=supersecretpassword'

# Reference the secret as an environment variable
az containerapp update \
  --name myapi \
  --resource-group myRG \
  --set-env-vars 'DB_PASSWORD=secretref:db-password'

जॉब: पूरा होकर समाप्त होने वाले कार्यभार

Container Apps Jobs प्लेटफ़ॉर्म का विस्तार करके पूरा होकर समाप्त होने वाले कार्यभारों का समर्थन करते हैं—ऐसे कंटेनर जो शुरू होते हैं, काम करते हैं और बाहर निकल जाते हैं। जॉब तीन प्रकार के ट्रिगर का समर्थन करते हैं: Manual (API या CLI के ज़रिए ट्रिगर किए गए), Scheduled (क्रॉन अभिव्यक्ति के आधार पर), और Event-driven (KEDA स्केलर हर निष्पादन को ट्रिगर करता है)। जॉब के लिए केवल वास्तविक निष्पादन समय का शुल्क लिया जाता है और वे बैच संसाधन, रिपोर्ट निर्माण, डेटाबेस माइग्रेशन तथा समय-समय पर या घटनाओं के प्रत्युत्तर में चलने वाले ML अनुमान पाइपलाइन के लिए आदर्श हैं।

# Create a scheduled Container Apps job (run every hour)
az containerapp job create \
  --name my-batch-job \
  --resource-group myRG \
  --environment myACAEnvironment \
  --trigger-type Schedule \
  --cron-expression '0 * * * *' \
  --image myacr.azurecr.io/batchjob:latest \
  --cpu 0.5 --memory 1Gi

निगरानी क्षमता: लॉग और मेट्रिक्स

Container Apps सिस्टम लॉग (प्लेटफ़ॉर्म की घटनाएँ, जैसे रिविज़न बनना और स्केलिंग) और कंसोल लॉग (आपके अनुप्रयोग का stdout/stderr) पर्यावरण से जुड़े Log Analytics कार्यक्षेत्र में भेजता है। KQL से लॉग की क्वेरी करें: ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'myapi' | project TimeGenerated, Log_s। अंतर्निहित एज़्योर मॉनिटर मेट्रिक्स में प्रत्येक र replिका के लिए र replिका संख्या, अनुरोध संख्या, अनुरोध विलंबता और CPU/मेमोरी उपयोग शामिल हैं—ये सभी बिना किसी अतिरिक्त कॉन्फ़िगरेशन के एज़्योर पोर्टल में उपलब्ध होते हैं।

# Stream live logs from a Container App
az containerapp logs show \
  --name myapi \
  --resource-group myRG \
  --follow

ACA बनाम AKS बनाम App Service

सही एज़्योर कंटेनर प्लेटफ़ॉर्म चुनना: Container Apps माइक्रोसर्विस, घटना-आधारित वर्कर और API के लिए सबसे उपयुक्त है, जब आप क्लस्टर का प्रबंधन किए बिना Kubernetes के लाभ चाहते हैं—विशेषकर तब, जब शून्य तक स्केल करना उपयोगी हो। AKS तब सबसे उपयुक्त है, जब आपको Kubernetes पर पूरा नियंत्रण, कस्टम ऑपरेटर या विशिष्ट नोड कॉन्फ़िगरेशन (GPU, अधिक मेमोरी) चाहिए। App Service पारंपरिक वेब अनुप्रयोगों और API के लिए सबसे उपयुक्त है, जब डेवलपर टीम कंटेनर प्रबंधन के अतिरिक्त बोझ के बिना सरल PaaS मॉडल पसंद करती है। तीनों कंटेनरों का समर्थन करते हैं; अंतर प्रबंधन की जटिलता और नियंत्रण के बीच है।

नेटवर्किंग: आंतरिक और बाहरी इनग्रेस

Container Apps दो इनग्रेस मोड का समर्थन करता है: External (स्वचालित TLS वाले लोड-संतुलित HTTPS एंडपॉइंट के ज़रिए सार्वजनिक रूप से उपलब्ध) और Internal (केवल उसी Container Apps पर्यावरण के भीतर या VNet से जुड़े संसाधनों से उपलब्ध)। आंतरिक इनग्रेस का उपयोग उन बैकएंड सेवाओं के लिए किया जाता है जिन्हें इंटरनेट पर कभी उजागर नहीं किया जाना चाहिए। एक ही पर्यावरण में अनुप्रयोग स्वचालित रूप से बनाए गए आंतरिक DNS नाम http://myapi का उपयोग करके एक-दूसरे को कॉल कर सकते हैं। इससे API गेटवे तैनात किए बिना सेवाओं के बीच सरल संचार संभव होता है।

त्वरित जाँच

इस पाठ में दिए गए Microsoft एज़्योर Fundamentals (AZ-900) के सिद्धांतों की अपनी समझ जाँचें।

पाठ का पुनरावलोकन

इस पाठ में आपने सीखा: Azure Container Apps Kubernetes और KEDA पर आधारित सर्वररहित कंटेनर होस्टिंग प्रदान करता है, जिसमें क्लस्टर प्रबंधन की आवश्यकता नहीं होती; KEDA scalers कतार की गहराई, HTTP ट्रैफ़िक या क्रॉन शेड्यूल के आधार पर शून्य तक स्केल करना सक्षम करते हैं; और Dapr integration माइक्रोसर्विसों के बीच संचार तथा स्थिति प्रबंधन को सरल बनाता है। आगे हम इन सभी को एक संपूर्ण, आरंभ से अंत तक के डेवलपर कार्यप्रवाह में जोड़ेंगे।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Cloud & IT Cert Prep सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
150
पाठ
600

अक्सर पूछे जाने वाले प्रश्न

क्या “Azure Container Apps” पाठ निःशुल्क है?

हाँ—“Azure Container Apps” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cloud & IT Cert Prep पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Azure Container Apps” में मैं क्या सीखूँगा?

Dapr साइडकार एकीकरण के साथ माइक्रोसर्विस अनुप्रयोग को Azure Container Apps पर परिनियोजित करें, इनग्रे़स कॉन्फ़िगर करें और Service Bus क्यू की गहराई से सक्रिय KEDA-आधारित स्वचालित स्केलिंग का उपयोग कर… आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cloud & IT Cert Prep का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Cloud & IT Cert Prep शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cloud & IT Cert Prep शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“Azure Container Apps” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Cloud & IT Cert Prep पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Cloud & IT Cert Prep पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. पासवर्ड-रहित प्रमाणीकरण के लिए प्रबंधित पहचान
  2. अलग किए गए संदेशों के लिए Azure Service Bus
  3. Azure Container Apps
  4. डेवलपर का आरंभ से अंत तक कार्यप्रवाह
← Cloud & IT Cert Prep पर वापस जाएँ