Mundarija:

AWS va IBM: IoT xizmatlarini taqqoslash: 4 qadam
AWS va IBM: IoT xizmatlarini taqqoslash: 4 qadam

Video: AWS va IBM: IoT xizmatlarini taqqoslash: 4 qadam

Video: AWS va IBM: IoT xizmatlarini taqqoslash: 4 qadam
Video: What is a Server? Servers vs Desktops Explained 2024, Dekabr
Anonim
AWS va IBM: IoT xizmatlarini taqqoslash
AWS va IBM: IoT xizmatlarini taqqoslash

Bugun biz har xil xizmat takliflari nuqtai nazaridan IoT dasturlarini ishlab chiqishga imkon beradigan ikkita to'plamni taqqoslaymiz.

1 -qadam: Xizmat vazifalari

Xizmat vazifalari
Xizmat vazifalari

FaaS - bu "serversiz" arxitekturani yaratish uchun ishlatiladigan bulutli xizmatlar toifasi. FaaS mijozlarga infratuzilmani yaratmasdan va saqlamasdan dastur funktsiyalarini ishlab chiqish, ishga tushirish va boshqarish imkonini beradi.

Amazon AWS Lambda -ni, IBM esa IBM Cloud Functions -ni taklif qiladi. Bu xizmatlar bir -biriga juda o'xshash, ammo Lambda bu turdagi birinchi xizmat edi. FaaS -dan foydalanib siz bulutda kod qismlarini ishga tushirishingiz mumkin va har bir xizmat turli xil dasturlash tillarini qo'llab -quvvatlaydi.

IBM bulutli funktsiyalari: JavaScript, Swift, Java, Go, Php, Python, Ruby,. NET (C# F# va boshqalar), Docker AWS Lambda orqali har qanday: JavaScript, Java, C#, F#, Go, Python, Ruby, PowerShell, Any Runtime API orqali

IBM ko'proq tillarni qo'llab -quvvatlaydi va docker yordamida boshqa tillarda yozilgan skriptlardan foydalanish oson. Buni Lambda bilan ham qilish mumkin, lekin bu darhol emas. Misolni bu erda o'qishingiz mumkin:

Har ikkala xizmatda ham foydalanish chegaralari bor, biz ularni jadvalda ko'rsatamiz va eng yaxshisini ajratib ko'rsatamiz.

Narx AWS Lambda uchun so'rovlar sonini qo'shgan holda, sekundiga GigaBaytga (RAM) asoslangan. Har bir xizmat bepul rejaga ega va ular deyarli tengdir. Ko'rib turganingizdek, Lambda GB/s uchun biroz arzonroq, lekin u Cloud Functions talablari bilan bog'liq xarajatlarni o'z ichiga oladi, shuning uchun ularning narxi deyarli bir xil. Albatta, agar siz xotirani iste'mol qiladigan va bir nechta so'rovlarni bajaradigan vazifalarni bajarishingiz kerak bo'lsa, siz Lambda -dan foydalanishingiz kerak. IBM Cloud Function -ning asosiy afzalligi, bizning fikrimizcha, uning to'plami ochiq manba hisoblanadi. U to'liq Apache OpenWhisk -ga asoslangan va uni xususiy infratuzilmaga joylashtirish mumkin.

2 -qadam: Mashinani o'rganish

Mashinani o'rganish
Mashinani o'rganish

IBM va AWS to'plamlari shunga o'xshash xizmatlarni taklif qiladigan maydon - bu mashinani o'rganish: Amazon o'zining SageMaker va IBM bilan Watson Machine Learning. Ikkala xizmat ham ko'p jihatdan bir -biriga juda o'xshash: ikkalasi ham o'zlarini ma'lumot olimlari va ishlab chiquvchilarga mashinani o'rganish modellarini ishlab chiqarishga, o'rgatishga va ishlab chiqarishga joylashtirishga yordam beradigan vosita sifatida ko'rsatishadi, lekin bu ikki kompaniyaning falsafasi bir -biridan farq qiladi. Ikkala xizmat ham siz foydalanadigan modellarni nazorat qilishning turli darajalarini tanlash imkonini beradi. Watson ML-da sizda juda aniq vazifalarni bajarishga o'rgatilgan o'rnatilgan modellar mavjud: masalan, rasmda qanday ob'ektlar borligini bilishni istasangiz, VisualRecognitionV3 modelini import qilasiz va unga rasmingizni berasiz. tahlil qilmoqchiman. Siz "maxsus model" ni ham qurishingiz mumkin, lekin Watson ML -da bu asosan qurilgan modelni olish va u bilan mashg'ulotlar o'tkazish demakdir, shuning uchun sozlash juda cheklangan. Shuni e'tiborga olish kerakki, na SageMaker, na Watson ML o'z ishlab chiqaruvchilarining ustaxonalarida mashinani o'rganishning yagona usuli emas, ular faqat ishlab chiqaruvchilar hayotini osonlashtirishga qaratilgan xizmatlardir. Watson ML platformasi, shuningdek, eng mashhur mashinasozlik kutubxonalarini qo'llab -quvvatlaydi, shuning uchun siz hatto PyTorch, Tensorflow yoki shunga o'xshash kutubxonalar yordamida noldan model yaratishingiz mumkin. Siz kutubxonalarni to'g'ridan-to'g'ri ishlatasiz yoki oldindan tayyorlangan modellardan foydalanasiz, bu erda hech qanday asos yo'q. Bundan tashqari, Watson ML Amazon -ning Apache MXNet kutubxonasini qo'llab -quvvatlamaydi, uning o'rniga SageMaker -da birinchi darajali qo'llab -quvvatlanadi.

Amazon SageMaker-ning yondashuvi, hatto o'rnatilgan variantlardan foydalanganda ham, biroz pastroq: siz oldindan tayyorlangan modellarni tanlashdan ko'ra, siz allaqachon o'rnatilgan o'quv algoritmlarini tanlashingiz mumkin. yanada an'anaviy usulda model. Agar bu etarli bo'lmasa, siz o'zingizning algoritmingizdan foydalanishingiz mumkin. Vatson MLda o'qitilgan modelni ishlatish bilan solishtirganda, bu ishni bajarish usuli, albatta, mashinani o'rganish qanday amalga oshirilishi haqida ko'proq ma'lumotni talab qiladi.

Bir qarashda, Watson ML - bu "oson va tezkor" usul bo'lib tuyulishi mumkin, Amazon SageMaker - bu o'rnatishning eng murakkab usuli. Bu ba'zi nuqtai nazardan mutlaqo to'g'ri bo'lmasligi mumkin, chunki SageMaker hamma narsani Jupyter daftarchasida ishlashi uchun tuzilgan, Watson ML-da xuddi shu xususiyatlar uchun siz veb-interfeysdan turli xil qo'shimcha xizmatlarni o'rnatishingiz kerak bo'ladi. Ma'lumotni oldindan qayta ishlashda IBM xizmatida alohida bo'sh joylar mavjud, SageMaker esa bularning barchasini daftaringizdagi koddan bajaradi. Bundan tashqari, Jupyter noutbuklari dasturiy injiniring nuqtai nazaridan eng yaxshi tanlov emasligi, SageMaker -ni ishlab chiqarishda juda yaxshi kengayishiga to'sqinlik qilishi mumkin. Ikkala xizmatda ham sizning modelingizni joylashtirish va API -larni tashqi dunyoda mavjud qilish uchun juda yaxshi va oddiy mexanizmlar mavjud.

Xulosa qilib aytganda, Watson ML Jupyter noutbuklari o'z chegaralarini ko'rsata boshlagan ulkan loyihalarda yaxshiroq ishlaydi va bu erda modelning o'zi nima qilishini sozlashning hojati yo'q. Agar siz algoritmlarni aniqlashda ko'proq moslashuvchanlikka muhtoj bo'lsangiz, SageMaker ancha yaxshi bo'ladi, lekin uni ishlatishda siz ishlab chiqarishda unchalik yaxshi bo'lmasligi mumkin bo'lgan Jupyter noutbuklariga tayanishingiz kerakligini hisobga olishingiz kerak. Qolgan kodni modeldan ajratish mumkin, shuning uchun haqiqiy daftarlardagi kod juda katta bo'lmaydi va biz o'z dasturiy ta'minotimizni faqat bizning API API -ni ishlatadigan boshqa modullarda yaxshiroq tashkil qila olamiz..

3 -qadam: Ma'lumot uzatish va tahlil

Ma'lumot uzatish va tahlil
Ma'lumot uzatish va tahlil

Ma'lumot uzatish xizmatlari ma'lumotlarning katta oqimini real vaqt rejimida boshqarish va tahlil qilishda hal qiluvchi ahamiyatga ega. Bu oqim bulutdan foydalanuvchilar qurilmasiga, masalan, video oqimi yoki foydalanuvchilardan bulutga, masalan, IoT telemetriyasi va sensor o'qishlari bo'lishi mumkin. Ayniqsa, ikkinchi holatda, bizda yagona manbalar kichik hajmdagi ma'lumotlarni yuklaydigan vaziyat bo'lishi mumkin, lekin biz barcha qurilmalardan keladigan umumiy o'tkazuvchanlikni hisobga olsak, u katta tarmoqli kengligini sarflaydi, shuning uchun bunday ma'lumotlarni boshqarish uchun maxsus xizmatdan foydalanish mantiqan to'g'ri keladi. ma'lumotlar oqimi. Bu uzluksiz oqimni to'g'ridan -to'g'ri ishlatmasdan, biz kiruvchi ma'lumotni vaqtincha saqlashga saqlashimiz va ikkinchi marta ba'zi hisoblash dvigateli bilan qayta ishlashimiz kerak bo'ladi. Bu oxirgi yondashuvning muammosi shundaki, biz bitta ma'lumot uzatish xizmatining o'zi bajaradigan ishlarga erishish uchun turli xil xizmatlarni muvofiqlashtirishimiz kerak bo'ladi, bu esa dasturni saqlash va sozlashning murakkabligini oshiradi. Bunga qo'shimcha ravishda, buferlash, qoida tariqasida, bizning ilovamizni real vaqt rejimida o'chirib qo'yishi mumkin, chunki ob'ekt qayta ishlanishi uchun boshqa barcha elementlar ham qayta ishlanishi kerak va buferga ustuvorlik siyosati qo'shilishi mumkin., murakkabligini keskin oshiring. Xulosa qilib aytganda, ma'lumotlarni uzatish xizmatlari ma'lumotlar oqimini real vaqtda, oson konfiguratsiya bilan boshqarishni taklif qiladi va kiruvchi ma'lumotlar bo'yicha tahlillarni taqdim etishi mumkin. Bu erda biz IBM va AWS to'plamining ikkita asosiy oqim xizmatlarini taqqoslaymiz, ya'ni IBM Streams va AWS Kinesis.

Biz shuni ta'kidlashdan boshlaymizki, oqim xizmatidan biz xohlagan barcha asosiy xususiyatlar IBM va AWS tomonidan taqdim etiladi. Bu xususiyatlarga deyarli cheksiz ishlov berish tezligi, past kechikish va real vaqtda ma'lumotlarni tahlil qilish kiradi. Biz professional xizmatlar haqida gapirayotganimiz uchun, ikkalasi ham ishlab chiqarish darajasidagi uskunalarni joylashtirish va avtomatlashtirishni taklif qiladi.

Ma'lumotlar tahlili haqida gapiradigan bo'lsak, ikkala xizmat ham ixtiyoriy ravishda taklif qiladi, bu sizga kerak yoki kerak emasligidan qat'i nazar to'lashga imkon beradi. Kinesis holatida, agar siz tahlilga muhtoj bo'lmasangiz, faqat ma'lumotlar oqimini qayta ishlashda, narxlar IBM misolida bo'lgani kabi, ishlov berish vaqti o'rniga qayta ishlangan GB uchun olinadi. Gb uchun narxlash, odatda, bir vaqtning narxiga qaraganda arzonroq bo'ladi, chunki siz faqat kiruvchi trafik uchun to'laysiz. Ushbu xabarning qolgan qismida biz IBM Streams va AWS Kinesis -ni ma'lumotlarni tahlil qilish funktsiyasi yoqilgan holda ko'rib chiqamiz.

Oqim va Kinesis kiruvchi ma'lumotlarni Apache Edgent va AWS Lambda bilan ma'lumotlarni tahlil qilishdan oldin ularni oldindan qayta ishlash va filtrlash bo'yicha turli xizmatlar bilan integratsiyani ta'minlaydi. Bu xizmatlar bir -biridan tubdan farq qilsa -da, biz ularni faqat ikkita oqim xizmati nuqtai nazaridan muhokama qilamiz. Ularning orasidagi asosiy farq shundaki, Apache Edgent qurilmada, AWS Lambda esa bulutda ishlaydi. Bu juda ko'p ijobiy va salbiy tomonlarini keltiradi: Lambda tomondan bizda Kinesis bilan uzluksiz integratsiyalashgan moslashuvchan va ishlatish uchun qulay xizmat mavjud, lekin u ma'lumotlarni bulutga yuklashni talab qiladi, shuning uchun ham Kinesisning samaradorligi va to'lovini yo'qotadi. oxir -oqibat yo'q qilinadigan ma'lumotlar uchun. Buning o'rniga Edgent tomondan, biz hisoblashning ko'p qismi bulutga keraksiz ma'lumotlarni yuklamasdan oldin, tarmoqning chekkasida (shuning uchun qurilmalarda) amalga oshiriladi. Asosiy kamchilik shundaki, Edgent katta ramka bo'lib, uni o'rnatish vaqt talab qilishi mumkin va uni saqlash murakkab bo'lishi mumkin. Platformani tanlashda muhim bo'lishi mumkin bo'lgan yana bir farq shundaki, Edgent to'liq ochiq manba, Lambda emas. Buni professional sifatida ko'rish mumkin, chunki siz yoki mijozingiz bajaradigan kodga kirish har doim ham ijobiy narsa, chunki har ikkisi ham noto'g'ri, chunki sizga shoshilinch yordam kerak bo'lmagan holatlar bo'lishi mumkin. barcha ochiq manbali muhitlar.

Biz aytib o'tishimiz mumkin bo'lgan boshqa xususiyatlar-bu Kinesis tomonidan ajratilgan resurslarning avtomatik miqyoslanishi. Haqiqatan ham, u taklif qiladigan qo'shimcha qurilmalar parallel ravishda ishlaydigan Kinesis protsessorlari (KPU) deb nomlanadi, bunda bitta KPU 1 vCore va 4 Gb tezkor xotirani taklif qiladi. Ularning soni dasturning ehtiyojlariga bog'liq va dinamik va avtomatik ravishda taqsimlanadi (siz to'laydigan narsa - bu protsessor vaqtining KPU sonidan ko'pi), shuni esda tutingki, agar siz Java -dan foydalansangiz, sizdan bir KPU ko'proq zaryad olish Kinesis siyosati. ilova. IBM Streams, buning o'rniga, bunday moslashuvchanlikni ta'minlamaydi va sizga narxlari haqida gapirganda, qo'shimcha qurilmalar o'rnatilgan konteynerni taklif qiladi. Boshqa tomondan, IBM Streams Kinesisga qaraganda ochiqroq, chunki u WAN bilan HTTP, MQTT va boshqalar kabi umumiy ishlatiladigan protokollar orqali bog'lanadi, Kinesis esa AWS ekotizimiga yopiq.

Yakuniy taqqoslash sifatida, keling narx -navo haqida gapiraylik va shuni aytayki, IBM bu borada unchalik yaxshi ishlamaydi. Biz IBM va AWS uchun uch xil toifadagi (asosiy, yuqori darajali, ultra yuqori darajali) har xil echimlarni tuzdik va biz ularning narxini solishtirmoqchimiz. Asosiy konfiguratsiyada biz yuqorida aytib o'tilgan AWS KPU -ga egamiz, xuddi shu uskuna bilan IBM yechimiga qarshi. Yuqori darajadagi bizda Kinesis uchun parallel ishlaydigan 8 ta KPU va har doim IBM uchun ikkita konteyner bor, ularning har biri 4 vCores va 12 Gb tezkor xotiraga ega. Har doim IBM juda yuqori darajadagi 16 vCores va 128 Gb tezkor xotiraga ega bitta konteynerni taklif qiladi, biz esa AWS uchun ekvivalent echimni o'tkazib yubordik, chunki agar ba'zi dasturlar bu katta hajmdagi operativ xotirani talab qilsa, uni har xil KPUlarda ishlatish mumkin emas edi.. Biz hisobot berayotgan narxlar 24/7 ishlatilishini hisobga olgan holda oyiga $ bilan ifodalanadi. Asosiy konfiguratsiya uchun bizda IBM va AWS uchun mos ravishda 164 $ va 490 $, yuqori darajali 1320 $ va 3500 $ uchun, juda yuqori darajadagi AWS hisobga olinmaydi va faqat 6300 $ bo'lgan IBM mavjud. Bu natijalardan shuni bilib olamizki, Kinesis har kungi foydalanuvchi uchun korxona darajasigacha yaxshiroq ishlaydi, juda katta hisoblash quvvatini talab qiladigan ma'lumotlar tahlilini to'g'ridan -to'g'ri boshqarish imkoniyatlari yo'q. Kinesis IBM Streams -ga qaraganda yaxshiroq ishlash/$ nisbati bilan ta'minlaydi, bu faqat kerak bo'lganda kichik resurs bloklarini dinamik taqsimlashga yordam beradi, IBM esa sizga doimiy konteyner taklif qiladi. Shunday qilib, agar sizning ish yukingiz cho'qqilar bilan tavsiflansa, IBM bilan siz dastur talablarini haddan tashqari oshirib yuborishga va eng yomon vaziyatda yechim tuzishga majbur bo'lasiz. IBM to'liq oyni to'lash o'rniga soatlik to'lovlarni taklif qiladi, lekin u Kinesis kabi avtomatlashtirilgan emas.

4 -qadam: IoT arxitekturasi

IoT arxitekturasi
IoT arxitekturasi

Ibs Watson Iot bilan taqqoslaganda, aws iot qurilmalari konfiguratsiyasi juda oson. Chunki ibm Watson iot -da autentifikatsiya tokenli har bir qurilmaga to'g'ri keladi va u ko'rsatilgandan so'ng, u boshqa ko'rsatilmaydi. Ibm Watson Iot -ning narxlanish qismiga qaytish aws iot -ga qaraganda ancha qimmat. Shunday qilib, ibm Vatson -iot to'lovlarining narxi har bir qurilmaga, ma'lumotlarni saqlashga va ma'lumotlar oqimiga bog'liq. Ammo, biz bu summani bir marta to'lashimiz mumkin va biz qo'shimcha qurilmalar va ma'lumotlarni nashr qilib, qurilmalarga etkazib berishimiz mumkin.

Qurilmangizdan boshlang- bu sensor, shlyuz yoki boshqa narsa- va biz sizga bulut bilan bog'lanishda yordam beramiz.

Ochiq, engil MGTT xabar almashish protokoli yoki HTTP yordamida bulutga ulanganingizda, qurilmangiz ma'lumotlari har doim himoyalangan bo'ladi. Protokollar va qizil rangli tugunlar yordamida biz qurilmamizni iot platformasi bilan bog'lay olamiz va jonli va tarixiy ma'lumotlarga kira olamiz.

Ilovalaringizni qurilmalaringiz ma'lumotlari bilan ulash uchun bizning xavfsiz API -larimizdan foydalaning.

Ma'lumotlarni talqin qilish uchun bizning bulutli xizmatimiz ichida ilovalar yarating.

Tavsiya: