Mündəricat:

AWS və IBM: IoT Xidmətləri Müqayisəsi: 4 addım
AWS və IBM: IoT Xidmətləri Müqayisəsi: 4 addım

Video: AWS və IBM: IoT Xidmətləri Müqayisəsi: 4 addım

Video: AWS və IBM: IoT Xidmətləri Müqayisəsi: 4 addım
Video: What is a Server? Servers vs Desktops Explained 2024, Noyabr
Anonim
AWS və IBM: IoT Xidmətləri Müqayisəsi
AWS və IBM: IoT Xidmətləri Müqayisəsi

Bu gün fərqli xidmət təklifləri baxımından IoT tətbiqetmələrini inkişaf etdirməyə imkan verən iki yığını müqayisə edirik.

Addım 1: Xidmət kimi fəaliyyət göstərir

Xidmət kimi funksiyalar
Xidmət kimi funksiyalar

FaaS, "serversiz" bir arxitektura qurmaq üçün istifadə olunan bulud xidmətləri kateqoriyasındadır.

Amazon AWS Lambda, IBM isə IBM Cloud Functions təklif edir. Bu xidmətlər olduqca oxşardır, lakin Lambda bu növün birincisi idi. FaaS istifadə edərək buludda kod parçaları işlədə bilərsiniz və hər xidmət fərqli proqramlaşdırma dillərini dəstəkləyir.

IBM Bulud Fonksiyonları: JavaScript, Swift, Java, Go, Php, Python, Ruby,. NET (C# F# və s.), Docker AWS Lambda vasitəsilə hər hansı biri: JavaScript, Java, C#, F#, Go, Python, Ruby, PowerShell, Any Runtime API vasitəsilə

IBM daha çox dili dəstəkləyir və docker ilə digər dillərdə yazılmış skriptlərdən istifadə etmək asandır. Bu Lambda ilə də edilə bilər, ancaq dərhal deyil. Bir nümunəni burada oxuya bilərsiniz:

Hər iki xidmətin də istifadə məhdudiyyətləri var, bunları bir cədvəldə bildiririk və ən yaxşısını vurğulayırıq.

Qiymət, AWS Lambda üçün sorğuların sayını əlavə etməklə saniyədə GigaByte (RAM) əsaslanır. Hər bir xidmətin pulsuz planı var və demək olar ki, bərabərdir. Gördüyünüz kimi, Lambda GB/s üçün bir qədər ucuzdur, lakin Bulud Funksiyalarının ümumiyyətlə xərcləri demək olar ki, eyni olmadığı istəklərlə əlaqəli bir dəyəri var. Əlbəttə ki, yaddaş yeyən və bir neçə sorğu istifadə edən vəzifələri yerinə yetirmək üçün Lambda istifadə etməlisiniz. IBM Cloud Function -ın əsas üstünlüyü, fikrimizcə, yığının açıq mənbə olmasıdır. Tamamilə Apache OpenWhisk -ə əsaslanır və xüsusi bir infrastrukturda da yerləşdirilə bilər.

Addım 2: Maşın Öyrənmə

Maşın Öyrənmə
Maşın Öyrənmə

IBM və AWS yığınlarının oxşar xidmətləri təklif etdiyi bir sahə maşın öyrənməsidir: Amazon, SageMaker ilə və IBM Watson Machine Learning ilə. İki xidmət bir çox cəhətdən çox oxşardır: hər ikisi də özlərini məlumat alimlərinə və inkişaf etdiricilərinə maşın öyrənmə modellərini qurmağa, öyrətməyə və sonra istehsal üçün hazır mühitə yerləşdirməyə kömək edən bir vasitə kimi təqdim edirlər, lakin iki şirkətin mənimsədiyi fəlsəfələr bir qədər fərqlidir. Hər iki xidmət də istifadə etdiyiniz modellərdə fərqli nəzarət dərəcələri arasında seçim etməyə imkan verir. Watson ML-də, bəzi xüsusi tapşırıqları yerinə yetirmək üçün öyrədilmiş bəzi daxili modelləriniz var: məsələn, bir şəkildə hansı obyektlərin olduğunu bilmək istəyirsinizsə, sadəcə VisualRecognitionV3 modelini idxal edirsiniz və ona təqdim etdiyiniz şəkli ötürürsünüz. təhlil etmək istəyirəm. "Xüsusi bir model" də qura bilərsiniz, ancaq Watson ML -də bu, əvvəlcədən qurulmuş bir model götürmək və bununla bağlı təlimlərimizi aparmaq deməkdir, buna görə də fərdiləşdirmə olduqca məhduddur. Qeyd etmək vacibdir ki, nə SageMaker, nə də Watson ML, inkişaf etdiricilərin yığınlarında maşın öyrənməyin yeganə yolu deyil, yalnız inkişaf etdiricilərin həyatını asanlaşdırmağı hədəfləyən xidmətlərdir. Watson ML platforması eyni zamanda ən populyar maşın öyrənmə kitabxanalarını da dəstəkləyir, beləliklə hətta PyTorch, Tensorflow və ya oxşar kitabxanalarla sıfırdan bir model qura bilərsiniz. Ya birbaşa həmin kitabxanalardan istifadə edirsiniz, ya da əvvəlcədən hazırlanmış modellərdən istifadə edirsiniz, ortada heç bir əsas yoxdur. Həmçinin Watson ML, Amazon -un seçim kitabxanası Apache MXNet -i dəstəkləmir, bunun əvəzinə SageMaker -də birinci dərəcəli dəstəyi var.

Amazon SageMaker-in yanaşması, hətta quraşdırılmış variantlardan istifadə edərkən, bir az daha aşağı səviyyədədir: əvvəlcədən hazırlanmış modellərdən seçim etməkdənsə, qurarkən istifadə edə biləcəyiniz çoxdan tətbiq edilmiş təlim alqoritmlərindən seçim etməyə imkan verir. modeli daha ənənəvi şəkildə. Bunlar kifayət deyilsə, öz alqoritminizdən də istifadə edə bilərsiniz. Əşyaların bu üsulu, əlbəttə ki, Watson ML -də təlim keçmiş bir model istifadə etməklə müqayisədə maşın öyrənmənin necə edildiyi haqqında daha çox məlumat tələb edir.

İlk baxışdan, Watson ML -in "asan və sürətli" bir yol olduğu görünə bilər, Amazon SageMaker qurmaq üçün daha mürəkkəbdir. SageMaker hər şeyi bir Jupyter Notebook-da işə salmaq üçün qurulduğu üçün Watson ML-də eyni xüsusiyyətlər üçün veb UI-dən bir çox fərqli alt xidmət qurmalısınız. Məlumatların əvvəlcədən işlənməsi də IBM xidmətində xüsusi yerlərə malikdir, SageMaker isə bunu notbukunuzdakı koddan edir. Buna əlavə olaraq, Jupyter noutbuklarının proqram mühəndisliyi baxımından ən yaxşı seçim olmaması SageMaker -in istehsalda çox yaxşı miqyas almasına mane ola bilər. Hər iki xidmətdə də modelinizi yerləşdirmək və API -lərini xarici dünyada təqdim etmək üçün olduqca yaxşı və sadə mexanizmlər var.

Nəticə olaraq, Watson ML, Jupyter noutbuklarının məhdudiyyətlərini göstərməyə başladığı və modelin özündə nə qədər çox özelleştirmeye ehtiyac duymadığı böyük layihələrdə daha yaxşı işləyir. SageMaker, alqoritmləri təyin etmək üçün daha çox elastikliyə ehtiyac duyduğunuzda daha yaxşıdır, ancaq istifadə edərkən istehsalda yaxşı miqyas ala bilməyən Jupyter Noutbuklarına etibar etməli olduğunuzu nəzərə almalısınız. Bir həll yolu, kodun qalan hissəsini modeldən mümkün qədər ayırmaq ola bilər ki, əsl noutbuklarda olan kod çox böyük olmasın və proqramımızı yalnız modelimizin API -dən istifadə edən digər modullarda daha yaxşı təşkil edə bilək..

Addım 3: Məlumat Yayımı və Analitik

Məlumat Yayımı və Analitik
Məlumat Yayımı və Analitik

Məlumat axını xidmətləri, böyük həcmli məlumat axınının real vaxtda işlənməsində və analiz edilməsində çox vacibdir. Bu axın, buluddan istifadəçilərin cihazına, məsələn, video axını və ya istifadəçilərdən IoT telemetriyası və sensor oxunuşları kimi ola bilər. Xüsusilə ikinci vəziyyətdə, tək mənbələrin az miqdarda məlumat yüklədiyi bir vəziyyətə sahib ola bilərik, lakin bütün cihazlardan gələn ümumi ötürmə qabiliyyətini nəzərə alsaq, xeyli bant genişliyi sərf edir, buna görə də bu cür işlərlə məşğul olmaq üçün ixtisaslaşmış bir xidmətdən istifadə etmək məntiqlidir. məlumat axınları. Bu davamlı axını birbaşa idarə etmədən, daxil olan məlumatları müvəqqəti yaddaşa tamponlamalı və ikinci dəfə bir hesablama mühərriki ilə işləməliyik. Bu son yanaşmanın problemi, tək bir məlumat axını xidmətinin tək başına etdiyinə nail olmaq üçün tətbiqin saxlanması və konfiqurasiyasının mürəkkəbliyini artırmaq üçün daha fərqli xidmətləri əlaqələndirməliyik. Bundan əlavə, tamponlama prinsipcə tətbiqimizi real vaxt rejimində edə bilməz, çünki bir maddənin işlənməsi üçün ondan əvvəl digər bütün maddələrin də işlənməsi və buferə prioritet siyasəti əlavə etməsi zəruridir., mürəkkəbliyi kəskin şəkildə artırın. Nəticə olaraq, məlumat axını xidmətləri, asan bir konfiqurasiya ilə real vaxt rejimində məlumat axını idarə etməyi təklif edir və daxil olan məlumatların analitikasını təmin edə bilər. Burada IBM və AWS yığınının iki əsas axın xidmətini, yəni IBM Streams və AWS Kinesis müqayisə edirik.

Bir axın xidmətindən istəyə biləcəyimiz bütün əsas xüsusiyyətlərin həm IBM, həm də AWS tərəfindən təklif edildiyini qeyd etməklə başlayırıq. Bu xüsusiyyətlərə faktiki olaraq sonsuz işləmə sürəti, aşağı gecikmə və real vaxt məlumat analitiği daxildir. Peşəkar xidmətlərdən bəhs etdiyimiz üçün hər ikisi də yerləşdirmə və avtomatlaşdırma üçün istehsal səviyyəli alətlər təklif edir.

Məlumat analitika haqqında danışarkən, hər iki xidmət bunu istəyə bağlı olaraq təklif edir və yalnız ehtiyacınız olub -olmamasına baxmayaraq ödəmənizi təmin edir. Kinesis vəziyyətində, analitikaya ehtiyacınız olmadığı zaman, yalnız məlumat axınının işlənməsi zamanı, qiymətlər IBM işində olduğu kimi işləmə müddəti əvəzinə işlənən GB başına hesablanır. GB başına qiymətlər, ümumiyyətlə gələn trafikə görə ödədiyiniz üçün, ümumiyyətlə bir dəfəlik qiymətdən daha ucuz olacaq. Bu yazının qalan hissəsi üçün həm IBM Streams, həm də AWS Kinesis -in məlumat təhlili xüsusiyyətini aktiv olaraq nəzərdən keçirəcəyik.

Axınlar və Kinesis, daxil olan məlumatları Apache Edgent və AWS Lambda ilə məlumat analitikinə ötürməzdən əvvəl onları əvvəlcədən işləmək və süzmək üçün fərqli xidmətlərlə inteqrasiya təmin edir. Bu xidmətlər bir -birindən köklü şəkildə fərqlənsə də, bunları yalnız iki axın xidməti baxımından müzakirə edəcəyik. İkisi arasındakı əsas fərq, Apache Edgent -in cihazda, AWS Lambda isə buludda işləməsidir. Bu, bir çox müsbət və mənfi cəhətləri gətirir: Lambda tərəfdən Kinesis ilə mükəmməl bir inteqrasiya olan çevik və istifadəsi asan bir xidmətimiz var, ancaq məlumatların artıq buludda yüklənməsini tələb edir, beləliklə səmərəliliyini itirir və Kinesisə də pul ödəyir. nəticədə atılacaq məlumatlar üçün. Bunun əvəzinə Edgent tərəfdən, hesablamaların çoxunun, buludda lazımsız məlumat yükləməzdən əvvəl, şəbəkənin kənarında (beləliklə cihazlarda) edildiyini bilirik. Əsas çatışmazlıq, Edgent -in qurulması üçün vaxt tələb edə bilən və saxlanması mürəkkəb ola biləcək böyük bir çərçivədir. Bir platforma seçimində əlaqəli ola biləcək başqa bir fərq, Edgentin tamamilə açıq mənbəyidir, Lambda deyil. Bunu həm bir mütəxəssis kimi görmək olar, çünki sizin və ya müştərinizin icra edəcəyi koda daxil olmaq hər zaman bir pozitiv haldır, çünki təcili dəstəyə ehtiyacınız olmadığı hallar ola bilər. bütün açıq mənbə mühitləri.

Qeyd edə biləcəyimiz digər xüsusiyyətlər, Kinesis tərəfindən ayrılmış mənbələrin avtomatik ölçeklenebilirliğidir. Həqiqətən də, təklif etdiyi aparat paralel olaraq işləyən, bir KPU -nun 1 vCore və 4GB RAM təklif etdiyi bir çox Kinesis İşləmə Birimi (KPU) tərəfindən qurulmuşdur. Onların sayı tətbiqin ehtiyaclarından asılıdır və dinamik və avtomatik olaraq ayrılır (nə ödəyirsinizsə, həqiqətən də KPU sayının cpu vaxtından çoxdur), yalnız bir Java istifadə edirsinizsə bir KPU -nu daha çox yükləməyin Kinesis siyasəti olduğunu unutmayın. tətbiq. IBM Streams, bunun əvəzinə, bu cür rahatlıq təmin etmir, qiymətləri danışarkən daha çox detalları olan sabit avadanlıqları olan bir konteyner təklif edir. Digər tərəfdən, IBM Streams, Kinesis -dən daha açıqdır, çünki WAN ilə HTTP, MQTT və sair kimi ümumi istifadə olunan protokollar vasitəsi ilə əlaqə qurur, Kinesis isə AWS ekosisteminə bağlıdır.

Son müqayisə olaraq qiymət haqqında danışaq və IBM -in bu baxımdan yaxşı işləmədiyini söyləyim. Həm IBM, həm də AWS üçün üç fərqli kateqoriya (əsas, yüksək səviyyəli, ultra yüksək səviyyəli) üçün fərqli həllər qurduq və qiymətlərini müqayisə edəcəyik. Əsas konfiqurasiyada, eyni aparata malik bir IBM həllinə qarşı əvvəl qeyd etdiyimiz bir AWS KPU var. Yüksək səviyyəli iş üçün, Kinesis üçün paralel işləyən 8 KPU var və hər biri 4 vCores və 12 GB RAM ilə IBM üçün paralel olaraq 2 konteyner var. Həmişə IBM, 16 vCores və 128 GB RAM ilə son dərəcə yüksək səviyyəli tək bir konteyner təklif edir, biz AWS üçün ekvivalent bir həll etməmişik, çünki bəzi tətbiqlər bu böyük miqdarda RAM tələb edərsə, onu fərqli KPU-larda işə salmaq mümkün deyildi.. Hesabat verdiyimiz qiymətlər 7/24 istifadə nəzərə alınmaqla ayda $ ilə ifadə edilir. IBM və AWS üçün əsas konfiqurasiya üçün sırasıyla 164 $ və 490 $, yüksək səviyyəli 1320 $ və 3500 $ üçün, son dərəcə yüksək AWS üçün nəzərə alınmır və yalnız 6300 $ ilə IBM var. Bu nəticələrdən görə, Kinesisin gündəlik istifadəçi üçün müəssisə səviyyəsinə qədər daha yaxşı işlədiyini, böyük miqdarda hesablama gücü tələb edən məlumat analitikasını birbaşa idarə etmə variantlarının olmadığını görürük. Kinesis, IBM Streams -dən daha yaxşı bir performans/$ nisbətini təmin edir, eyni zamanda kiçik resurs bloklarının dinamik olaraq ayrılması da kömək edir, IBM isə sizə sabit bir konteyner təklif edir. Bu şəkildə, iş yükünüz zirvələrlə xarakterizə olunursa, IBM ilə tətbiq ehtiyaclarınızı çox qiymətləndirmək və ən pis vəziyyətdə bir həll konfiqurasiya etmək məcburiyyətindəsiniz. IBM, tam ayı ödəmək əvəzinə saat haqqı təklif edir, lakin Kinesis kimi avtomatlaşdırılmamışdır.

Addım 4: IoT Memarlığı

IoT Memarlıq
IoT Memarlıq

İbs watson iot ilə müqayisədə aws iot cihazlarının konfiqurasiyası olduqca asandır. Çünki ibm watson iot -da identifikasiya əlaməti olan bir cihaza aiddir və nişanı göstərdikdən sonra bir daha göstərilməyəcək. Yenidən ibm watson iot qiymət hissəsinə gəlmək aws iot ilə müqayisədə olduqca baha başa gəlir. Beləliklə, ibm watson iot ödənişlərində qiymət cihaz başına, məlumat saxlama və məlumat trafikinə əsaslanır. Ancaq aws iot -da məbləği bir dəfə ödəyə bilərik və cihazlardan yayımlanan və cihazlara çatdırılan daha çox cihaz və məlumat əlavə edə bilərik.

Cihazınızla başlayın- istər sensor, istər ağ geçidi, istərsə də başqa bir şey- və buludla əlaqə qurmağınıza kömək edək.

Açıq, yüngül MGTT mesajlaşma protokolu və ya HTTP istifadə edərək buluda qoşulduqda cihaz məlumatlarınız həmişə təhlükəsizdir. Protokollar və node-red köməyi ilə cihazımızı iot platforması ilə bağlaya bilərik və canlı və tarixi məlumatlara daxil ola bilərik.

Tətbiqlərinizi cihazlarınızdakı məlumatlarla əlaqələndirmək üçün etibarlı API -lərimizdən istifadə edin.

Verilənləri şərh etmək üçün verilən bulud xidmətimizdə tətbiqlər yaradın.

Tövsiyə: