Programmēšana

Pārskats: IBM Bluemix palielina mākoņu liešanas tehnoloģiju

Kad pagājušajā vasarā es pārskatīju Cloud Foundry PaaS (platforma kā pakalpojums), es koncentrējos uz atvērtā koda, Pivotal un ActiveState ieviešanu. Šajā pārskatā es apskatīšu IBM Bluemix - daudzfunkcionālu PaaS, kas tiek mitināts vietnē SoftLayer un kurā mākoņu liešana tiek apvienota ar uzlabotu tiešsaistes lietotāja saskarni un IBM un trešo personu pakalpojumiem.

Visizcilākie Bluemix pakalpojumi ir balstīti uz Watson, kognitīvo sistēmu, kas nodrošina dabisku valodas apstrādi, hipotēžu ģenerēšanu un novērtēšanu, kā arī dinamisku mācīšanos. Vairāki citi pakalpojumi un Bluemix integrācijas aizpilda mākoņu lietuves atvērtā koda versijas nepilnības - piemēram, automātiskās mērogošanas, mobilo, lielo datu un uzņēmuma integrācijas pakalpojumus.

Ņemiet vērā, ka nepilnības ir aizpildītas, nepadarot Cloud Foundry kodu. Faktiski Bala Rajaramans, Bluemix vadošais vadītājs, man teica: "Mēs netiksim dakšu." CF lietojumprogrammas konfigurācijas komandrindas programma, ko instalēju atvērtā koda Cloud Foundry un Pivotal CF, ir tāda pati kā Bluemix. Bosh PaaS konfigurācijas komandrindas programma, ko instalēju atvērtā koda mākoņu liešanai, ir tāda pati kā to, ko Bluemix inženieri izmanto iekšēji, taču Bluemix lietotājiem nekad nebūs jāmācās bosh, jo IBM nodoms ar Bluemix ir pasargāt lietotājus no PaaS administrācijas, koncentrēties uz servisu un ļaut lietotājiem vienkārši izveidot lietotnes.

Es atbalstu šo attieksmi. Kā izstrādātājs es atklāju, ka jāmācās bosh cīņa, un es jutu, ka smagā slodze PaaS konfigurēšanā jāatstāj operāciju ziņā. Manuprāt, PaaS un devops solījums ir zemas berzes konfigurācija un infrastruktūras pārvaldība, lai palīdzētu programmatūru izveidot un izvietot. Liekot izstrādātājam pavadīt ievērojamu sava laika daļu operatīvajam braucienam, kas nepieciešams PaaS izveidei, tiek pārkāpts PaaS darbības pamatmērķis. Tajā pašā laikā man patīk iespēja eksperimentiem privāti palaist viena VM “mikrocloud” PaaS klēpjdatorā, tāpēc es redzu arī ActiveState Stackato un lejupielādējamo PaaS VM attēlu vērtību.

Tā kā Bluemix ir veidots uz nemodificētas Mākoņu liešanas iekārtas, tai ir kopīga visa Mākoņu liešanas arhitektūra: pilītes, DEA (pilienu izpildes aģenti), veidnes un tā tālāk, kas darbojas virtuālajā mašīnā. Mākoņu liešanas daļa ir redzama gaiši zilā VM lodziņā zemāk esošās arhitektūras diagrammas kreisajā apakšējā stūrī (1. attēls).

Bluemix koplieto vairāk nekā Cloud Foundry arhitektūru: tā koplieto Cloud Foundry veidojumus un pakalpojumus, kas pieejami citās Cloud Foundry realizācijās, vienlaikus pievienojot dažus savus. Mēs to visu sadalīsim pa katliem, kas citur pazīstami kā ātrās palaišanas vai lietotņu veikals; izpildlaiki, kas citur pazīstami kā celtniecības komplekti; un pakalpojumiem. Bluemix ietver Watson, mobile, devops, tīmekļa un lietojumprogrammu, integrācijas, datu pārvaldības, lielo datu, drošības, biznesa analīzes un IoT (lietu internets) pakalpojumus. Es apskatīšu tos visus zemāk.

Bluemix pakalpojumus var atbalstīt dažādas puses: IBM, kopiena vai trešās puses uzņēmums. Eksperimentālie pakalpojumi ir bezmaksas, nestabili un var tikt mainīti, kas, iespējams, nav savietojami ar atpakaļejošu datumu. Tādējādi tie nav ieteicami ražošanai. Beta pakalpojumi ir bezmaksas, taču tie nav plaši pārbaudīti savvaļā. Visi Watson pakalpojumi pašlaik ir klasificēti kā beta.

Bluemix katlu plāksnes

Kā redzams 2. attēlā, Bluemix šobrīd piedāvā 13 dažādas “katlu plāksnes” jeb ātrās palaišanas paketes. Lai gan lielākajai daļai no tām ir IBM garša, tas ne vienmēr ir slikti.

Dažām no piedāvātajām katlām var būt nepieciešams paskaidrojums. Piemēram, Lietu interneta fonda starteris nodrošina Cloudant (saderīgu ar CouchDB) NoSQL JSON datu slāni un Node-RED lietojumprogrammu, kas tiek mitināta SDK izpildlaikam Node.js. Node-RED ir rīks aparatūras ierīču, API un tiešsaistes pakalpojumu vadu savienošanai. Starteris Node-RED ir līdzīgs, taču kopiena to atbalsta.

Java kešatmiņas tīmekļa starteris apvieno Liberty for Java, vieglu WebSphere profilu, DataCache pakalpojumu un uzraudzības un analīzes pakalpojumu. Bezmaksas līmenī DataCache ir tikai 50 MB, un pakalpojumam Monitoring and Analytics trūkst dziļākas veiktspējas uzraudzības un diagnostikas.

Programma Mobile Cloud apvieno Node.js, mobilo lietojumprogrammu drošību, IBM Push ziņojumapmaiņu un mobilos datus (ar daudzpakāpju mākoņaino aizmuguri). Tas ietver SDK Android, iOS un JavaScript. Bezmaksas līmenī tas ir ierobežots ar 2 GB krātuvi, 1 miljonu paziņojumu mēnesī un 375 GB stundām mēnesī. MobileFirst Services Starter ir līdzīgs, taču tajā ir īpaši paziņojumi un drošība tieši operētājsistēmai iOS 8.

Trīs lietotāju modelēšanas tīmekļa starteri savieno Watson lietotāju modelēšanas pakalpojumu ar izpildlaiku un kodu. Watson lietotāju modelēšana izmanto lingvistisko analīzi, lai no personiskās saziņas veida iegūtu personības un sociālo iezīmju kopumu ar mērķi personalizēt komunikāciju.

Vaadin ir atvērtā koda tīmekļa lietojumprogrammu sistēma bagātīgām interneta lietojumprogrammām. Vaadin starteris palaiž sistēmu Liberty for Java un izmanto DB2 datu bāzi.

Bluemix izpildlaiki, jeb buildpacks

Pakalpojumā Bluemix piedāvāto izpildlaiku atlasē ietilpst septiņi nosauktie būvmateriāli, kas parādīti 3. attēlā, kā arī jebkura cita būvpakete, kas ir apstiprināta mākoņu liešanai. Sešiem no parādītajiem izpildīšanas laikiem jums vajadzētu būt pazīstamiem; septītā, Sinatra, ir DSL (domēna valoda), lai ātri un ar minimālām pūlēm izveidotu tīmekļa lietojumprogrammas Ruby.

PHP buildpack atbalsta PHP 5.4, 5.5 un 5.6; Nginx 1,5, 1,6 un 1,7; un Apache HTTPD 2.4. PHP buildpack atbalstītā Python versija ir 2.6.6, kas patiesībā nav aktuāla. Savukārt Python buildpack atbalsta duci Pypy versiju, kā arī pāris desmitus Python 2 un Python 3 versiju.

Mākoņu liešanas sabiedrības kopas ietver Clojure, Haskell, Mono un Erlang izpildlaikus. Praktiski vienīgā populārā ar Linux saderīgo lietojumprogrammu servera valoda, kuru es nedomāju atbalstīt Cloud Foundry, ir Perl.

Watson pakalpojumi

Septiņi Watson pakalpojumi, kas pašlaik tiek piedāvāti Bluemix (4. attēls), ir jēdzienu paplašināšana, valodas identifikācija, mašīntulkošana, ziņojumu rezonanse, jautājumi un atbildes, attiecību iegūšana un lietotāju modelēšana. Visi joprojām ir beta versijā. Es iepriekš aprakstīju lietotāju modelēšanu. Pārējo es aplūkošu šeit.

Concept Expansion analizē tekstu un interpretē tā nozīmi, pamatojoties uz lietošanu citos līdzīgos kontekstos. Piemēram, tas varētu interpretēt "Lielo ābolu" ar jēgu "Ņujorka". To var izmantot, lai izveidotu saistīto vārdu un jēdzienu vārdnīcu, lai labāk saprastu un analizētu eifēmismus, sarunvalodus vai citādi neskaidras frāzes. Šim bezmaksas Bluemix beta pakalpojumam ir iepriekš noteikts datu kopums un domēns, tāpēc tas nav derīgs ražošanai.

Valodas identifikācijas dienests nosaka valodu, kurā teksts tiek rakstīts. Tas palīdz informēt par turpmākajām darbībām, piemēram, tulkošanu, balss tekstu vai tiešu analīzi. Pakalpojumu var izmantot vienlaikus ar mašīntulkošanas pakalpojumu. Mūsdienās dienests var identificēt 25 valodas.

Mašīntulkošanas pakalpojums pārveido teksta ievadi vienā valodā lietotāja mērķa valodā. Tulkošana ir pieejama angļu, brazīliešu portugāļu, spāņu, franču un arābu valodā.

Ziņojumu rezonanses pakalpojums analizē satura melnrakstu un novērtē, cik labi to, iespējams, saņems noteikta mērķauditorija. Šīs analīzes pamatā ir saturs, kuru ir uzrakstījusi pati mērķauditorija, piemēram, konkrētas sporta komandas fani vai jaunie vecāki. Lai arī nākamās versijas ļaus lietotājiem sniegt savus kopienas datus, šodien analīzi var veikt tikai pret cilvēkiem, kas aktīvi darbojas mākoņdatošanas vai mākoņdatošanas diskusijās; tas padara beta pakalpojumu bezjēdzīgu ražošanai domēnos, kas nav mākoņdatošana.

Jautājumu un atbilžu dienests interpretē un atbild uz lietotāju jautājumiem, tieši balstoties uz primārajiem datu avotiem (brošūras, Web lapas, rokasgrāmatas, ieraksti), kas ir atlasīti un apkopoti datu kopā vai "korpusā". Pakalpojums atgriež kandidātu atbildes ar saistītajiem ticamības līmeņiem un saitēm uz papildu pierādījumiem. Pašreizējie dati par Bluemix koncentrējas uz ceļojumu un veselības aprūpes nozarēm, padarot tos nederīgus citām jomām.

Saistību ekstrakcija parsē teikumus dažādos komponentos un nosaka attiecības starp komponentiem. Tas var apstrādāt jaunus terminus (piemēram, cilvēku vārdus ziņu plūsmā), kurus līdz šim nekad nav analizējis, izmantojot kontekstuālo analīzi. Teikuma komponentos ietilpst runas daļas (lietvārds, darbības vārds, īpašības vārds, saikne) un funkcijas (subjekti, objekti, predikāti). Pakalpojums kartē attiecības starp komponentiem, lai lietotāji vai analīzes motori varētu vieglāk saprast atsevišķu teikumu un dokumentu nozīmi.

Beta pakalpojums ir optimizēts ziņu rakstiem vai citam ar jaunumiem saistītam tekstam angļu vai spāņu valodā, izmantojot atsevišķas API; jūs to nevarat izmantot patvaļīgam domēnam un cerat saņemt labas atbildes. Kā redzams 5. attēlā, tas ne vienmēr sniedz labas atbildes pat uz ziņu rakstiem; domājams, ka pēc tam, kad būsit piegādājis pats savu mācību komplektu, varēsit pielāgot pakalpojumu savam interesējošajam domēnam.

Kopumā Bluemix beta Watson pakalpojumi izskatās pievilcīgi, taču tie vēl nav gatavi galvenajam laikam. Tas atbilst to pasniegšanas veidam.

Mobilie un lietojumprogrammu pakalpojumi

Mēs jau esam apsprieduši sešus no astoņiem mobilajiem pakalpojumiem, kas pieejami Bluemix. Vēl viena ir mobilās kvalitātes nodrošināšana, kas ļauj pārbaudīt mobilās lietotnes, pārbaudīt lietotājus un vienkāršot atsauksmes par kvalitāti, izmantojot noskaņojuma analīzi. ēku sadalījums pa gaisu; automatizēta avāriju ziņošana; un lietotņu kļūdu ziņošana un lietotāju atsauksmes. Un tur ir Twilio, trešās puses balss, ziņojumapmaiņas un VoIP pakalpojums.

Bluemix ir 19 tīmekļa un lietojumprogrammu pakalpojumi. Tas ir pārāk daudz, lai šeit apspriestu, bet pāris no tiem piemin. RapidApps ir ierobežotas funkcionalitātes beta pakalpojums, kas apgalvo, ka tas ļauj jums “ātri izstrādāt uz datiem orientētas tīmekļa un mobilās lietotnes, izmantojot vizuālos rīkus - bez kodēšanas”. Paredzams, ka RapidApps ir paredzēts biznesa analītiķiem; šķiet, ka šajā brīdī tas ir tālu no vārītiem, bet nākotnē varētu būt interesants.

Biznesa noteikumu pakalpojums ņem dabiskās valodas kārtulas, kuras izveidojat kārtulu noformētājā, un izpilda, kad tās izsauc jūsu lietotne. Šķiet, ka tas ir domāts arī biznesa analītiķiem, taču šobrīd tas ir labākā formā nekā RapidApps.

Devops pakalpojumi

Astoņos BlueMix devops pakalpojumos ietilpst pieci no IBM un trīs no trešām pusēm. Pakalpojums Izsekošana un plānošana ļauj jums izveidot stāstus, uzdevumus un defektus, lai aprakstītu un izsekotu projekta darbu, kā arī izmantot veiklus plānošanas rīkus produkta neizpildei, izlaidumiem un sprintiem. Šis pakalpojums būtībā sniedz jums Rational Team koncertu jūsu Git vai Jazz krātuvei.

Piegādes cauruļvada pakalpojums ļauj automatizēt būvējumus un izvietojumus, testēšanas izpildi, konfigurēt būvniecības skriptus un automatizēt vienību testu izpildi. Man patīk, kā šie divi pakalpojumi integrē Jazz saskarni ar Bluemix.

Pārraudzības un analīzes pakalpojumu mēs apspriedām Java kešatmiņas tīmekļa startera kontekstā. Automātiskā mērogošana Bluemix pievienojumprogrammai ļauj automātiski palielināt vai samazināt lietojumprogrammas aprēķināšanas jaudu. Lietotnes lietotāju reģistrs ļauj aizsargāt resursu lietojumprogrammu vai izstrādāt klienta lietojumprogrammu, pamatojoties uz OAuth 2.0. Trīs trešo personu devops pakalpojumi ir BlazeMeter, Load Impact un New Relic.

Citi pakalpojumi

Bluemix ir tikai divi integrācijas pakalpojumi, taču tie abi ir interesanti. Mākoņa integrācija ļauj lietotājiem integrēt mākoņa pakalpojumus ar uzņēmuma reģistrācijas sistēmām; tas pakļauj back-end sistēmas kā REST API, kas lietojamas lietojumprogrammās. Eksperimentālais konteineru pakalpojums ļauj palaist Docker konteinerus Bluemix, kas potenciāli atver Bluemix gandrīz jebko.

No 10 Bluemix datu pārvaldības pakalpojumiem divi ir paredzēti MySQL (viens atvērtā koda, viens izturīgs pret kļūdām), divi Postgres (tāpat), trīs NoSQL datu bāzēm un viens DB2. Pārējie divi datu pārvaldības pakalpojumi ir Object Storage (beta, pamatojoties uz OpenStack Swift) un DataWorks; pēdējais ietver API, kas ielādē datus, attīra ASV pasta adreses un klasificē datus.

Rezultātu karteLietošanas ērtums (20%) Atbalsta plašums (20%) Vadība (20%) Dokumentācija (15%) Uzstādīšana un iestatīšana (15%) Vērtība (10%) Kopējais rādītājs
IBM Bluemix999899 8.9
$config[zx-auto] not found$config[zx-overlay] not found