Azure Webjobs बनाम Azure फ़ंक्शंस: कैसे चुनें


163

मैंने कुछ Azure Webjobs बनाए हैं जो ट्रिगर का उपयोग करते हैं और मैंने अभी Azure फ़ंक्शंस के बारे में सीखा है ।

एज़्योर फ़ंक्शंस के साथ जो मैं समझता हूं कि एज़्योर फ़ंक्शंस के साथ ओवरलैप लगता है और फंक्शन और वेबजॉब के बीच चयन करने में मुझे कुछ कठिनाई होती है:

  • Webjobs के विपरीत, कार्यों को केवल ट्रिगर किया जा सकता है, इसे निरंतर प्रक्रिया चलाने के लिए डिज़ाइन नहीं किया गया है (लेकिन आप एक निरंतर फ़ंक्शन बनाने के लिए कोड लिख सकते हैं)।

  • आप कई भाषाओं (C #, node.js, python ...) का उपयोग करके Webjobs और फ़ंक्शन लिख सकते हैं, लेकिन आप अपने फ़ंक्शन को Azure पोर्टल से लिख सकते हैं ताकि परीक्षण विकसित करना और फ़ंक्शन को तैनात करना आसान और त्वरित हो।

  • Webjobs ऐप सेवा वेब ऐप, एपीआई ऐप या मोबाइल ऐप के संदर्भ में पृष्ठभूमि प्रक्रियाओं के रूप में चलते हैं जबकि फ़ंक्शंस क्लासिक / डायनेमिक ऐप सेवा योजना का उपयोग करके चलते हैं।

  • स्केलिंग के बारे में, फ़ंक्शंस अधिक संभावनाएं देता है क्योंकि आप एक डायनेमिक ऐप सेवा योजना का उपयोग कर सकते हैं और आप एकल फ़ंक्शन को स्केल कर सकते हैं जबकि वेबजॉब के लिए आपको पूरे वेब ऐप को स्केल करना होगा।

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

क्या आपको चुनने की आवश्यकता होने पर कोई अन्य विचार रखना है?


6
यह एक ब्लॉग पोस्ट है जिसका मैं बकाया हूं। :) मैं एक प्रतिक्रिया तैयार करने की कोशिश करूंगा, लेकिन यह स्टैक ओवरफ्लो के लिए थोड़ा सा समाप्त हो सकता है, इसलिए आपको एमएसडीएन पर यह पूछने की आवश्यकता हो सकती है कि क्या यह बंद हो जाता है।
क्रिस एंडरसन-एमएसएफटी

इस विषय पर नाइस (लघु) ब्लॉग पोस्ट geekswithblogs.net/tmurphy/archive/2016/06/02/…
टोड

हे टोड, लिंक जोड़ने के लिए मेरे प्रश्न को संपादित करने के लिए स्वतंत्र महसूस करें। दिलचस्प लेख ^^
थॉमस

@ क्रिस-एंडरसन- msft क्या हम पावरजेल को वेबजॉब के रूप में चला सकते हैं? क्या हम Webjob पर PowerShell पैकेज स्थापित कर सकते हैं?
अनोमपनी

जवाबों:


170

ऐप सेवा के भीतर यहां कुछ विकल्प हैं। मैं लॉजिक ऐप्स या एज़्योर ऑटोमेशन पर टच नहीं करूंगा, जो इस स्पेस को भी छूते हैं।

एज़्योर वेबजॉब्स

यह लेख ईमानदारी से सबसे अच्छा स्पष्टीकरण है, लेकिन मैं यहां संक्षेप में बताऊंगा।

डिमांड वेबजॉब्स उर्फ ​​पर। अनुसूचित वेबजॉब्स उर्फ। ट्रिगर वेबजॉब्स

ट्रिगर किए गए वेबजॉब्स वे वेबजॉब्स हैं जो एक बार चलाए जाते हैं जब एक यूआरएल कहा जाता है या जब शेड्यूल प्रॉपर्टी शेड्यूल.जॉब में मौजूद होती है । शेड्यूल किए गए वेबजॉब्स सिर्फ वे वेबजॉब्स हैं जिनके पास एक Azure शेड्यूलर जॉब है जो हमारे URL को शेड्यूल पर कॉल करने के लिए बनाया गया है, लेकिन हम शेड्यूल प्रॉपर्टी का भी समर्थन करते हैं, जैसा कि पहले बताया गया है।

सारांश:

  • + मांग पर निष्पादन योग्य / स्क्रिप्ट
  • + अनुसूचित निष्पादन
  • - .Scm एंडपॉइंट के माध्यम से ट्रिगर करना है
  • - स्केलिंग मैनुअल है
  • - वीएम की हमेशा आवश्यकता होती है

सतत वेबजॉब्स (गैर एसडीके)

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

सारांश:

  • + निष्पादन योग्य / स्क्रिप्ट हमेशा चल रही है
  • - हमेशा की आवश्यकता है - मूल स्तर और ऊपर
  • - वीएम की हमेशा आवश्यकता होती है

वेबजॉब्स एसडीके के साथ लगातार वेबजॉब्स

ये "वेबजॉब्स द फीचर" के दृष्टिकोण से कुछ भी नहीं हैं। अनिवार्य रूप से, हमारे पास यह मीठा एसडीके है जिसे हमने वेबजॉब्स को लक्षित करते हुए लिखा था जो आपको सरल ट्रिगर्स के आधार पर कोड निष्पादित करने देता है। मैं इस बारे में बाद में बात करूंगा।

सारांश:

  • + निष्पादन योग्य / स्क्रिप्ट हमेशा चल रही है
  • + अमीर लॉगिंग / डैशबोर्ड
  • + लंबे समय से चल रहे कार्यों के साथ ट्रिगर का समर्थन किया
  • - हमेशा की आवश्यकता है - मूल स्तर और ऊपर
  • - स्केलिंग सेट अप करने के लिए मैनुअल है
  • - शुरुआत करना थोड़ा थकाऊ हो सकता है
  • - वीएम की हमेशा आवश्यकता होती है

Azure WebJobs एसडीके

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

एसडीके बस कुछ घटना के लिए प्रतिक्रिया में कुछ कोड चलाने और सेवाओं / आदि के लिए बाध्यकारी बनाने के बारे में है। आसान। यह ईमानदारी से कुछ डॉक्स में कवर किया गया है , लेकिन इसका दिल यह है कि "ईवेंट" + "कोड" प्रकृति। हमने कुछ शांत एक्सटेंसिबिलिटी का काम भी किया है, लेकिन यह मूल उद्देश्य से माध्यमिक है।

सारांश:

  • इनमें से अधिकांश उपर्युक्त हैं
  • +आप जो चाहें बढ़ा सकते हैं और चला सकते हैं। पूर्ण नियंत्रण।
  • - HTTP सामान थोड़ा विस्की है, लेकिन यह काम करता है

एज़्योर फ़ंक्शंस

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

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

हालांकि, कार्य को बेहतर बनाने के लिए हमने "फ्रेमवर्क" के अधिकांश कार्य वेबजॉब्स एसडीके के माध्यम से किए हैं, हालांकि। उदाहरण के लिए, हम WebJobs के लिए एक नया NuGet अपलोड करेंगे, जो वास्तव में लॉगिंग की गति को बहुत बढ़ाता है, जिससे WebJobs SDK उपयोगकर्ताओं के लिए बहुत बढ़िया लाभ हैं। "वेबजॉब्स एसडीके इन ए सर्विस" के रूप में शिपिंग कार्यों में हमने वास्तव में बहुत सारे अनुभव के मुद्दों में सुधार किया है।

  • + भाषाओं का बहुत समर्थन किया
  • + पूरी तरह से प्रबंधित, गतिशील स्केलिंग
  • + कनेक्शन / आदि के प्रबंधन के लिए पोर्टल w / UX का उपयोग करना आसान है।
  • - होस्ट करने योग्य नहीं (अभी तक)
  • ~ एक अलग "ऐप" में चलता है जिसे आपके रेपो में कुछ कॉन्फ़िगरेशन की आवश्यकता होती है, लेकिन दीर्घकालिक रखरखाव को बहुत आसान बना देता है।
  • ~ कोई टूलींग (अभी तक) कुछ टूलींग अब अल्फा या पूर्वावलोकन में नहीं है - https://www.npmjs.com/package/azurefunctions (अद्यतन फरवरी 2017: Azure फ़ंक्शंस के लिए विजुअल स्टूडियो टूल्स अब पूर्वावलोकन में उपलब्ध हैं: https: //blogs.msnn .microsoft.com / webdev / 2016/12/01 / दृश्य-स्टूडियो-उपकरण-के लिए azure-functions / )

मैं शायद पक्षपाती हूं क्योंकि फंक्शंस हमारे नवीनतम और महानतम हैं, लेकिन फंक्शंस के लिए अधिक कॉन्शस तरीके से शूट करने के लिए स्वतंत्र महसूस करते हैं।

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


1
सुनने में अच्छा है। अगर आपको कोई प्रश्न पूछना हो तो मुझे ट्विटर (@crandycodes) पर DM करें। यदि आप चाहें, तो Azure.com पर आपके नमूनों को प्राप्त करने में आपकी सहायता कर सकते हैं, यदि आप उन्हें साझा करना चाहते हैं।
क्रिस एंडरसन-एमएसएफटी

1
मैं देख सकता था कि उपयोगी होने के नाते। मुझे पता है कि सर्वर से सर्वर रहित एप्लिकेशन पैटर्न में संक्रमण करने के तरीके पर चर्चा करने के लिए बहुत जगह है। उस तरह का लगता है जो आपने अभी वर्णित किया है।
क्रिस एंडरसन-एमएसएफटी

1
मूल रूप से, हम आपका कोड और कॉन्फ़िगरेशन लेते हैं और कवर्स के नीचे एक WebJob SDK फ़ंक्शन (इसलिए नाम Azure Functions) बनाते हैं। तो आपका कोड WebJob SDK फ़ंक्शन के अंदर चल रहा है जिसे हम आपके लिए प्रबंधित कर रहे हैं।
क्रिस एंडरसन-एमएसएफटी

1
हर फंक्शन ऐप में 1 होस्ट है (जिसे आप वेबजोब के रूप में सोच सकते हैं)। एक फ़ंक्शन ऐप के भीतर आपके कार्य एक फ़ाइल सिस्टम, ऐप सेटिंग्स, मेमोरी, सीपीयू, आदि साझा करते हैं। एक नया प्रश्न पूछने के लिए स्वतंत्र महसूस करें।
क्रिस एंडरसन-एमएसएफटी

2
हाँ। टाइमर ट्रिगर। क्रोन एक्सप्रेशन ऑफ़ {0 * / 30 * * * *} azure.microsoft.com/en-us/documentation/articles/…
क्रिस एंडरसन-

17

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

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

आउटपुट के संबंध में , एकमात्र अंतर यह है कि फ़ंक्शन HTTP के माध्यम से कॉल करने पर प्रतिक्रिया वापस कर सकता है।

दोनों कई प्रकार की भाषाओं का समर्थन करते हैं , जिनमें शामिल हैं: bash (.sh), बैच (.bat / .cmd), C #, F #, Node.Js, PHP, PowerShell और Python।

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

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

दोनों के बीच एक अधिक विस्तृत तुलना यहाँ: https://blog.kloud.com.au/2016/09/14/azure-functions-or-webjobs/

HTH :)


आपके उत्तर के लिए धन्यवाद पाको! यह तुलना बहुत सारे व्यक्तियों को रुचि दे सकती है :-) लेकिन मैं तुलना की तलाश में नहीं था, लेकिन बस यह समझने की कोशिश कर रहा था कि मुझे वेबर के बजाय फ़ंक्शंस के साथ कब जाना चाहिए!
थॉमस

6
संदर्भ को जाने बिना स्पष्ट कट मार्गदर्शन करना कठिन है। इसीलिए मेरा मानना ​​है कि तुलना करने से लोगों को चुनने में मदद मिल सकती है :) मैं कहूंगा कि if (((preference == "Serverless") || (isRequired(flexibleHttpTriggers)) && (isOk(currentFunctionsTooling))) { goWithFunctions(); } else { continueWIthWebJobs(); } :) :
पाको डे ला क्रूज़

HTTP.But फ़ंक्शंस WebJobs SDK पर आधारित हैं, जब फ़ंक्शंस प्रतिक्रिया दे सकते हैं। अजीब है, है ना?
रुडिको

संभवतः यह कहना बेहतर होगा कि वे वेबजॉब्स एसडीके पर आधारित थे , लेकिन वे वहां से काफी विकसित हुए हैं :)
पाको डे ला क्रूज़

14

डॉक्स के अनुसार एज़्योर फ़ंक्शंस में निम्नलिखित हैं जो WebJobs नहीं करते हैं:

  • स्वचालित स्केलिंग (सीपीयू और मेमोरी को रनटाइम पर निर्धारित जरूरतों के अनुसार बढ़ाया जाता है)
  • भुगतान-प्रति-उपयोग मूल्य-निर्धारण (उपभोग सेवा योजना के बजाय ऐप सेवा योजना)
  • अधिक ट्रिगर ईवेंट (जैसे WebHooks)
  • ब्राउज़र विकास (दृश्य स्टूडियो अभी भी संभव है)
  • एफ # समर्थन

सीधे शब्दों में कहें: एज़्योर फ़ंक्शंस सबसे नया जानवर है। यदि आपके पास पहले से कोई ऐप सेवा योजना नहीं है, तो मैं फंक्शंस के साथ जाऊंगा क्योंकि लंबे समय के लिए मुझे कोई कारण नहीं दिखता कि WebJobs के साथ शुरुआत करना बेहतर होगा (फ़ंक्शंस टूलिंग पहले से ही स्थिर नहीं हो सकता है)।


14

मैं उपरोक्त लंबी और छोटी पुरानी पोस्टों में दो और बिंदु जोड़ना चाहूंगा। यदि आप azure फ़ंक्शंस में उपभोग योजना चुनते हैं, तो नीचे सीमाएं हैं

यदि आप 10 मिनट से अधिक कोई भी कार्य चलाना चाहते हैं, तो वेबपृष्ठ चुनें। Azure फ़ंक्शंस, डिफ़ॉल्ट रूप से केवल 5 मिनट के लिए चलता है , यदि आपकी प्रक्रिया 5 मिनट से अधिक है, तो azure फ़ंक्शन टाइमआउट अपवाद फेंकता है। आप host.json में टाइमआउट को 10 मिनट तक बढ़ा सकते हैं ।

नोट: यदि आप ऐप सेवा योजना azure फ़ंक्शंस का उपयोग कर रहे हैं तो कोई टाइमआउट समस्या नहीं है।

भेद करने का दूसरा कारण है। यदि आप azure फ़ंक्शन का उपयोग करते हैं, तो आपका प्रारंभिक प्रारंभ समय धीमा होगा क्योंकि मशीनों (कंटेनरों) को मक्खी पर बनाया जाता है और इसका उपयोग करने के बाद नष्ट हो जाता है।

ठंड की शुरुआत से बचने के लिए, azure फंक्शन ऐप ने प्रीमियम प्लान जारी किया है, जहां हर समय एक इंस्टेंस चल रहा होगा और लोड के आधार पर फंक्शन ऐप की स्केलिंग शुरू हो जाएगी और आपको उपभोग के आधार पर एक इंस्टेंस और अन्य इंस्टेंस के लिए बिल भेजा जाएगा।


आपका पहला बिंदु केवल लागू होता है आप उपभोग योजना का उपयोग कर रहे हैं, एक भुगतान किए गए स्कू के साथ आपके पास कोई टाइमआउट सीमा नहीं है। मैं दूसरे बिंदु से सहमत हूं।
थॉमस

मुझे लगता है कि दोनों बिंदु उपभोग योजना के लिए मान्य हैं। इसे इंगित करने के लिए धन्यवाद
कार्तिकेयन वीके

4
टाइमआउट का महान उल्लेख। हमारे लिए यह एक महत्वपूर्ण कारक है
नील्स फ़िल्टर

1
लेकिन आप azure फ़ंक्शंस बनाते समय appservice प्लान चुन सकते हैं। लेकिन यह पूरे उद्देश्य को हरा देता है
कार्तिकेयन वीके

1
@ कार्तिकेयनवीके, मुझे यकीन नहीं है कि यह अभी भी सटीक है क्योंकि फ़ंक्शन रनटाइम वी 2 10 से अधिक मिनट की अनुमति देता है?
थॉमस

6

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

यदि आपको पूरी तरह से कुछ चाहिए जो "मुफ्त" के लिए चलता है (जैसा कि आपने अपने वेब ऐप के लिए पहले से भुगतान किया है तो कोई अतिरिक्त लागत नहीं) तो आपके पास दो विकल्प हैं:

  1. Webjobs - आपके मौजूदा वेब ऐप के साथ तैनात है और आपके वेब ऐप के समान संसाधनों का उपयोग करता है। Webjobs का उपयोग करने के लिए कोई अतिरिक्त मौद्रिक लागत नहीं है, लेकिन कुछ सीमाएं हैं जैसा कि पहले ही उल्लेख किया गया है कि आपके वेब ऐप पर प्रदर्शन लागत हो सकती है।
  2. कार्य - खपत योजना का उपयोग करते समय, आपको एक निश्चित मात्रा में मुफ्त निष्पादन आवंटित किया जाता है। इस लेखन के समय की संख्या वास्तव में काफी अधिक है, 1 मिलियन मुक्त निष्पादन। हालांकि, 1 मिलियन निष्पादन सीमा वह सीमा नहीं है जो आपको परेशानी देने की संभावना है; यह 400K GB-s (गीगाबाइट सेकंड) है। यह मूल रूप से आपके द्वारा उपयोग किए जाने वाले सेकंड की संख्या से गुणा की गई मेमोरी की मात्रा का एक गणना है ( मूल्य निर्धारण पृष्ठ पर आधिकारिक गणना देखें )। आप आश्चर्यचकित होंगे कि यह मुफ्त आवंटन कितनी जल्दी उपयोग हो जाता है।

यदि आप लागतों के बारे में चिंतित हैं, लेकिन किसी भी कीमत पर सीमित नहीं हैं , तो आपके पास अधिक विकल्प उपलब्ध हैं।

  1. कार्य - आप उपभोग योजना या अपेक्षाकृत सस्ती कीमत के लिए ऐप सेवा योजना में चला सकते हैं। हालांकि, ध्यान रखें कि जीबी-एस बिलिंग मॉडल। यदि आप उपभोग योजना का उपयोग कर रहे हैं और लगातार, "भारी" काम कर रहे हैं - तो आप एक बड़े बिल से आश्चर्यचकित हो सकते हैं।
  2. क्लाउड सर्विसेज - इस विकल्प के विकल्प के रूप में चर्चा नहीं की गई है, मुख्य रूप से क्योंकि ओपी ने इसके बारे में नहीं पूछा। लेकिन यह एक व्यवहार्य विकल्प भी है। क्लाउड सेवाएं अंततः क्लाउड में चलने वाली VM ही होती हैं, ताकि आप उन पर जो भी बैकग्राउंड जॉब की जरूरत हो, उसे चला सकें और वे बहुत अच्छी तरह से ऊपर / नीचे स्केल करें (हालांकि आपको निष्पादन के लिए अपने ट्रिगर्स को वायर करना होगा, webjobs / फ़ंक्शन की तुलना में थोड़ी असुविधा )। उनके साथ अधिक प्रारंभिक लागत जुड़ी हुई है (क्योंकि आप प्रति उदाहरण भुगतान करते हैं कि आप इसका उपयोग करते हैं या नहीं) लेकिन अगर आपके पास ऐसी नौकरियां हैं जो लगातार चलाने की जरूरत है और "भारी" लिफ्टिंग कर रहे हैं, तो क्लाउड सेवाएं बेहतर विकल्प हो सकती हैं क्योंकि मेरी राय में, निष्पादन और गीगाबाइट सेकंड की तुलना में एक निश्चित मूल्य वाले वीएम को प्रबंधित / मॉनिटर करना आसान है।

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


1
उत्तर के लिए धन्यवाद @ डैन :-) मैं कहूंगा कि क्लाउड सेवा अभी भी अच्छी है लेकिन मैं वेबजॉब और फ़ंक्शंस की तुलना करने के बारे में सोच रहा था क्योंकि वे एक ही कोर एसडीके और 2 साल पहले साझा करते हैं, मैं वास्तव में सर्वर रहित के उद्देश्य को नहीं समझता था :-)
थॉमस

3

एक प्रमुख विचार यह है कि Azure फ़ंक्शंस ने संस्करण 1 के बाद पूर्ण .NET फ्रेमवर्क का समर्थन करना छोड़ दिया, जिसे v2.0 के साथ बंद कर दिया गया था, और जो अब पूर्वावलोकन v3.0 में बदल नहीं जाएगा। 😔

इस बीच, इस मजबूत सशस्त्र दृष्टिकोण को आभारपूर्वक लागू नहीं किया गया - अभी तक - एज़्योर वेबजॉब्स को :

WebJobs SDK का संस्करण 3.x .NET .NET और .NET फ्रेमवर्क कंसोल ऐप दोनों का समर्थन करता है।


हां अच्छी बात है। यहां तक ​​कि अब से, लोगों को नेट कोर का उपयोग करने की कोशिश करनी चाहिए जितना वे कर सकते हैं।
थॉमस

0

मैं यह बताना चाहूंगा कि AppService और WebJobsKK के शीर्ष पर दो Azure कार्यों के बीच समानताएं और अंतर क्या हैं । WebJobs SDK आपको खेलने के लिए अधिक स्वतंत्रता देगा जबकि डेवलपर्स के लिए Azure फ़ंक्शन कम जिम्मेदारियों के साथ अधिक संरचित हैं।

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

मतभेद

|-----------------------|------------------|
|      Functions        |     Web Jobs     |
|-----------------------|------------------|
|Can support HTTP       | Can't support HTTP
|                       |  requests        |
|-----------------------|------------------|
|Supports a variety of  | Traditional .NET |
|languages/tools        | developer        |
|                       | experience       |
|-----------------------|------------------|
|Bindings are configured| Config files are |
|using attributes       | used             |
|-----------------------|------------------|
|Scale is managed by    | Scale is managed |
|Azure                  | by user          |
|-----------------------|------------------|
|Limited control over   |Host can be       |
|host                   |controlled by user|
--------------------------------------------

यहां छवि विवरण दर्ज करें

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