Мазмұны:

AWS және IBM: IoT қызметтерін салыстыру: 4 қадам
AWS және IBM: IoT қызметтерін салыстыру: 4 қадам

Бейне: AWS және IBM: IoT қызметтерін салыстыру: 4 қадам

Бейне: AWS және IBM: IoT қызметтерін салыстыру: 4 қадам
Бейне: Top 10 IoT Platforms 2024, Қараша
Anonim
AWS және IBM: IoT қызметтерін салыстыру
AWS және IBM: IoT қызметтерін салыстыру

Бүгін біз әртүрлі сервистік ұсыныстар тұрғысынан IoT қосымшаларын әзірлеуге мүмкіндік беретін екі стекті салыстырамыз.

1 -қадам: қызмет ретінде жұмыс істейді

Қызмет ретінде атқаратын қызметтері
Қызмет ретінде атқаратын қызметтері

FaaS - бұл «серверсіз» архитектураны құру үшін қолданылатын бұлтты қызметтердің категориясы. FaaS тұтынушыларға инфрақұрылымды құрмай және сақтамай -ақ қосымшаның функцияларын дамытуға, іске қосуға және басқаруға мүмкіндік береді.

Amazon AWS Lambda ұсынады, IBM IBM Cloud Functions ұсынады. Бұл қызметтер бір -біріне өте ұқсас, бірақ Lambda мұндай қызметтің біріншісі болды. FaaS көмегімен бұлтты код бөліктерін іске қосуға болады және әр қызмет әртүрлі бағдарламалау тілдерін қолдайды.

IBM бұлт функциялары: JavaScript, Swift, Java, Go, Php, Python, Ruby,. NET (C# F# және т.б.), кез келген Docker AWS Lambda арқылы: JavaScript, Java, C#, F#, Go, Python, Ruby, PowerShell, Any Runtime API арқылы

IBM қосымша тілдерді қолдайды және докер көмегімен басқа тілдерде жазылған сценарийлерді пайдалану оңай. Мұны Lambda көмегімен де жасауға болады, бірақ бұл бірден емес. Мысалды мына жерден оқи аласыз:

Екі қызметте де пайдалану шектеулері бар, біз оларды кестеде көрсетеміз және ең жақсысын бөліп көрсетеміз.

Баға AWS Lambda сұраныстарының санын қосқанда секундына GigaBytes -ке (ЖЖҚ) негізделген. Әр қызметтің ақысыз жоспары бар және олар эквивалентті. Көріп отырғаныңыздай, Lambda GB/s үшін біршама арзанырақ, бірақ бұлтты функциялардың сұраныстарына байланысты шығындар бар, сондықтан олардың бағасы шамамен бірдей. Әрине, егер сізге жадты жейтін және бірнеше сұранысты қолданатын тапсырмаларды орындау қажет болса, Lambda пайдалану керек. IBM Cloud Function негізгі артықшылығы, біздің ойымызша, оның стегі ашық көзі болып табылады. Ол толығымен Apache OpenWhisk -ке негізделген және оны жеке инфрақұрылымға орналастыруға болады.

2 -қадам: Машиналық оқыту

Машиналық оқыту
Машиналық оқыту

IBM және AWS стектері ұқсас қызметтерді ұсынатын өріс - бұл машиналық оқыту: Amazon өзінің SageMaker және IBM Watson Machine Learning көмегімен. Екі қызмет те көп жағынан өте ұқсас: екеуі де өздерін ғалымдар мен әзірлеушілерге машиналық оқыту модельдерін құруға, үйретуге, содан кейін өндіріске дайын ортаға енгізуге көмектесетін құрал ретінде көрсетеді, бірақ екі компанияның философиялары біршама өзгереді. Екі қызмет те сіз қолданатын модельдерді басқарудың әр түрлі дәрежесін таңдауға мүмкіндік береді. Watson ML-де сізде белгілі бір тапсырмаларды орындауға үйретілген бірнеше кіріктірілген модельдер бар: мысалы, егер сіз суретте қандай объектілер бар екенін білгіңіз келсе, сіз VisualRecognitionV3 моделін импорттап, оған суретті жібересіз. талдағысы келеді. Сіз сондай -ақ «реттелетін модельді» құра аласыз, бірақ Watson ML -де бұл бұрыннан бар модельді алуды және оған біздің тренингті жүргізуді білдіреді, сондықтан баптау өте шектеулі. Айта кету керек, SageMaker де, Watson ML де әзірлеушілердің үймесінде машиналық оқытудың жалғыз әдісі емес, олар әзірлеушілердің өмірін жеңілдетуге бағытталған қызметтер. Watson ML платформасы сонымен қатар ең танымал машиналық оқыту кітапханаларын қолдайды, сондықтан сіз модельді нөлден бастап PyTorch, Tensorflow немесе ұқсас кітапханалармен құра аласыз. Сіз бұл кітапханаларды тікелей қолданасыз немесе алдын ала жасалған модельдерді қолданасыз, орта жол жоқ. Сондай -ақ, Watson ML Amazon -ның Apache MXNet таңдаулы кітапханасын қолдамайды, оның орнына SageMaker -де бірінші класты қолдау бар.

Amazon SageMaker-дің тәсілі, тіпті кіріктірілген опцияларды қолданған кезде де, біршама төмен деңгей: алдын ала дайындалған модельдерді таңдаудан гөрі, ол сізге бұрыннан енгізілген оқу алгоритмдерін таңдауға мүмкіндік береді. модель дәстүрлі түрде. Егер бұл жеткіліксіз болса, сіз өзіңіздің жеке алгоритміңізді пайдалана аласыз. Бұл жұмыс әдісі, әрине, Watson ML -де дайындалған модельді қолданумен салыстырғанда, машиналық оқытудың қалай жасалатыны туралы көбірек білімді қажет етеді.

Бір қарағанда, Watson ML - бұл «қарапайым және жылдам» әдіс болып көрінуі мүмкін, Amazon SageMaker - бұл орнатудың ең күрделі әдісі. Бұл кейбір көзқарастар бойынша мүлдем дұрыс болмауы мүмкін, өйткені SageMaker бәрін Jupyter жазу кітапшасында іске қосуға арналған, ал Watson ML-дегі бірдей мүмкіндіктер үшін веб-интерфейстен көптеген қосалқы қызметтерді орнату қажет. Деректерді алдын ала өңдеуде сонымен қатар IBM қызметінде арнайы бос орындар бар, ал SageMaker мұны сіздің жазу кітапшаңыздағы код бойынша жасауға сенеді. Бұған қоса, Jupyter ноутбуктері бағдарламалық қамтамасыз ету тұрғысынан ең жақсы таңдау емес, бұл SageMaker өндірісінде өте жақсы масштабтауға кедергі келтіруі мүмкін. Екі қызметте де сіздің модельді орналастырудың және оған сыртқы әлемде қол жетімді API жасаудың өте жақсы және қарапайым тетіктері бар.

Қорытындылай келе, Watson ML Jupyter ноутбуктері өз шектеулерін көрсете бастайтын үлкен жобаларда жақсы жұмыс істейді, және модельдің өзі үшін сізге көп баптау қажет емес. SageMaker сізге алгоритмдерді анықтауға икемділік қажет болған кезде әлдеқайда жақсы болады, бірақ оны пайдалану кезінде өндірісте жақсы емес Jupyter ноутбуктеріне сүйену керек екенін ескеру қажет. Шешім кодтың қалған бөлігін модельден ажырату болуы мүмкін, осылайша нақты ноутбуктердегі код тым үлкен болмайды және біз бағдарламалық жасақтаманы біздің модельдің API -ін қолданатын басқа модульдерде жақсы ұйымдастыра аламыз..

3 -қадам: Деректер ағыны және талдау

Деректер ағыны және талдау
Деректер ағыны және талдау

Деректерді тасымалдау қызметтері нақты уақытта үлкен көлемдегі ағындарды өңдеу мен талдау үшін өте маңызды. Бұл ағын бұлттан пайдаланушылардың құрылғысына, мысалы, бейне ағыны немесе пайдаланушылардан бұлтқа, мысалы, IoT телеметриясы мен сенсордың көрсеткіштері болуы мүмкін. Әсіресе, екінші жағдайда, бізде бір көздер аз мөлшерде деректерді жүктейтін жағдай болуы мүмкін, бірақ біз барлық құрылғыдан келетін жалпы өткізу қабілеттілігін ескере отырып, ол өткізу қабілеттілігін едәуір көп тұтынады, сондықтан оларды өңдеуге мамандандырылған қызметті пайдалану орынды. мәліметтер ағыны. Бұл үздіксіз ағынмен тікелей жұмыс жасамай, бізге кіретін ақпаратты уақытша қоймаға буферлеуге және екінші рет оны қандай да бір есептеу машинасымен өңдеуге тура келеді. Бұл соңғы тәсілдің мәселесі мынада, біз бір ғана деректер ағыны қызметіне қол жеткізу үшін әр түрлі қызметтерді үйлестіруіміз керек, бұл қосымшаның күтімі мен конфигурациясының күрделілігін арттырады. Бұған қоса, буферлеу біздің қосымшаны нақты уақыт режимінде жасай алмайды, өйткені өңделетін элемент үшін оның алдындағы барлық басқа элементтер өңделуі қажет және буферге басымдылық саясаты қосылуы мүмкін., күрделілігін күрт арттырады. Қорытындылай келе, деректер ағыны қызметтері нақты уақыт режимінде жеңіл конфигурациямен деректерді басқаруды ұсынады және кіретін деректер бойынша аналитиканы қамтамасыз ете алады. Мұнда біз IBM және AWS стектерінің екі негізгі ағындық қызметтерін, яғни IBM Streams және AWS Kinesis салыстырамыз.

Біз ағындық қызметтен қажет болуы мүмкін барлық негізгі мүмкіндіктерді IBM мен AWS ұсынатынын ескере отырып бастаймыз. Бұл мүмкіндіктерге іс жүзінде шексіз өңдеу жылдамдығы, төмен кідіріс және нақты уақыттағы аналитика кіреді. Біз кәсіби қызметтер туралы айтып отырғандықтан, олардың екеуі де орналастыруға және автоматтандыруға арналған өндірістік деңгейдегі құралдарды ұсынады.

Деректер талдауы туралы айтатын болсақ, екі қызмет те оны қосымша ретінде ұсынады, бұл сізге қажет немесе қажет емес жағдайда ғана төлеуге мүмкіндік береді. Кинезис жағдайында, сізге аналитика қажет емес, тек деректер ағынын өңдеу қажет болған кезде, бағалар IBM жағдайындағыдай өңдеу уақытының орнына өңделген ГБ үшін алынады. ГБ үшін баға әдетте бір уақыттағы бағадан төмен болады, өйткені сіз тек кіріс трафигі үшін төлейсіз. Осы жазбаның қалған бөлігінде біз IBM Streams және AWS Kinesis екеуін де деректерді талдау мүмкіндігі қосылған күйде қарастырамыз.

Ағындар мен Kinesis кіретін деректерді алдын ала өңдеу мен сүзгілеу үшін әр түрлі қызметтермен интеграциялауды қамтамасыз етеді, оларды сәйкесінше Apache Edgent және AWS Lambda. Бұл қызметтер бір -бірінен түбегейлі ерекшеленсе де, біз оларды тек екі ағындық қызмет тұрғысынан талқылайтын боламыз. Екеуінің негізгі айырмашылығы - Apache Edgent құрылғыда, ал AWS Lambda бұлтта жұмыс істейді. Бұл көптеген артықшылықтар мен кемшіліктерді әкеледі: Lambda жағынан бізде Kinesis-пен үздіксіз интеграцияланған икемді және қолдануға ыңғайлы қызмет бар, бірақ бұл деректерді бұлтқа жүктеуді талап етеді, осылайша Kinesis-тің тиімділігін жоғалтады. ақырында жойылатын деректер үшін. Edgent жағынан, бізде бұлтқа пайдасыз деректерді жүктеместен бұрын, есептеулердің көп бөлігі желінің шетінде (осылайша құрылғыларда) жасалады. Негізгі кемшілігі Edgent - бұл үлкен рамка, оны орнатуға уақыт қажет болуы мүмкін және оны күтіп ұстау күрделі болуы мүмкін. Платформаны таңдауда маңызды болатын тағы бір айырмашылық Edgent - бұл толықтай ашық, Lambda емес. Мұны кәсіпқой ретінде де қарастыруға болады, өйткені сіз немесе сіздің клиентіңіз орындайтын кодқа қол жеткізу әрқашан жағымды нәрсе, екеуі де қате ретінде, себебі сізге жедел қолдау қажет болатын жағдайлар болуы мүмкін. барлық ашық бастапқы орталар.

Біз айта алатын басқа мүмкіндіктер-Kinesis-тің бөлінген ресурстардың автоматты түрде масштабталуы. Шынында да, ол ұсынатын аппараттық құрал параллель жұмыс істейтін Kinesis өңдеу қондырғыларынан (KPU) тұрады, онда бір KPU 1 vCore және 4GB RAM ұсынады. Олардың саны қосымшаның қажеттіліктеріне байланысты және динамикалық және автоматты түрде бөлінеді (сіз төлейтін нәрсе - бұл процессордың KPU санынан көп уақыт), егер сіз Java пайдалансаңыз, сізге бір KPU -ны көбірек зарядтау Kinesis саясаты екенін ұмытпаңыз. қолдану. IBM Streams, керісінше, мұндай икемділікті қамтамасыз етпейді, сізге бекітілген жабдықтары бар контейнерді ұсынады, біз баға туралы айтқан кезде толығырақ. Екінші жағынан, IBM Streams Kinesis -ке қарағанда әлдеқайда ашық, себебі ол WAN -мен HTTP, MQTT және т.б. сияқты қарапайым протоколдар арқылы байланысады, ал Kinesis AWS экожүйесіне жабық.

Соңғы салыстыру ретінде баға туралы сөйлесейік және IBM бұл тұрғыда жақсы жұмыс жасамайтынын айтайын. Біз IBM үшін де, AWS үшін де үш түрлі категорияға (негізгі, жоғары деңгейлі, өте жоғары) әр түрлі шешімдерді конфигурацияладық және біз олардың бағасын салыстыратын боламыз. Негізгі конфигурацияда бізде бір аппараттық құралмен IBM шешіміне қарсы бұрын айтылған бір AWS КПУ бар. Жоғары деңгей үшін бізде Kinesis үшін параллель 8 KPU және IBM үшін әрқашан 2 контейнер бар, олардың әрқайсысында 4 vCores және 12 ГБ жедел жады бар. Әрқашан IBM өте жоғары деңгейдегі 16 vCores және 128 ГБ жедел жады бар бір контейнерді ұсынады, ал біз AWS үшін эквивалентті шешімді жіберіп алмадық, себебі егер кейбір қосымшаларға осындай үлкен көлемдегі ЖЖҚ қажет болса, оны әр түрлі KPU-да іске қосу мүмкін емес еді.. Біз хабарлаған бағалар тәулік бойы қолдануды ескере отырып, $/аймен көрсетілген. Негізгі конфигурация үшін бізде IBM және AWS үшін сәйкесінше 164 $ және 490 $, жоғары деңгейлі 1320 $ және 3500 $ үшін, өте жоғары деңгейдегі AWS үшін қарастырылмайды және тек 6300 $ бар IBM бар. Бұл нәтижелерден біз Kinesis күнделікті пайдаланушы үшін кәсіпорын деңгейіне дейін жақсы жұмыс істейтінін көре аламыз, ал үлкен көлемдегі есептеу қуатын қажет ететін деректер аналитикасын тікелей басқаруға мүмкіндіктер жоқ. Kinesis IBM Streams -ке қарағанда жақсы өнімділік/$ қатынасын қамтамасыз етеді, сонымен қатар қажет болған жағдайда ғана шағын ресурстық блоктарды динамикалық бөлуге көмектеседі, ал IBM сізге тұрақты контейнер ұсынады. Осылайша, егер сіздің жұмыс жүктемеңіз шыңдармен сипатталса, IBM көмегімен сіз өзіңіздің қосымшаның қажеттіліктерін асыра бағалауға және ең нашар жағдайда шешімді конфигурациялауға мәжбүр боласыз. IBM толық айды төлеудің орнына сағаттық төлемдерді ұсынады, бірақ ол Kinesis ретінде автоматтандырылмаған.

4 -қадам: IoT архитектурасы

IoT архитектурасы
IoT архитектурасы

Ibs watson iot -пен салыстырғанда aws iot құрылғыларының конфигурациясы өте оңай. Себебі ibm watson iot жүйесінде аутентификация токені бар құрылғыға сәйкес келеді және ол таңбаны көрсеткеннен кейін ол ешқашан көрсетілмейді. Ibm Watson Iot бағасының тағы бір бөлігіне келу aws iot -пен салыстырғанда қымбатқа түседі. Осылайша, ibm Watson iot төлемдерінің бағасы бір құрылғыға, деректерді сақтауға, деректер трафигіне негізделген. Бірақ біз бұл соманы бір рет төлей аламыз, және біз басқа құрылғылар мен құрылғыларда жарияланған және құрылғыларға жеткізілетін деректерді қосамыз.

Құрылғыңыздан бастаңыз- сенсор, шлюз немесе басқа нәрсе- және сізге бұлтпен қосылуға көмектесейік.

Ашық, жеңіл MGTT хабар алмасу протоколы немесе HTTP көмегімен бұлтқа қосылған кезде сіздің құрылғыңыздың деректері әрқашан қауіпсіз болады. Протоколдар мен қызыл-қызыл түйіндердің көмегімен біз өз құрылғымызды iot платформасымен байланыстыра аламыз және тірі және тарихи деректерге қол жеткізе аламыз.

Қолданбаларыңызды құрылғылардағы деректермен байланыстыру үшін біздің қауіпсіз API -ді қолданыңыз.

Деректерді түсіндіру үшін біздің бұлтты қызметімізде қосымшалар жасаңыз.

Ұсынылған: