विषयसूची:

AWS और IBM: एक IoT सेवा तुलना: 4 कदम
AWS और IBM: एक IoT सेवा तुलना: 4 कदम

वीडियो: AWS और IBM: एक IoT सेवा तुलना: 4 कदम

वीडियो: AWS और IBM: एक IoT सेवा तुलना: 4 कदम
वीडियो: Сравнение протоколов TCP и UDP 2024, जुलाई
Anonim
AWS और IBM: एक IoT सेवा तुलना
AWS और IBM: एक IoT सेवा तुलना

आज हम दो स्टैक की तुलना कर रहे हैं जो विभिन्न सेवा प्रस्तावों के दृष्टिकोण से IoT अनुप्रयोगों को विकसित करना संभव बनाता है।

चरण 1: एक सेवा के रूप में कार्य

एक सेवा के रूप में कार्य
एक सेवा के रूप में कार्य

FaaS क्लाउड सेवाओं की एक श्रेणी है जिसका उपयोग "सर्वर रहित" आर्किटेक्चर बनाने के लिए किया जाता है। FaaS ग्राहकों को बुनियादी ढांचे के निर्माण और रखरखाव के बिना एप्लिकेशन कार्यात्मकताओं को विकसित करने, चलाने और प्रबंधित करने की अनुमति देता है।

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

आईबीएम क्लाउड फ़ंक्शंस: जावास्क्रिप्ट, स्विफ्ट, जावा, गो, पीएचपी, पायथन, रूबी,. NET (सी # एफ # आदि), डॉकर एडब्ल्यूएस लैम्ब्डा के माध्यम से कोई भी: जावास्क्रिप्ट, जावा, सी #, एफ #, गो, पायथन, रूबी, पावरशेल, कोई भी रनटाइम एपीआई के माध्यम से

आईबीएम अधिक भाषाओं का समर्थन करता है और डॉकर के साथ अन्य भाषाओं में लिखी गई लिपियों का उपयोग करना आसान है। यह लैम्ब्डा के साथ भी किया जा सकता है लेकिन यह तत्काल नहीं है। आप यहां एक उदाहरण पढ़ सकते हैं:

दोनों सेवाओं की उपयोग सीमाएँ हैं, हम उन्हें एक तालिका में रिपोर्ट करते हैं और सर्वोत्तम को हाइलाइट करते हैं।

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

चरण 2: मशीन लर्निंग

मशीन लर्निंग
मशीन लर्निंग

एक ऐसा क्षेत्र जहां आईबीएम और एडब्ल्यूएस स्टैक समान सेवाएं प्रदान करते हैं, वह है मशीन लर्निंग: अमेज़ॅन अपने सेजमेकर के साथ और आईबीएम वाटसन मशीन लर्निंग के साथ। दोनों सेवाएं कई पहलुओं पर बहुत समान हैं: दोनों डेटा वैज्ञानिकों और डेवलपर्स को अपने मशीन लर्निंग मॉडल बनाने, प्रशिक्षित करने और फिर उत्पादन के लिए तैयार वातावरण में तैनात करने में मदद करने के लिए उपकरण के रूप में प्रस्तुत करते हैं, लेकिन दोनों कंपनियों द्वारा अपनाए जाने वाले दर्शन काफी भिन्न होते हैं। दोनों सेवाएं आपको आपके द्वारा उपयोग किए जाने वाले मॉडलों पर नियंत्रण के विभिन्न स्तरों के बीच चयन करने देती हैं। वाटसन एमएल में, आपके पास कुछ अंतर्निर्मित मॉडल हैं जो पहले से ही कुछ बहुत विशिष्ट कार्यों को करने के लिए प्रशिक्षित हैं: उदाहरण के लिए, यदि आप यह पहचानना चाहते हैं कि किसी चित्र में कौन सी वस्तुएं मौजूद हैं तो आप केवल VisualRecognitionV3 मॉडल आयात करें और उस चित्र को पास करें जिसे आप विश्लेषण करना चाहते हैं। आप एक "कस्टम मॉडल" भी बना सकते हैं, लेकिन वाटसन एमएल में इसका मतलब ज्यादातर पहले से निर्मित मॉडल लेना और उस पर हमारा प्रशिक्षण करना है, इसलिए अनुकूलन काफी सीमित है। हालांकि यह ध्यान रखना महत्वपूर्ण है कि न तो सेजमेकर और न ही वाटसन एमएल अपने डेवलपर्स के ढेर पर मशीन सीखने का एकमात्र तरीका है, वे केवल डेवलपर्स के जीवन को आसान बनाने के उद्देश्य से सेवाएं हैं। वाटसन एमएल प्लेटफॉर्म कई सबसे लोकप्रिय मशीन लर्निंग लाइब्रेरी का भी समर्थन करता है, इसलिए आप PyTorch, Tensorflow या इसी तरह की लाइब्रेरी के साथ स्क्रैच से एक मॉडल भी बना सकते हैं। आप या तो सीधे उन पुस्तकालयों का उपयोग करते हैं, या पूर्व-निर्मित मॉडल का उपयोग करते हैं, कोई बीच का रास्ता नहीं है। इसके अलावा वाटसन एमएल अमेज़ॅन की पसंद पुस्तकालय, अपाचे एमएक्सनेट का समर्थन नहीं करता है, जिसके बजाय सेजमेकर में प्रथम श्रेणी का समर्थन है।

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

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

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

चरण 3: डेटा स्ट्रीमिंग और एनालिटिक्स

डेटा स्ट्रीमिंग और एनालिटिक्स
डेटा स्ट्रीमिंग और एनालिटिक्स

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

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

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

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

अन्य विशेषताएं जिनका हम उल्लेख कर सकते हैं, वह है किनेसिस की आवंटित संसाधनों की ऑटो-स्केलेबिलिटी। वास्तव में, यह जो हार्डवेयर प्रदान करता है, वह समानांतर में चलने वाली कई तथाकथित किनेसिस प्रोसेसिंग यूनिट्स (KPUs) द्वारा रचित है, जहाँ एक KPU 1 vCore और 4GB RAM प्रदान करता है। उनकी संख्या एप्लिकेशन की जरूरतों पर निर्भर करती है और गतिशील रूप से और स्वचालित रूप से आवंटित की जाती है (आप जो भुगतान करते हैं वह वास्तव में केपीयू की संख्या का सीपीयू समय है), बस याद रखें कि यदि आप जावा का उपयोग करते हैं तो आपको एक केपीयू अधिक चार्ज करने के लिए यह एक किनेसिस नीति है। आवेदन। आईबीएम स्ट्रीम, इसके बजाय, इस तरह का लचीलापन प्रदान नहीं करता है, आपको निश्चित हार्डवेयर के साथ एक कंटेनर की पेशकश करता है, जब हम मूल्य निर्धारण के बारे में बात करते हैं तो अधिक विवरण। दूसरी ओर, IBM Streams Kinesis की तुलना में अधिक खुला है, क्योंकि यह WAN के लिए HTTP, MQTT और इसी तरह के सामान्य प्रोटोकॉल के माध्यम से इंटरफेस करता है, जबकि Kinesis AWS पारिस्थितिकी तंत्र के लिए बंद है।

अंतिम तुलना के रूप में मूल्य निर्धारण के बारे में बात करते हैं, और मुझे बता दें कि आईबीएम इस बिंदु पर बहुत अच्छा काम नहीं करता है। हमने आईबीएम और एडब्ल्यूएस दोनों के लिए तीन अलग-अलग श्रेणियों (बेसिक, हाई-एंड, अल्ट्रा-हाई-एंड) के लिए अलग-अलग समाधान कॉन्फ़िगर किए हैं, और हम उनकी कीमत की तुलना करने जा रहे हैं। बुनियादी विन्यास में हमारे पास एक एडब्ल्यूएस केपीयू है, जिसका पहले उल्लेख किया गया है, एक ही हार्डवेयर के साथ एक आईबीएम समाधान के खिलाफ। हाई-एंड के लिए हमारे पास 8 केपीयू चल रहे हैं जो किनेसिस के समानांतर हैं और 2 कंटेनर हमेशा आईबीएम के समानांतर हैं, प्रत्येक में 4 vCores और 12GB RAM है। आईबीएम हमेशा 16 vCores और 128GB RAM के साथ अल्ट्रा-हाई-एंड सिंगल कंटेनर की पेशकश करता है, जबकि हमने AWS के लिए एक समान समाधान को छोड़ दिया है, क्योंकि अगर किसी एप्लिकेशन को इतनी बड़ी मात्रा में RAM की आवश्यकता होती है, तो इसे विभिन्न KPU पर चलाना संभव नहीं हो सकता है।. हमारे द्वारा रिपोर्ट की जाने वाली कीमतें 24/7 उपयोग पर विचार करते हुए $/माह में व्यक्त की जाती हैं। बुनियादी विन्यास के लिए हमारे पास आईबीएम और एडब्ल्यूएस के लिए क्रमशः १६४ डॉलर और ४९० डॉलर, उच्च अंत १३२० डॉलर और ३५०० डॉलर के लिए, अल्ट्रा-हाई-एंड एडब्ल्यूएस के लिए विचार नहीं किया जाता है और ६३०० डॉलर के साथ केवल आईबीएम है। इन परिणामों से हम देख सकते हैं कि काइनिस रोज़मर्रा के उपयोगकर्ता के लिए उद्यम स्तर तक बेहतर काम करता है, जबकि डेटा एनालिटिक्स को सीधे संभालने के लिए विकल्पों की कमी होती है जिसके लिए भारी मात्रा में कंप्यूटिंग शक्ति की आवश्यकता होती है। किनेसिस आईबीएम स्ट्रीम की तुलना में बेहतर प्रदर्शन/$ अनुपात प्रदान करता है, केवल जरूरत पड़ने पर छोटे संसाधन ब्लॉकों के गतिशील आवंटन से भी मदद करता है, जबकि आईबीएम आपको एक निश्चित कंटेनर प्रदान करता है। इस तरह, यदि आपके कार्यभार को शिखर की विशेषता है, तो आईबीएम के साथ आपको अपनी आवेदन आवश्यकताओं को कम करने और सबसे खराब स्थिति में समाधान को कॉन्फ़िगर करने के लिए मजबूर किया जाता है। आईबीएम पूरे महीने का भुगतान करने के बजाय घंटों की फीस प्रदान करता है, लेकिन यह किनेसिस के रूप में स्वचालित नहीं है।

चरण 4: IoT आर्किटेक्चर

IoT आर्किटेक्चर
IoT आर्किटेक्चर

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

अपने डिवाइस से शुरू करें- चाहे वह सेंसर हो, गेटवे हो, या कुछ और- और हम आपको क्लाउड से कनेक्ट करने में मदद करते हैं।

जब आप खुले, हल्के MGTT मैसेजिंग प्रोटोकॉल या HTTP का उपयोग करके क्लाउड से कनेक्ट होते हैं तो आपका डिवाइस डेटा हमेशा सुरक्षित रहता है। प्रोटोकॉल और नोड-रेड की मदद से हम अपने डिवाइस को आईओटी प्लेटफॉर्म से जोड़ सकते हैं और लाइव और ऐतिहासिक डेटा तक पहुंच सकते हैं।

अपने ऐप्स को अपने डिवाइस के डेटा से जोड़ने के लिए हमारे सुरक्षित API का उपयोग करें।

डेटा की व्याख्या करने के लिए हमारी दी गई क्लाउड सेवा के भीतर एप्लिकेशन बनाएं।

सिफारिश की: