Programavimas

Peržiūra: „IBM Bluemix“ sukuria „Cloud Foundry“

Kai praėjusią vasarą peržiūrėjau „Cloud Foundry PaaS“ (platforma kaip paslauga), daugiausia dėmesio skyriau atvirojo kodo, „Pivotal“ ir „ActiveState“ diegimams. Šioje apžvalgoje apžvelgsiu „IBM Bluemix“ - daugiasluoksnį „PaaS“, kurį talpina „SoftLayer“ ir kuris sujungia „Cloud Foundry“ su patobulinta internetine vartotojo sąsaja ir IBM bei trečiųjų šalių paslaugomis.

Ryškiausios „Bluemix“ paslaugos yra pagrįstos pažintine sistema „Watson“, kuri teikia natūralų kalbos apdorojimą, hipotezių generavimą ir vertinimą bei dinamišką mokymąsi. Keletas kitų „Bluemix“ paslaugų ir integracijų užpildo „Cloud Foundry“ atvirojo kodo versijos spragas - pavyzdžiui, automatinio keitimo, mobiliųjų, didžiųjų duomenų ir įmonės integravimo paslaugos.

Atminkite, kad spragos buvo užpildytos nepadarant „Cloud Foundry“ kodo. Tiesą sakant, Bala Rajaramanas, „Bluemix“ techninės priežiūros vadovas, man pasakė: „Mes ne šakės.“ „CF“ programos konfigūravimo komandinės eilutės programa, kurią įdiegiau atvirojo kodo „Cloud Foundry“ ir „Pivotal CF“, yra tokia pati kaip „Bluemix“. „Bosh PaaS“ konfigūravimo komandų eilutės programa, kurią įdiegiau atvirojo kodo „Cloud Foundry“, yra ta pati, kurią „Bluemix“ inžinieriai naudoja viduje, tačiau „Bluemix“ vartotojams niekada nereikės išmokti „bosh“, nes IBM ketina „Bluemix“ apsaugoti vartotojus nuo „PaaS“ administravimo, sutelkti dėmesį į paslaugas ir leisti vartotojams tiesiog kurti programas.

Aš pritariu šiam požiūriui. Kaip kūrėjas pastebėjau, kad mokiausi bosh'o, ir jaučiau, kad sunkus konfigūravimas „PaaS“ turėtų būti paliktas operacijoms. Man „PaaS“ ir „devops“ pažadas yra mažos trinties konfigūracija ir infrastruktūros valdymas, padedantis kurti ir diegti programinę įrangą. Tai, kad kūrėjas praleidžia didelę savo laiko dalį operatyviniam darbui, reikalingam norint sukurti „PaaS“, pažeidžia pagrindinį tikslą turėti „PaaS“. Tuo pat metu man patinka galimybė privačiai paleisti vieno VM „mikrocloud“ PaaS nešiojamajame kompiuteryje, kad būtų galima atlikti eksperimentus, todėl aš taip pat matau „ActiveState Stackato“ ir atsisiųstų „PaaS VM“ vaizdų vertę.

Kadangi „Bluemix“ yra sukurtas nemodifikuotoje „Cloud Foundry“, ji naudojasi visa „Cloud Foundry“ architektūra: lašeliais, DEA (lašelių vykdymo agentais), kaupiamaisiais paketais ir pan., Kurie veikia virtualioje mašinoje. Debesų liejyklos dalis rodoma šviesiai mėlyname VM laukelyje apačioje kairėje žemiau esančioje architektūros schemoje (1 pav.).

„Bluemix“ dalijasi daugiau nei „Cloud Foundry“ architektūra: ji dalijasi „Cloud Foundry“ paketais ir paslaugomis, prieinamomis kituose „Cloud Foundry“ diegimuose, pridėdama keletą savo. Visa tai suskirstysime į katilines, kitur žinomas kaip greitas paleidimas arba programų parduotuvė; vykdymo laikas, kitur žinomas kaip „buildpacks“; ir paslaugos. „Bluemix“ apima „Watson“, „mobile“, „devops“, interneto ir programų, integravimo, duomenų valdymo, didžiųjų duomenų, saugumo, verslo analizės ir daiktų interneto (daiktų interneto) paslaugas. Aš apžvelgsiu juos visus žemiau.

„Bluemix“ paslaugas gali palaikyti įvairios šalys: IBM, bendruomenė ar trečiųjų šalių įmonė. Eksperimentinės paslaugos yra nemokamos, nestabilios ir gali keistis, kurios gali būti nesuderinamos atgal. Taigi jie nerekomenduojami gamybai. „Beta“ paslaugos yra nemokamos, tačiau nebuvo plačiai išbandytos laukinėje gamtoje. Visos „Watson“ paslaugos šiuo metu yra priskiriamos beta versijai.

„Bluemix“ katilinės

Kaip matote 2 paveiksle, „Bluemix“ šiuo metu siūlo 13 skirtingų „katilinių“ arba greito paleidimo paketų. Nors dauguma jų turi IBM skonį, tai nebūtinai yra blogai.

Kai kurias siūlomas katilines gali tekti paaiškinti. Pavyzdžiui, „Internet of Things Foundation Starter“ teikia „Cloudant“ (suderinamą su „CouchDB“) „NoSQL JSON“ duomenų sluoksnį ir „Node-RED“ programą, priglobtą SDK, vykdant „Node.js“. „Node-RED“ yra aparatinės įrangos, API ir internetinių paslaugų sujungimo įrankis. „Node-RED Starter“ yra panašus, tačiau palaikomas bendruomenės.

„Java Cache Web Starter“ sujungia „Liberty for Java“, lengvą „WebSphere“ profilį, „DataCache“ paslaugą ir stebėjimo ir „Analytics“ paslaugą. Laisvu lygiu „DataCache“ yra tik 50 MB, o „Monitoring and Analytics“ tarnybai trūksta gilesnio našumo stebėjimo ir diagnostikos.

„Mobile Cloud“ katilinė sujungia „Node.js“, „Mobile Application Security“, „IBM Push“ pranešimus ir mobiliuosius duomenis (su daugialypiu „Cloudant“ galu). Tai apima „Android“, „iOS“ ir „JavaScript“ skirtus SDK. Laisvu lygiu jis apsiriboja 2 GB atminties, 1 milijonu „push“ pranešimų per mėnesį ir 375 GB valandų per mėnesį. „MobileFirst Services Starter“ yra panašus, tačiau apima „push“ pranešimus ir saugumą, skirtą specialiai „iOS 8“.

Trys „User Modeling Web“ kūrėjai sujungia „Watson User Modeling“ paslaugą su vykdymo laiku ir tam tikru kodo pavyzdžiu. „Watson“ naudotojo modeliavimas naudoja kalbinę analizę, kad iš asmenybės bendravimo būdo išgautų asmenybės ir socialinių bruožų rinkinį, kurio tikslas - personalizuoti bendravimą.

„Vaadin“ yra atvirojo kodo žiniatinklio programų sistema, skirta turtingoms interneto programoms. „Vaadin“ starteris paleidžia sistemą „Liberty for Java“ ir naudoja DB2 duomenų bazę.

„Bluemix“ vykdymo laikas, dar žinomas kaip „buildpacks“

Į „Bluemix“ siūlomų vykdymo trukmių pasirinkimą įtraukiami septyni pavadinti paketai, pavaizduoti 3 paveiksle, ir visi kiti „Cloud Foundry“ patvirtinti paketai. Šeši iš rodytų laiko turėtų būti jums žinomi; septintoji „Sinatra“ yra DSL (domenui būdinga kalba), skirta greitai ir su minimaliomis pastangomis kurti žiniatinklio programas „Ruby“.

PHP paketas palaiko PHP 5.4, 5.5 ir 5.6; Nginx 1,5, 1,6 ir 1,7; ir „Apache HTTPD 2.4“. PHP „buildpack“ palaikoma „Python“ versija yra 2.6.6, kuri iš tikrųjų nėra dabartinė. Kita vertus, „Python buildpack“ palaiko keliolika „Pypy“ versijų, taip pat po kelias dešimtis „Python 2“ ir „Python 3“ versijų.

„Cloud Foundry“ bendruomenės paketai apima „Clojure“, „Haskell“, „Mono“ ir „Erlang“ vykdymo laiką. Praktiškai vienintelė populiari „Linux“ suderinama programų serverio kalba, kurios neradau palaikanti „Cloud Foundry“, yra „Perl“.

Watson paslaugos

Septynios „Watson“ paslaugos, šiuo metu siūlomos „Bluemix“ (4 pav.), Yra sąvokos išplėtimas, kalbos identifikavimas, mašininis vertimas, pranešimų rezonansas, klausimų ir atsakymų, santykių išskyrimas ir vartotojo modeliavimas. Visi dar yra beta versijos. Vartotojo modeliavimą aprašiau anksčiau. Čia padengsiu likusius dalykus.

Sąvokos išplėtimas analizuoja tekstą ir interpretuoja jo reikšmę, remdamasis vartojimu kituose, panašiuose kontekstuose. Pavyzdžiui, jis galėtų interpretuoti „Didįjį obuolį“ kaip „Niujorką“. Jis gali būti naudojamas kuriant susijusių žodžių ir sąvokų žodyną, kad būtų geriau suprantami ir analizuojami eufemizmai, šnekamosios kalbos ar šiaip neaiškios frazės. Ši nemokama „Bluemix“ beta versija turi iš anksto nustatytą duomenų rinkinį ir domeną, todėl tai nenaudinga gamybai.

Kalbos identifikavimo tarnyba aptinka kalbą, kuria rašomas tekstas. Tai padeda informuoti apie tolesnius veiksmus, tokius kaip vertimas, balsas į tekstą ar tiesioginė analizė. Paslauga galima naudotis kartu su mašininio vertimo paslauga. Šiandien tarnyba gali nustatyti 25 kalbas.

Mašininio vertimo paslauga teksto įvestį viena kalba paverčia vartotojo paskirties kalba. Vertimas galimas anglų, brazilų, portugalų, ispanų, prancūzų ir arabų kalbomis.

„Message Resonance“ tarnyba analizuoja turinio juodraštį ir įvertina, ar gerai jį gali priimti konkreti tikslinė auditorija. Ši analizė pagrįsta turiniu, kurį parašė pati tikslinė auditorija, pavyzdžiui, konkrečios sporto komandos gerbėjai ar nauji tėvai. Nors būsimos versijos leis vartotojams pateikti savo bendruomenės duomenis, šiandien analizę galima atlikti tik prieš žmones, kurie aktyviai dalyvauja debesų kompiuterijoje ar debesų kompiuterijos diskusijose; tai daro beta paslaugą nenaudingą gamybai kitose srityse nei debesų kompiuterija.

Klausimų ir atsakymų tarnyba interpretuoja ir atsako į vartotojų klausimus tiesiogiai remdamasi pirminiais duomenų šaltiniais (brošiūromis, tinklalapiais, vadovais, įrašais), kurie buvo pasirinkti ir surinkti į duomenų rinkinį arba „korpusą“. Tarnyba pateikia kandidatų atsakymus su susijusiais pasitikėjimo lygiais ir nuorodomis į patvirtinančius įrodymus. Dabartiniai „Bluemix“ duomenys sutelkti į kelionių ir sveikatos priežiūros pramonę, todėl jie yra nenaudingi kitoms sritims.

Ryšių ištraukimas analizuoja sakinius į įvairius komponentus ir nustato santykius tarp komponentų. Jis gali apdoroti naujus terminus (pvz., Žmonių vardus naujienų sraute), kurių dar niekada neanalizavo, atlikdamas kontekstinę analizę. Sakinio komponentai apima kalbos dalis (daiktavardis, veiksmažodis, būdvardis, jungtukas) ir funkcijas (subjektai, daiktai, predikatai). Paslauga susieja santykius tarp komponentų, kad vartotojai ar analizės varikliai galėtų lengviau suprasti atskirų sakinių ir dokumentų prasmę.

Beta versija yra optimizuota naujienų straipsniams ar kitam su naujienomis susijusiam tekstui anglų arba ispanų kalbomis, naudojant atskiras API; negalite jo naudoti savavališkam domenui ir tikėtis gauti gerų atsakymų. Kaip matote 5 paveiksle, tai ne visada pateikia gerus atsakymus net į naujienų straipsnius; tikriausiai, kai galėsite pateikti savo mokymų komplektą, galėsite pritaikyti paslaugą pagal dominančią sritį.

Apskritai „Bluemix“ beta „Watson“ paslaugos atrodo viliojančios, tačiau jos dar nėra pasirengusios geriausiu laiku. Tai atitinka jų pateikimo būdą.

Mobiliųjų ir taikomųjų programų paslaugos

Jau aptarėme šešias iš aštuonių „Bluemix“ mobiliųjų paslaugų. Kitas yra „Mobilus kokybės užtikrinimas“, leidžiantis išbandyti programas mobiliesiems, patvirtinti vartotojus ir supaprastinti atsiliepimus apie kokybę, analizuojant nuotaikas; pastatų paskirstymas ore; automatizuotas avarijų pranešimas; pranešimai apie klaidas programoje ir vartotojų atsiliepimai. Čia yra „Twilio“, trečiosios šalies balso, pranešimų ir „VoIP“ paslauga.

„Bluemix“ yra 19 žiniatinklio ir programų paslaugų. Tai per daug, kad čia būtų galima diskutuoti, tačiau pora jų pamini. „RapidApps“ yra ribotos funkcinės galimybės beta versija, leidžianti „greitai kurti į duomenis orientuotas žiniatinklio ir mobiliąsias programas, naudodama vaizdinius įrankius, be kodavimo“. Manoma, kad „RapidApps“ yra skirta verslo analitikams; atrodo, kad šiuo metu jis toli gražu nėra virtas, tačiau gali būti įdomus ateityje.

Verslo taisyklių paslauga atsižvelgia į natūralių kalbų taisykles, kurias sukuriate naudodami taisyklių kūrėją, ir jas vykdo, kai jas pakviečia jūsų programa. Atrodo, kad tai taip pat skirta verslo analitikams, tačiau šiuo metu ji yra geresnės formos nei „RapidApps“.

„Devops“ paslaugos

Aštuonias „BlueMix“ paslaugų paketus sudaro penki iš IBM ir trys iš trečiųjų šalių. „Stebėkite ir planuokite“ paslauga leidžia kurti istorijas, užduotis ir defektus, apibūdinančius ir sekančius projekto darbus, taip pat naudoti judrius planavimo įrankius, susijusius su produkto sukaupimu, leidimais ir sprintais. Ši paslauga iš esmės suteikia jums „Rational Team“ koncertą jūsų „Git“ ar „Jazz“ saugyklai.

„Delivery Pipeline“ paslauga leidžia automatizuoti versijas ir diegimus, testavimo vykdymą, konfigūruoti kūrimo scenarijus ir automatizuoti vieneto testų vykdymą. Man patinka, kaip šios dvi paslaugos integruoja „Jazz“ sąsają su „Bluemix“.

„Monitoring and Analytics“ paslaugą aptarėme „Java Cache“ žiniatinklio starterio kontekste. „Bluemix“ priedo automatinis mastelio keitimas leidžia automatiškai padidinti arba sumažinti programos skaičiavimo pajėgumą. Programos vartotojo registras leidžia apsaugoti išteklių programą arba kurti kliento programą, pagrįstą „OAuth 2.0“. Trys trečiųjų šalių „devops“ paslaugos yra „BlazeMeter“, „Load Impact“ ir „New Relic“.

Kitos paslaugos

„Bluemix“ yra tik dvi integravimo paslaugos, tačiau jos abi yra įdomios. „Cloud Integration“ suteikia vartotojams galimybę integruoti debesijos paslaugas su įmonės įrašų sistemomis; jis atskleidžia užpakalines sistemas kaip REST API, kurias gali naudoti programos. Eksperimentinė konteinerių tarnyba leidžia paleisti „Docker“ konteinerius „Bluemix“, o tai gali atverti „Bluemix“ beveik viską.

Iš 10 „Bluemix“ duomenų tvarkymo paslaugų yra skirtos „MySQL“ (viena atviro kodo, viena tolerantiška triktims), dvi „Postgres“ (tas pats), trys „NoSQL“ duomenų bazėms ir viena skirta DB2. Likusios dvi duomenų valdymo paslaugos yra „Object Storage“ (beta versija, paremta „OpenStack Swift“) ir „DataWorks“; pastarasis apima API, kurios įkelia duomenis, valo JAV pašto adresus ir klasifikuoja duomenis.

Rezultatų kortelėNaudojimo paprastumas (20%) Palaikymo plotis (20%) Valdymas (20%) Dokumentacija (15%) Diegimas ir sąranka (15%) Vertė (10%) Bendras rezultatas
„IBM Bluemix“999899 8.9
$config[zx-auto] not found$config[zx-overlay] not found