Sisukord:

AWS ja IBM: Interneti -teenuste võrdlus: 4 sammu
AWS ja IBM: Interneti -teenuste võrdlus: 4 sammu

Video: AWS ja IBM: Interneti -teenuste võrdlus: 4 sammu

Video: AWS ja IBM: Interneti -teenuste võrdlus: 4 sammu
Video: Сравнение протоколов TCP и UDP 2024, November
Anonim
AWS ja IBM: Interneti -teenuste võrdlus
AWS ja IBM: Interneti -teenuste võrdlus

Täna võrdleme kahte virna, mis võimaldavad erinevate teenuste pakkumiste vaatenurgast arendada asjade Interneti rakendusi.

1. toiming: toimib teenusena

Funktsioonid teenusena
Funktsioonid teenusena

FaaS on pilveteenuste kategooria, mida kasutatakse „serverita” arhitektuuri loomiseks. FaaS võimaldab klientidel arendada, käivitada ja hallata rakenduste funktsioone ilma infrastruktuuri ehitamata ja hooldamata.

Amazon pakub AWS Lambda, IBM pakub IBMi pilvfunktsioone. Need teenused on üsna sarnased, kuid Lambda oli esimene selline. FaaS -i kasutades saate pilves käivitada kooditükke ja iga teenus toetab erinevaid programmeerimiskeeli.

IBMi pilvfunktsioonid: JavaScript, Swift, Java, Go, Php, Python, Ruby,. NET (C# F# jne), kõik Docker AWS Lambda kaudu: JavaScript, Java, C#, F#, Go, Python, Ruby, PowerShell, ükskõik Runtime API kaudu

IBM toetab rohkem keeli ja dokiga on lihtne kasutada teistes keeltes kirjutatud skripte. Seda saab teha ka Lambdaga, kuid mitte kohe. Näite saate lugeda siit:

Mõlemal teenusel on kasutuspiirangud, me esitame need tabelis ja toome esile parimad.

Hind põhineb gigabaitidel sekundis (RAM), millele on lisatud AWS Lambda taotluste arv. Igal teenusel on tasuta plaan ja need on peaaegu samaväärsed. Nagu näete, on Lambda GB/s jaoks natuke odavam, kuid selle maksumus on seotud taotlustega, mida pilvfunktsioonidel pole, nii et kulud on peaaegu samad. Muidugi, kui peate käivitama ülesandeid, mis söövad mälu ja kasutavad vähe päringuid, peaksite kasutama Lambda. IBMi pilvefunktsiooni peamine eelis on meie arvates see, et selle virn on avatud lähtekoodiga. See põhineb täielikult Apache OpenWhiskil ja seda saab kasutada ka privaatsel infrastruktuuril.

2. samm: masinõpe

Masinõpe
Masinõpe

Valdkond, kus IBM ja AWS virnad pakuvad sarnaseid teenuseid, on masinõppe valdkond: Amazon oma SageMakeriga ja IBM Watsoni masinõppega. Need kaks teenust on paljudes aspektides väga sarnased: mõlemad esitlevad end vahenditena, mis aitavad andmeteadlastel ja arendajatel oma masinõppemudeleid luua, koolitada ja seejärel tootmisvalmis keskkondadesse paigutada, kuid nende kahe ettevõtte filosoofiad on üsna erinevad. Mõlemad teenused võimaldavad teil valida erinevate mudelite juhtimisastmete vahel. Watson ML-is on teil sisseehitatud mudeleid, mis on juba välja õpetatud väga spetsiifiliste ülesannete täitmiseks: näiteks kui soovite tuvastada, millised objektid pildil on, importige lihtsalt VisualRecognitionV3 mudel ja edastage sellele pilt tahaks analüüsida. Võite luua ka „kohandatud mudeli”, kuid Watson ML -s tähendab see enamasti juba ehitatud mudeli võtmist ja selle väljaõpetamist, seega on kohandamine üsna piiratud. Oluline on aga tähele panna, et ei SageMaker ega Watson ML pole ainsad viisid arendajate masinõppe tegemiseks, vaid teenused, mille eesmärk on arendajate elu lihtsamaks muuta. Watsoni ML -platvorm toetab ka paljusid populaarsemaid masinõppe teeke, nii et saate PyTorchi, Tensorflowi või sarnaste teekidega isegi mudeli nullist üles ehitada. Kasutate neid raamatukogusid otse või kasutate eelnevalt valmistatud mudeleid, keskteed pole. Samuti ei toeta Watson ML Amazoni valikuteeki Apache MXNet, millel on selle asemel SageMakeri esmaklassiline tugi.

Amazon SageMakeri lähenemisviis, isegi kui kasutada sisseehitatud valikuid, on pisut madalamal tasemel: selle asemel, et panna teid valima eelnevalt valmistatud mudelite hulgast, võimaldab see valida paljude juba rakendatud koolitusalgoritmide hulgast, mida saate kasutada oma mudelit traditsioonilisemal viisil. Kui neist ei piisa, võite kasutada ka oma algoritmi. See asjade tegemise viis nõuab kindlasti rohkem teadmisi masinõppe tegemise kohta, võrreldes lihtsalt Watson ML -i koolitatud mudeli kasutamisega.

Esmapilgul võib tunduda, et Watson ML on „lihtne ja kiire” viis, kusjuures Amazon SageMaker on kõige keerulisem seadistada. See ei pruugi mõnest vaatenurgast täiesti tõsi olla, kuna SageMaker on üles ehitatud nii, et kõik töötab Jupyteri sülearvutis, samas kui Watson ML-i samade funktsioonide jaoks peate veebi kasutajaliidesest seadistama palju erinevaid alamteenuseid. Andmete eeltöötlusel on ka IBMi teenuses eraldatud tühikud, samas kui SageMaker loodab, et teete seda kõike sülearvuti koodist. See pluss asjaolu, et Jupyteri sülearvutid ei ole tarkvaratehnika seisukohast just parim valik, võivad takistada SageMakeri tootmist väga hästi skaleerimast. Mõlemal teenusel on üsna head ja lihtsad mehhanismid teie mudeli juurutamiseks ja selle jaoks API -de välismaailmas kättesaadavaks tegemiseks.

Kokkuvõtteks võib öelda, et Watson ML toimib paremini suurtes projektides, kus Jupyteri sülearvutid hakkavad oma piire näitama ja kus te ei vaja palju mudeli enda kohandamist. SageMaker on palju parem, kui vajate algoritmide määratlemisel rohkem paindlikkust, kuid selle kasutamisel peate arvestama tõsiasjaga, et peate lootma Jupyteri märkmikele, mis ei pruugi tootmises hästi ulatuda. Lahenduseks võiks olla ülejäänud koodi võimalikult suur eraldamine mudelist, nii et tegelikes märkmikutes olev kood ei läheks liiga suureks ja saaksime oma tarkvara paremini korraldada teistes moodulites, mis lihtsalt kasutavad meie mudeli API -d.

3. toiming: andmete voogesitus ja analüüs

Andmete voogesitus ja analüüs
Andmete voogesitus ja analüüs

Andmete voogedastusteenused on olulised suurte andmevoogude reaalajas töötlemisel ja analüüsimisel. See voog võib toimuda pilvest kasutajate seadmesse, nagu video voogesitus, või kasutajatest pilve, nagu asjade Interneti telemeetria ja andurite näidud. Eriti teisel juhul võib meil tekkida olukord, kus üksikud allikad laadivad üles väikeseid andmemahtusid, kuid kui arvestada kõigist seadmetest pärinevat üldist läbilaskevõimet, kulutab see märkimisväärset ribalaiust, seega on mõistlik kasutada selliste teenuste käsitlemiseks spetsiaalset teenust andmevooge. Ilma seda pidevat voogu otse käsitlemata peaksime sissetuleva teabe puhverdama ajutisse salvestusruumi ja teist korda töötlema seda mõne arvutusmootoriga. Viimase lähenemisviisi probleem on see, et me peaksime koordineerima rohkem erinevaid teenuseid, et saavutada seda, mida üks andmevoo teenus juba üksi teeb, suurendades rakenduse hoolduse ja konfiguratsiooni keerukust. Lisaks võib puhverdamine põhimõtteliselt muuta meie rakenduse enam reaalajas, kuna üksuse töötlemiseks on vaja, et ka kõiki teisi enne seda töödeldavaid üksusi ja puhvrisse eelisreeglite lisamist saaks uuesti, suurendage oluliselt keerukust. Kokkuvõtteks võib öelda, et andmete voogedastusteenused pakuvad andmevoogude käsitlemist reaalajas, hõlpsa konfigureerimisega ja võivad pakkuda sissetulevate andmete analüüsi. Siin võrreldakse kahte peamist IBMi ja AWSi virna voogedastusteenust, nimelt IBM Streams ja AWS Kinesis.

Alustuseks märgime, et kõiki põhifunktsioone, mida voogesitusteenusest soovime, pakuvad nii IBM kui ka AWS. Nende funktsioonide hulka kuulub praktiliselt lõpmatu töötlemiskiirus, madal latentsusaeg ja reaalajas andmete analüüs. Kuna me räägime professionaalsetest teenustest, pakuvad nad mõlemad tootmiseks kasutatavaid tööriistu juurutamiseks ja automatiseerimiseks.

Andmeanalüüsist rääkides pakuvad mõlemad teenused seda valikuliselt, pannes maksma ainult selle eest, kas seda vajate või mitte. Kinesise puhul, kui te ei vaja analüütikat, vaid ainult andmevoogude käsitlemist, võetakse hindu töötlemise aja asemel töödeldud GB kohta, nagu näiteks IBM -i puhul. Hinnad GB kohta on üldiselt odavamad kui ajahinnad, kuna maksate ainult sissetuleva liikluse eest. Selle postituse ülejäänud osas kaalume nii IBM Streams kui ka AWS Kinesis, kus andmeanalüüsi funktsioon on lubatud.

Streams ja Kinesis pakuvad integreerimist erinevate teenustega sissetulevate andmete eeltöötlemiseks ja filtreerimiseks enne andmete analüüsile edastamist, vastavalt Apache Edgent ja AWS Lambda. Kuigi need teenused on üksteisest radikaalselt erinevad, arutame neid ainult kahe voogesitusteenuse seisukohast. Põhiline erinevus nende kahe vahel on see, et Apache Edgent täidab seadmes, AWS Lambda aga pilves. See toob kaasa palju plusse ja miinuseid: Lambda poolelt on meil paindlik ja hõlpsasti kasutatav teenus, mis on sujuvalt integreeritud Kinesisega, kuid see nõuab andmete juba pilve üleslaadimist, kaotades seega tõhususe ja makses ka Kinesise eest andmete jaoks, mis lõpuks ära visatakse. Edgeni poolelt näeme, et suurem osa arvutustest tehakse võrgu servas (seega seadmetes) enne kasutute andmete üleslaadimist pilve. Peamine puudus on see, et Edgent on suur raamistik, mille seadistamine võib nõuda aega ja mille hooldamine võib olla keeruline. Teine erinevus, mis võib olla platvormi valikul asjakohane, on see, et Edgent on täielikult avatud lähtekoodiga, Lambda aga mitte. Seda võib vaadelda nii profina, kuna juurdepääs koodile, mille teie või teie klient täidate, on alati positiivne, nii kui ka pettus, sest võib esineda olukordi, kus vajate kiiret tuge, mida ei saa kõik avatud lähtekoodiga keskkonnad.

Teised funktsioonid, mida võime mainida, on Kinesise eraldatud ressursside automaatne mastaapsus. Tõepoolest, selle pakutav riistvara koosneb mitmest paralleelselt töötavast niinimetatud kineesi töötlemisüksusest (KPU), kus üks KPU pakub 1 vCore'i ja 4 GB muutmälu. Nende arv sõltub rakenduse vajadustest ning need jaotatakse dünaamiliselt ja automaatselt (see, mida maksate, on tõepoolest protsessori aeg ja KPU -de arv), pidage meeles, et Kinesise poliitika kohaselt võetakse Java -i kasutamisel ühe KPU võrra rohkem tasu rakendus. Selle asemel ei paku IBM Streams sellist paindlikkust, pakkudes teile fikseeritud riistvaraga konteinerit ja lisateavet, kui räägime hinnakujundusest. Teisest küljest on IBM Streams avatum kui Kinesis, kuna see ühendub WAN -iga tavaliste kasutatavate protokollide kaudu, nagu HTTP, MQTT ja nii edasi, samas kui Kinesis on AWS -i ökosüsteemi jaoks suletud.

Lõpliku võrdlusena räägime hinnakujundusest ja lubage mul öelda, et IBM ei tööta selles osas suurepäraselt. Oleme konfigureerinud erinevad lahendused kolme erineva kategooria jaoks (põhi-, tipp- ja ülikvaliteetsed) nii IBM-i kui ka AWS-i jaoks ning võrdleme nende hinda. Põhikonfiguratsioonis on meil üks AWS KPU, mida mainiti varem, sama riistvaraga IBM -i lahenduse vastu. Kõrgklassi jaoks on meil 8 KPU-d, mis on Kinesise jaoks paralleelsed, ja 2 konteinerit, mis on alati paralleelsed IBM-i jaoks, mõlemal 4 vCore ja 12 GB muutmälu. IBM pakub alati ülikvaliteetset ainuüksi 16 vCores ja 128 GB muutmäluga konteinerit, samas jätsime AWS-i jaoks samaväärse lahenduse välja, sest kui mõni rakendus nõuab nii palju RAM-i, ei saa seda erinevatel KPU-del käivitada. Meie teatatud hinnad on väljendatud dollarites kuus, arvestades ööpäevaringset kasutamist. Põhikonfiguratsiooni puhul on meil IBMi ja AWS-i jaoks vastavalt 164 ja 490 dollarit, tippklassi 1320 ja 3500 dollarit, ülikvaliteetset AWS-i ei arvestata ja on ainult IBM 6300 dollariga. Nendest tulemustest näeme, et Kinesis töötab igapäevaste kasutajate jaoks paremini kuni ettevõtte tasemeni, samas kui tal puuduvad võimalused andmete analüüsimiseks, mis nõuavad tohutult arvutusvõimsust. Kinesis tagab parema jõudluse/dollari suhte kui IBM Streams, mida aitab ka väikeste ressursiplokkide dünaamiline jaotamine ainult vajaduse korral, samas kui IBM pakub teile fikseeritud konteinerit. Sel moel, kui teie töökoormust iseloomustavad tipud, olete IBMiga sunnitud oma rakendusvajadusi üle hindama ja halvimal juhul lahenduse seadistama. IBM pakub terve kuu maksmise asemel tunnitasusid, kuid see pole Kinesisena automatiseeritud.

4. samm: asjade Interneti arhitektuur

IoT arhitektuur
IoT arhitektuur

Aws iot seadmete konfigureerimine on võrreldes ibm watson iot'iga üsna lihtne. Kuna ibm watson iot -is toimub autentimine seadmega koos märgiga ja kui see kuvab märgi, ei kuvata seda enam kunagi. Hinnapakkumise osa juurde tulles ibm watson iot on aws iotiga võrreldes üsna kulukas. Niisiis, ibm watson iot tasude hind põhineb seadme, andmesalvestuse ja andmeliikluse kohta. Kuid aws iot saame summa ühe korra maksta ja saame lisada rohkem seadmeid ja seadmetest avaldatud ja seadmetesse edastatud andmeid.

Alustage oma seadmest- olgu see andur, lüüs või midagi muud- ja laske meil aidata teil pilvega ühendust luua.

Teie seadme andmed on alati turvalised, kui ühendate pilvega avatud, kerge MGTT -sõnumiprotokolli või HTTP -d. Protokollide ja sõlmpunase abil saame ühendada oma seadme iot platvormiga ning pääseda juurde reaalajas ja ajaloolistele andmetele.

Kasutage meie turvalisi API -sid, et ühendada oma rakendused teie seadmete andmetega.

Andmete tõlgendamiseks looge meie antud pilveteenuses rakendusi.

Soovitan: