Programiranje

Pregled: IBM Bluemix povečuje oblak v livarni oblakov

Ko sem lani poleti pregledoval Cloud Foundry PaaS (platforma kot storitev), sem se osredotočil na implementacije odprtokodne, Pivotal in ActiveState. V tem pregledu si bom ogledal IBM Bluemix, večnamenski PaaS, gostovan na SoftLayerju, ki združuje Cloud Foundry z izboljšanim spletnim uporabniškim vmesnikom in storitvami IBM-a in tretjih oseb.

Najizrazitejše storitve Bluemixa temeljijo na Watsonu, kognitivnem sistemu, ki zagotavlja obdelavo naravnega jezika, ustvarjanje in vrednotenje hipotez ter dinamično učenje. Številne druge storitve in integracije v Bluemixu zapolnjujejo vrzeli v odprtokodni različici Cloud Foundry - na primer samodejno spreminjanje skale, mobilne storitve za velike podatke in integracijo podjetij.

Upoštevajte, da so bile vrzeli zapolnjene, ne da bi se koda Cloud Foundry razkrila. Pravzaprav mi je Bala Rajaraman, tehnični direktor Bluemixa, povsem rekel: "Ne bomo vilice." Program ukazne vrstice za konfiguracijo aplikacije cf, ki sem ga namestil za odprtokodni Cloud Foundry in Pivotal CF, je enak tistemu za Bluemix. Program boh PaaS za ukazno vrstico za konfiguracijo, ki sem ga namestil za odprtokodno tehnologijo Cloud Foundry, je enak tistemu, ki ga inženirji Bluemix uporabljajo interno - toda uporabniki Bluemixa se nikoli ne bodo morali naučiti bosh-a, saj je IBM-ov namen z Bluemixom zaščititi uporabnike pred administracijo PaaS-a, osredotočiti se na storitve in uporabnikom omogočiti preprosto izdelavo aplikacij.

Takšen odnos odobravam. Kot razvijalec se mi je zdelo, da je učenje zelo težko in se mi je zdelo, da je treba težko konfiguriranje PaaS prepustiti operacijam. Zame je obljuba PaaS in devops konfiguracija z nizkim trenjem in upravljanje infrastrukture za pomoč pri gradnji in uvajanju programske opreme. Razvijalci, ki porabijo velik del svojega časa za operativni del, potreben za postavitev PaaS, premagajo temeljni namen PaaS. Hkrati mi je všeč zmožnost zasebnega vodenja PaaS-ja z enim VM-jem na prenosnem računalniku za eksperimente, zato vidim tudi vrednost ActiveState Stackato in prenosljive slike PaaS VM.

Ker je Bluemix zgrajen na nespremenjeni Cloud Foundry, si deli vso arhitekturo Cloud Foundry: Droplets, DEA (Droplet Execution Agents), buildpacks itd., Ki teče v navideznem računalniku. Del Cloud Foundry je prikazan v svetlo modrem polju VM v spodnjem levem delu spodnjega diagrama arhitekture (slika 1).

Bluemix deli več kot arhitektura Cloud Foundry: deli gradbene pakete Cloud Cloud in storitve, ki so na voljo v drugih izvedbah Cloud Foundryja, hkrati pa doda nekaj svojih. Vse to bomo razdelili na kotlovnice, ki jih drugod poznamo kot hitri zagon ali trgovino z aplikacijami; časi izvajanja, znani drugje kot gradniki; in storitve. Bluemix vključuje storitve za Watson, mobilne naprave, devops, splet in aplikacije, integracijo, upravljanje podatkov, velike podatke, varnost, poslovno analitiko in IoT (internet stvari). Vse bom pregledal spodaj.

Storitve Bluemix lahko podpirajo različne stranke: IBM, skupnost ali neodvisno podjetje. Eksperimentalne storitve so brezplačne, nestabilne in so predmet sprememb, ki morda niso združljive z nazaj. Zato niso priporočljivi za proizvodnjo. Beta storitve so brezplačne, vendar v naravi niso bile temeljito preizkušene. Vse storitve Watson so trenutno razvrščene kot beta.

Kotli Bluemix

Kot lahko vidite na sliki 2, Bluemix trenutno ponuja 13 različnih paketov "kotlov" ali paketov za hitri zagon. Čeprav ima večina teh okus IBM-a, to ni nujno slabo.

Nekatere ponujene grelne plošče lahko zahtevajo nekaj pojasnil. Na primer, Internet of Things Foundation Starter ponuja podatkovno plast NoSQL JSON Cloudant (združljiva z CouchDB) in aplikacijo Node-RED, ki gostuje v SDK-ju za izvajanje Node.js. Node-RED je orodje za povezovanje strojnih naprav, API-jev in spletnih storitev. Node-RED Starter je podoben, vendar ga podpira skupnost.

Java Cache Web Starter združuje Liberty za Javo, lahek profil WebSphere, storitev DataCache in storitev za spremljanje in analitiko. Na brezplačni ravni je DataCache le 50 MB, storitev Nadzor in analitika pa nima globljega spremljanja in diagnostike delovanja.

Kotni model Mobile Cloud združuje Node.js, Mobile Application Security, IBM Push sporočanje in mobilne podatke (z večnamenskim zadkom Cloudant). Vključuje SDK-je za Android, iOS in JavaScript. Na brezplačni ravni je omejen na 2 GB prostora za shranjevanje, 1 milijon potisnih obvestil na mesec in 375 GB ur na mesec. MobileFirst Services Starter je podoben, vendar vključuje potisna obvestila in varnost posebej za iOS 8.

Trije spletni začetniki za modeliranje uporabnikov združujejo storitev modeliranja uporabnikov Watson z izvajanjem in nekaj vzorčne kode. Uporabniško modeliranje Watson uporablja jezikovno analitiko, da iz načina komuniciranja izvleče vrsto osebnostnih in družbenih lastnosti s ciljem personalizacije komunikacije.

Vaadin je odprtokodni okvir spletnih aplikacij za bogate internetne aplikacije. Začetnik Vaadin zažene ogrodje v Liberty za Javo in uporablja bazo podatkov DB2.

Izvedbe Bluemixa, tudi gradniki

Izbor izvajalnih programov, ki jih ponuja Bluemix, vključuje sedem imenovanih gradbenih paketov, prikazanih na sliki 3, ter vse druge gradbene pakete, ki so odobreni za Cloud Foundry. Šest od prikazanih izvedb bi vam moralo biti znano; sedmi, Sinatra, je DSL (jezik, specifičen za domeno) za hitro in z minimalnim naporom ustvarjanje spletnih aplikacij v Rubyju.

PHP buildpack podpira PHP 5.4, 5.5 in 5.6; Nginx 1,5, 1,6 in 1,7; in Apache HTTPD 2.4. Različica Pythona, ki jo podpira PHP buildpack, je 2.6.6, kar v resnici ni trenutno. Paket build Python pa podpira ducat različic Pypyja in nekaj ducatov različic Python 2 in Python 3.

Komponente skupnosti za livarno oblakov vključujejo čas delovanja Clojure, Haskell, Mono in Erlang. Praktično edini priljubljeni jezik aplikacijskega strežnika, združljiv z Linuxom, ki ga nisem našel podprt v Cloud Foundry, je Perl.

Storitve Watson

Sedem storitev Watson, ki jih trenutno ponuja Bluemix (slika 4), so razširitev koncepta, identifikacija jezika, strojno prevajanje, resonanca sporočil, vprašanje in odgovor, ekstrakcija odnosov in modeliranje uporabnikov. Vsi so še vedno v različici beta. Uporabniško modeliranje sem opisal že prej. Ostalo bom pokril tukaj.

Concept Expansion analizira besedilo in razlaga njegov pomen na podlagi uporabe v drugih, podobnih kontekstih. Na primer, "Veliko jabolko" bi lahko razlagalo tako, da pomeni "New York City". Z njim lahko ustvarimo slovar sorodnih besed in konceptov, da lahko evfemizme, pogovorne pogoje ali kako drugače nejasne besedne zveze bolje razumemo in analiziramo. Ta brezplačna storitev Bluemix beta ima vnaprej določen nabor podatkov in domeno, zato je neuporabna za proizvodnjo.

Storitev za identifikacijo jezika zazna jezik, v katerem je napisano besedilo. To pomaga pri obveščanju o naslednjih korakih, kot so prevod, glas v besedilo ali neposredna analiza. Storitev se lahko uporablja skupaj s storitvijo strojnega prevajanja. Danes lahko storitev prepozna 25 jezikov.

Storitev strojnega prevajanja pretvori vnos besedila v enem jeziku v ciljni jezik za uporabnika. Prevodi so na voljo v angleščino, brazilsko portugalščino, španščino, francoščino in arabščino.

Storitev Message Resonance analizira osnutek vsebine in oceni, kako dobro jo bo sprejela določena ciljna skupina. Ta analiza temelji na vsebini, ki jo je napisala ciljna publika sama, na primer navijači določene športne ekipe ali novopečeni starši. Čeprav bodo prihodnje različice omogočile uporabnikom, da posredujejo lastne podatke o skupnosti, je danes analizo mogoče opraviti samo proti ljudem, ki so dejavni v računalništvu v oblaku ali v razpravah v oblaku zaradi tega je storitev beta neuporabna za proizvodnjo na drugih področjih, kot je računalništvo v oblaku.

Storitev Vprašanja in odgovori interpretira in odgovarja na uporabniška vprašanja neposredno na podlagi primarnih virov podatkov (brošure, spletne strani, priročniki, zapisi), ki so bili izbrani in zbrani v zbirko podatkov ali "korpus". Storitev vrne odgovore kandidatov s pripadajočimi stopnjami zaupanja in povezavami do ustreznih dokazov. Trenutni podatki o Bluemixu se osredotočajo na potovalno in zdravstveno industrijo, zaradi česar so neuporabni za druga področja.

Razdvajanje odnosov razčlenjuje stavke na različne komponente in zazna razmerja med komponentami. Obdeluje lahko nove izraze (na primer imena ljudi v novice), ki jih doslej še ni analiziral s pomočjo kontekstualne analize. Stavniške sestavine vključujejo dele govora (samostalnik, glagol, pridevnik, veznik) in funkcije (subjekti, predmeti, predikati). Storitev preslikava razmerja med komponentami, tako da lahko uporabniki ali analitični mehanizmi lažje razumejo pomen posameznih stavkov in dokumentov.

Storitev beta je z ločenimi API-ji optimizirana za novice ali druga besedila, povezana z novicami, v angleščini ali španščini; ne morete ga uporabiti za poljubno domeno in pričakujete dobre odgovore. Kot lahko vidite na sliki 5, ta ne daje vedno dobrih odgovorov niti za novice; predvidoma, ko boste lahko priskrbeli svoj komplet vadbe, boste lahko storitev nastavili na svojo domeno, ki vas zanima.

Na splošno so beta storitve Watson na Bluemixu videti moteče, vendar še niso pripravljene za prime time. To je v skladu z načinom njihove predstavitve.

Mobilne in aplikacijske storitve

Govorili smo že o šestih od osmih mobilnih storitev, ki so na voljo na Bluemixu. Drugo je Mobile Quality Assurance, ki omogoča testiranje aplikacij za mobilne naprave, preverjanje uporabnikov in racionalizirane povratne informacije o kakovosti z analizo razpoloženja; distribucija gradnje po zraku; avtomatizirano poročanje o zrušitvah; in poročanje o napakah v aplikaciji ter povratne informacije uporabnikov. In tu je Twilio, storitev za glas, sporočanje in VoIP neodvisne stranke.

V Bluemixu je 19 spletnih in aplikacijskih storitev. To je preveč, da bi tukaj razpravljali, nekaj pa jih omenja. RapidApps je beta storitev z omejeno funkcionalnostjo, ki trdi, da vam omogoča "hiter razvoj podatkovnih in mobilnih aplikacij s pomočjo vizualnih orodij - brez kodiranja." RapidApps naj bi bil namenjen poslovnim analitikom; zdi se, da v tem trenutku še zdaleč ni kuhano, vendar bi lahko bilo zanimivo v prihodnosti.

Storitev poslovnih pravil sprejme pravila naravnega jezika, ki jih ustvarite v oblikovalniku pravil, in jih izvede, ko jih prikliče vaša aplikacija. Zdi se, da je to namenjeno tudi poslovnim analitikom, vendar je trenutno v boljši formi kot RapidApps.

Devops storitve

Osem storitev devops na BlueMixu vključuje pet IBM-ovih in tri tretje osebe. Storitev sledenja in načrtovanja vam omogoča ustvarjanje zgodb, nalog in napak za opisovanje in sledenje projektnih del ter uporabo okretnih orodij za načrtovanje zaostalih izdelkov, izdaj in sprintov. Ta storitev vam v bistvu nudi Rational Team Concert za vaše skladišče Git ali Jazz.

Storitev Delivery Pipeline vam omogoča avtomatizacijo gradnje in razmestitve, izvajanje preizkusov, konfiguriranje skriptov gradnje in avtomatizacijo izvajanja preskusov enote. Všeč mi je, kako ti dve storitvi integrirata Jazz vmesnik z Bluemixom.

O storitvi Monitoring and Analytics smo razpravljali v okviru spletnega zaganjalnika Java Cache. Samodejno skaliranje za dodatek Bluemix vam omogoča samodejno povečanje ali zmanjšanje računske zmogljivosti vaše aplikacije. Register uporabniških aplikacij vam omogoča zaščito aplikacije virov ali razvoj odjemalske aplikacije na podlagi OAuth 2.0. Tri neodvisne storitve devops so BlazeMeter, Load Impact in New Relic.

Druge storitve

V Bluemixu sta samo dve integracijski storitvi, vendar sta obe zanimivi. Cloud Integration omogoča uporabnikom, da integrirajo storitve v oblaku s sistemom evidentiranja v podjetju; izpostavlja zaledne sisteme kot API-je REST, ki jih uporabljajo aplikacije. Eksperimentalna storitev Containers Service vam omogoča, da na Bluemixu zaženete Dockerjeve vsebnike, kar Bluemix potencialno odpre skoraj vse.

Od 10 storitev za upravljanje podatkov v Bluemixu sta dve za MySQL (ena odprtokodna, ena odporna na napake), dve za Postgres (enako), tri za podatkovne baze NoSQL in ena za DB2. Preostali dve storitvi za upravljanje podatkov sta Object Storage (beta, na osnovi OpenStack Swift) in DataWorks; slednja vključuje API-je, ki nalagajo podatke, čistijo ameriške poštne naslove in razvrščajo podatke.

PreglednicaEnostavnost uporabe (20%) Širina podpore (20%) Upravljanje (20%) Dokumentacija (15%) Namestitev in namestitev (15%) Vrednost (10%) Skupna ocena
IBM Bluemix999899 8.9
$config[zx-auto] not found$config[zx-overlay] not found