Мазмуну:

AWS жана IBM: IoT кызматтарын салыштыруу: 4 кадам
AWS жана IBM: IoT кызматтарын салыштыруу: 4 кадам

Video: AWS жана IBM: IoT кызматтарын салыштыруу: 4 кадам

Video: AWS жана IBM: IoT кызматтарын салыштыруу: 4 кадам
Video: IoT Project - Installation of NodeRed on IBM Cloud 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 менен деле жасаса болот, бирок ал дароо эмес. Мисалды бул жерден окуй аласыз:

Эки кызматтын тең колдонуу чеги бар, биз аларды таблицада билдиребиз жана мыктыларын белгилейбиз.

Баасы секундасына GigaBytesке негизделген (RAM), AWS Lambda. Each кызматынын акысыз планы бар жана алар дээрлик барабар. Көрүнүп тургандай, Lambda GB/s үчүн бир аз арзаныраак, бирок булут функцияларынын талабы менен байланышкан баасы бар, андыктан баасы жалпысынан бирдей. Албетте, эгер сиз эс тутумду жеген жана бир нече өтүнүчтү колдонгон тапшырмаларды аткарышыңыз керек болсо, Lambda колдонушуңуз керек. IBM Cloud Functionтун негизги артыкчылыгы, биздин оюбузча, анын стеги ачык булак. Бул толугу менен Apache OpenWhiskке негизделген жана жеке инфраструктурага жайгаштырылышы мүмкүн.

2 -кадам: Machine Learning

Machine Learning
Machine Learning

IBM жана AWS стектери ушундай кызматтарды сунуштаган талаа - бул машинаны үйрөнүү: Amazon SageMaker менен жана IBM Watson Machine Learning менен. Эки кызмат тең көп жагынан окшош: экөө тең өздөрүн маалымат илимпоздоруна жана иштеп чыгуучуларга машиналарды үйрөнүү моделдерин курууга, үйрөтүүгө жана андан кийин өндүрүштүн даяр чөйрөлөрүнө жайылтууга жардам берүүчү курал катары көрсөтүшөт, бирок эки компаниянын кабыл алган философиялары бир аз айырмаланат. Эки кызмат тең сиз колдонгон моделдердин көзөмөлүнүн ар кандай деңгээлин тандоого мүмкүндүк берет. Watson MLде сизде белгилүү бир тапшырмаларды аткарууга үйрөтүлгөн кээ бир камтылган моделдер бар: мисалы, эгер сиз сүрөттө кандай объекттер бар экенин билгиңиз келсе, VisualRecognitionV3 моделин импорттоп, ага өзүңүздүн сүрөтүңүздү өткөрүп бериңиз. анализ кылгым келет. Сиз ошондой эле "ыңгайлаштырылган моделди" кура аласыз, бирок Ватсон MLде бул негизинен мурунтан эле курулган моделди алып, биздин тренингди өткөрүүнү билдирет, андыктан ыңгайлаштыруу өтө чектелген. SageMaker да, Watson ML да машинаны үйрөнүүнүн жалгыз жолу эмес экенин белгилей кетүү маанилүү, бирок алар жөн гана иштеп чыгуучулардын жашоосун жеңилдетүүгө багытталган кызматтар. Watson ML платформасы көптөгөн эң популярдуу машина үйрөнүү китепканаларын колдойт, андыктан PyTorch, Tensorflow же ушул сыяктуу китепканалар менен башынан баштап моделин түзө аласыз. Сиз ошол китепканаларды түз колдоносуз, же алдын ала даярдалган моделдерди колдоносуз, орто жери жок. Ошондой эле Watson ML Amazonдун тандоо китепканасын колдобойт, анын ордуна SageMakerде биринчи класстагы колдоого ээ Apache MXNet.

Amazon SageMakerдин ыкмасы, орнотулган варианттарды колдонгондо дагы, бир аз төмөн: сизди алдын ала даярдалган моделдерден тандап алуунун ордуна, буга чейин ишке ашырылган машыгуу алгоритмдеринин көптүгүнөн тандап алууга мүмкүндүк берет. модели кыйла салттуу түрдө. Эгер булар жетишсиз болсо, анда өзүңүздүн алгоритмди колдонсоңуз болот. Бул нерселерди жасоо ыкмасы, албетте, Ватсон 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 Processing Units (KPUs) деп аталган бир катардан турат, мында бир KPU 1 vCore жана 4GB RAM сунуштайт. Алардын саны колдонмонун муктаждыктарына жараша болот жана динамикалык жана автоматтык түрдө бөлүштүрүлөт (чындыгында сиз төлөгөн нерсе - бул процессордук убакыттын саны KPU санынан көп), жөн гана Java колдонсоңуз, сизден дагы бир КПУну заряддоо Kinesis саясаты экенин унутпаңыз. колдонмо. IBM Streams, тескерисинче, мындай ийкемдүүлүктү камсыз кылбайт, сизге туруктуу жабдуулары бар контейнерди сунуштайт, биз баа жөнүндө сүйлөшкөндө көбүрөөк маалымат. Башка жагынан алганда, IBM Streams Kinesisке караганда ачык, анткени ал WANга HTTP, MQTT жана башкалар сыяктуу жалпы колдонулган протоколдор аркылуу интерфейс кылат, ал эми Kinesis AWS экосистемасына жабык.

Акыркы салыштыруу катары, келгиле, баа жөнүндө сүйлөшөлү жана IBM бул учурда жакшы иштебей турганын айткым келет. Биз IBM жана AWS үчүн үч түрдүү категорияга (негизги, эң жогорку, эң жогорку деңгээлдеги) ар кандай чечимдерди конфигурациялаганбыз жана биз алардын баасын салыштырып көрөбүз. Негизги конфигурацияда бизде жогоруда айтылган AWS КПУ бар, ошол эле жабдуулары бар IBM чечимине каршы. Жогорку деңгээлде бизде 8 KPU иштеп жатат, Kinesis үчүн параллель жана 2 контейнер IBM үчүн ар дайым параллелдүү, ар биринде 4 vCores жана 12 ГБ оперативдүү RAM бар. Ар дайым IBM эң жогорку деңгээлде 16 vCores жана 128 ГБ оперативдүү бир контейнерди сунуштайт, ал эми биз AWS үчүн эквиваленттүү чечимди өткөрүп жибергенбиз, анткени кээ бир тиркемеде RAMдин чоң көлөмү талап кылынса, аны башка KPUларда иштетүү мүмкүн эмес болчу.. Биз билдирген баалар 24/7 колдонууну эске алганда $/ай менен көрсөтүлөт. Негизги конфигурация үчүн бизде 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до аутентификация жетон менен жабдылган түзмөккө туура келет жана ал токенди көрсөткөндөн кийин кайра көрсөтүлбөйт. Ибм Уотсон Iotтун баасына кайра келүү aws iotко салыштырмалуу бир топ кымбат. Ошентип, ibm Watson iot төлөмдөрүндөгү баа бир түзмөккө, маалымат сактоого, маалымат трафигине негизделет. Бирок aws iot ичинде биз сумманы бир жолу төлөй алабыз жана дагы түзмөктөрдү жана түзмөктөрдөн жарыяланган жана түзмөктөргө жеткирилген маалыматтарды кошо алабыз.

Түзмөгүңүздөн баштаңыз- бул сенсор, шлюз же башка нерсе болобу жана булут менен байланышууга жардам берели.

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

Колдонмолоруңузду түзмөгүңүздөгү маалыматтар менен туташтыруу үчүн биздин коопсуз API'лерди колдонуңуз.

Берилген маалыматты чечмелөө үчүн биздин булуттагы кызматтын ичинде тиркемелерди түзүңүз.

Сунушталууда: