Programovanie

Recenzia: IBM Bluemix hromadne rozširuje Cloud Foundry

Keď som minulé leto recenzoval Cloud Foundry PaaS (platforma ako služba), sústredil som sa na implementácie otvoreného zdroja, Pivotal a ActiveState. V tejto recenzii sa pozriem na IBM Bluemix, multicentrálny PaaS hostovaný na SoftLayer, ktorý kombinuje Cloud Foundry s vylepšeným online užívateľským rozhraním a službami od IBM a tretích strán.

Najvýraznejšie služby Bluemix sú založené na Watsone, kognitívnom systéme, ktorý poskytuje spracovanie prirodzeného jazyka, generovanie a hodnotenie hypotéz a dynamické učenie. Niekoľko ďalších služieb a integrácií v Bluemixe vypĺňa medzery v open source verzii Cloud Foundry - napríklad automatické škálovanie, mobilné dáta, veľké dáta a služby podnikovej integrácie.

Upozorňujeme, že medzery boli vyplnené bez rozvetvenia kódu Cloud Foundry. V skutočnosti mi Bala Rajaraman, CTO spoločnosti Bluemix, povedal: „Nebudeme rozdvojovať.“ Program príkazového riadku na konfiguráciu aplikácie cf, ktorý som nainštaloval pre cloudovú zlučiteľnosť s otvoreným zdrojom a Pivotal CF, je rovnaký ako program pre Bluemix. Program konfiguračného príkazového riadku Bosh PaaS, ktorý som nainštaloval pre Open Source Cloud Foundry, je rovnaký ako to, ktoré interne používajú inžinieri Bluemix - používatelia Bluemix sa však už nikdy nebudú musieť učiť bosh, pretože zámerom spoločnosti IBM s Bluemix je chrániť používateľov pred správou PaaS, zamerať sa na služby a umožniť používateľom jednoducho vytvárať aplikácie.

Tento postoj schvaľujem. Ako vývojára som zistil, že učiť sa bosha je boj, a cítil som, že ťažké zdvíhanie konfigurácie PaaS by malo byť ponechané na prevádzku. Prísľubom PaaS a devops pre mňa je konfigurácia a správa infraštruktúry s nízkym trením, ktorá pomáha pri vytváraní a nasadení softvéru. To, že núti vývojára tráviť značnú časť svojho času na operačnom systéme potrebnom na nastavenie PaaS, je v rozpore so základným účelom, ktorý má mať PaaS. Zároveň sa mi páči možnosť experimentovať so samostatným virtuálnym počítačom „microcloud“ PaaS na notebooku na experimenty, a preto vidím aj hodnotu ActiveState Stackato a stiahnuteľných obrázkov PaaS VM.

Pretože je Bluemix postavený na nemodifikovanej Cloud Foundry, zdieľa všetku architektúru Cloud Foundry: Droplets, DEAs (Droplet Execution Agents), buildpacky atď., Bežiace na virtuálnom stroji. Časť Cloud Foundry sa zobrazuje v svetlomodrom poli VM v ľavom dolnom rohu diagramu architektúry nižšie (obrázok 1).

Bluemix zdieľa viac ako architektúra Cloud Foundry: zdieľa buildpacky a služby Cloud Foundry dostupné v iných implementáciách Cloud Foundry, pričom pridáva niektoré svoje vlastné. Všetko to rozdelíme na kotlové dosky, ktoré sa inde označujú ako rýchle spustenia alebo obchod s aplikáciami; runtime, inde známe ako buildpacky; a služby. Bluemix obsahuje služby pre Watson, mobil, devops, web a aplikácie, integráciu, správu dát, veľké dáta, bezpečnosť, obchodnú analytiku a IoT (internet vecí). Všetky z nich preskúmam nižšie.

Služby Bluemix môžu podporovať rôzne strany: IBM, komunita alebo spoločnosť tretej strany. Experimentálne služby sú bezplatné, nestabilné a môžu sa meniť, čo nemusí byť spätne kompatibilné. Preto sa neodporúčajú na výrobu. Služby verzie beta sú zadarmo, ale neboli podrobené rozsiahlym testom v divočine. Všetky služby Watson sú v súčasnosti klasifikované ako beta.

Varné platne Bluemix

Ako môžete vidieť na obrázku 2, program Bluemix v súčasnosti ponúka 13 rôznych „varných dosiek“ alebo balíkov na rýchle spustenie. Aj keď väčšina z nich má príchuť IBM, nemusí to byť nevyhnutne zlé.

Niektoré ponúkané varné dosky môžu vyžadovať určité vysvetlenie. Napríklad Internet of Things Foundation Starter poskytuje dátovú vrstvu NoSQL JSON Cloudant (kompatibilnú s CouchDB) a aplikáciu Node-RED hostovanú na SDK pre runtime Node.js. Node-RED je nástroj na vzájomné prepojenie hardvérových zariadení, rozhraní API a služieb online. Node-RED Starter je podobný, ale podporovaný komunitou.

Java Cache Web Starter kombinuje Liberty for Java, ľahký profil WebSphere, službu DataCache a službu Monitoring and Analytics. Na bezplatnej úrovni má DataCache iba 50 MB a službe Monitorovanie a analýza chýba hlbšie sledovanie výkonu a diagnostika.

Štandardná platforma Mobile Cloud kombinuje Node.js, Mobile Application Security, IBM Push messaging a Mobile Data (s multitenantným koncovým serverom Cloudant). Zahŕňa súpravy SDK pre Android, iOS a JavaScript. Na bezplatnej úrovni je obmedzený na 2 GB úložiska, 1 milión oznámení push mesačne a 375 GB hodín mesačne. MobileFirst Services Starter je podobný, ale obsahuje push notifikácie a zabezpečenie špeciálne pre iOS 8.

Tri webové spúšťače modelovania používateľov spájajú službu Watson User Modeling s runtime a nejakým vzorovým kódom. Watson User Modeling využíva jazykovú analýzu na extrakciu súboru osobnostných a sociálnych čŕt z spôsobu, akým osoba komunikuje, s cieľom personalizácie komunikácie.

Vaadin je open source webový aplikačný rámec pre bohaté internetové aplikácie. Štartér Vaadin spúšťa framework v Liberty for Java a používa databázu DB2.

Runtime Bluemix, alias buildpacky

Výber runtime ponúkaných na Bluemix obsahuje sedem pomenovaných buildpackov zobrazených na obrázku 3, plus akýkoľvek iný buildpack, ktorý je schválený pre Cloud Foundry. Šesť zo zobrazených časov by vám malo byť známych; siedmy, Sinatra, je DSL (jazyk špecifický pre doménu) na rýchle a minimálne úsilie pri vytváraní webových aplikácií v Ruby.

Balík PHP build podporuje PHP 5.4, 5.5 a 5.6; Nginx 1,5, 1,6 a 1,7; a Apache HTTPD 2.4. Verzia Python podporovaná v balíku PHP build je 2.6.6, ktorá nie je v skutočnosti aktuálna. Python buildpack na druhej strane podporuje tucet verzií Pypy, rovnako ako niekoľko desiatok verzií programov Python 2 a Python 3.

Medzi balíčky stavieb komunity pre Cloud Foundry patria runtime Clojure, Haskell, Mono a Erlang. Prakticky jediný populárny jazyk aplikačného servera kompatibilného s Linuxom, ktorý som v Cloud Foundry nenašiel podporovaný, je Perl.

Watsonove služby

Sedem služieb Watson, ktoré v súčasnosti ponúka Bluemix (obrázok 4), sú rozšírenie konceptu, identifikácia jazyka, strojový preklad, rezonancia správ, otázka a odpoveď, extrakcia vzťahov a modelovanie používateľov. Všetky sú stále v beta verzii. Používateľské modelovanie som už popísal skôr. Zvyšok tu pokryjem.

Koncept Expansion analyzuje text a interpretuje jeho význam na základe použitia v iných, podobných kontextoch. Môže napríklad interpretovať výraz „Veľké jablko“ vo význame „Mesto New York“. Môže sa použiť na vytvorenie slovníka príbuzných slov a pojmov, aby bolo možné lepšie porozumieť a analyzovať eufemizmy, hovorové slová alebo inak nejasné frázy. Táto bezplatná beta služba Bluemix má preddefinovanú množinu údajov a doménu, takže je na výrobu zbytočná.

Služba identifikácie jazykov zistí jazyk, v ktorom je text napísaný. To pomáha informovať o ďalších krokoch, ako je preklad, hlas do textu alebo priama analýza. Službu je možné využívať v tandeme so službou Strojový preklad. Dnes je služba schopná identifikovať 25 jazykov.

Služba strojového prekladu prevádza zadávanie textu v jednom jazyku do cieľového jazyka pre používateľa. Preklad je k dispozícii v angličtine, brazílskej portugalčine, španielčine, francúzštine a arabčine.

Služba Message Resonance analyzuje koncept obsahu a hodnotí, ako dobre je pravdepodobné, že ho prijme konkrétne cieľové publikum. Táto analýza je založená na obsahu, ktorý bol napísaný samotným cieľovým publikom, ako sú fanúšikovia konkrétneho športového tímu alebo noví rodičia. Aj keď budúce verzie umožnia používateľom poskytovať svoje vlastné komunitné údaje, dnes je možné analýzu robiť iba proti ľuďom aktívnym v cloudových výpočtoch alebo diskusiách o cloudových výpočtoch; vďaka tomu je služba beta zbytočná na výrobu v iných doménach ako je cloud computing.

Služba Otázka a odpoveď interpretuje a odpovedá na otázky používateľov priamo na základe primárnych zdrojov údajov (brožúry, webové stránky, príručky, záznamy), ktoré boli vybrané a zhromaždené do súboru údajov alebo „korpusu“. Služba vracia odpovede kandidátov s priradenou úrovňou spoľahlivosti a odkazmi na podporné dôkazy. Aktuálne údaje o produkte Bluemix sa zameriavajú na odvetvie cestovného ruchu a zdravotníctva, čím sa stávajú nepoužiteľnými pre iné domény.

Extrakcia vzťahov analyzuje vety na ich rôzne komponenty a zisťuje vzťahy medzi nimi. Môže spracovávať nové výrazy (napríklad mená ľudí v spravodajskom kanáli), ktoré nikdy predtým neanalyzoval, pomocou kontextovej analýzy. Medzi komponenty vety patria slovné druhy (podstatné meno, sloveso, prídavné meno, spojka) a funkcie (predmety, predmety, predikáty). Služba mapuje vzťahy medzi komponentmi, aby používatelia alebo analytické nástroje mohli ľahšie pochopiť význam jednotlivých viet a dokumentov.

Služba beta je optimalizovaná pre spravodajské články alebo iný text súvisiaci so správami v angličtine alebo španielčine prostredníctvom samostatných rozhraní API; nemôžete ju použiť na ľubovoľnú doménu a čakáte, že dostanete dobré odpovede. Ako môžete vidieť na obrázku 5, nemusí to vždy prinášať dobré odpovede ani pre spravodajské články; pravdepodobne budete môcť dodať svoju vlastnú tréningovú súpravu a budete môcť naladiť službu podľa svojej záujmovej domény.

Služby beta Watson na Bluemix vyzerajú celkovo lákavo, ale ešte nie sú pripravené na hlavný vysielací čas. Je to v súlade s tým, ako boli prezentované.

Mobilné a aplikačné služby

Už sme hovorili o šiestich z ôsmich mobilných služieb dostupných na serveri Bluemix. Ďalším je Mobile Quality Assurance, ktoré umožňuje testovanie mobilných aplikácií, validáciu používateľov a zjednodušenú spätnú väzbu o kvalite pomocou analýzy sentimentu; bezdrôtové budovanie distribúcie; automatizované hlásenie nehôd; a hlásenie chýb v aplikácii a spätná väzba od používateľov. A je tu Twilio, služba hlasu, správ a služieb VoIP tretích strán.

V serveri Bluemix je 19 webových a aplikačných služieb. To je príliš veľa na to, aby sme ich tu diskutovali, ale pár z nich to spomína. RapidApps je beta služba s obmedzenou funkčnosťou, ktorá tvrdí, že vám umožní „rýchlo vyvinúť webové a mobilné aplikácie zamerané na dáta pomocou vizuálnych nástrojov - bez kódovania.“ RapidApps má byť zameraný na obchodných analytikov; zdá sa, že v tomto okamihu ešte nie je hotové, ale v budúcnosti by to mohlo byť zaujímavé.

Služba Obchodné pravidlá preberá pravidlá prirodzeného jazyka, ktoré vytvoríte v aplikácii Rule Designer, a vykoná ich po vyvolaní vašou aplikáciou. Zdá sa, že sa to zameriava aj na obchodných analytikov, ale v tejto chvíli je to v lepšej kondícii ako RapidApps.

Služby Devops

Medzi osem devops služieb na BlueMix patrí päť od IBM a tri od tretích strán. Služba Sledovať a plánovať vám umožňuje vytvárať príbehy, úlohy a chyby, ktoré popisujú a sledujú prácu na projekte, ako aj využívať agilné nástroje na plánovanie nevybavených produktov, vydaní a šprintov. Táto služba vám v podstate poskytuje produkt Rational Team Concert pre vaše úložisko Git alebo Jazz.

Služba Delivery Pipeline umožňuje automatizovať zostavenia a nasadenia, testovať vykonávanie, konfigurovať skripty stavania a automatizovať vykonávanie testov jednotiek. Páči sa mi spôsob, akým tieto dve služby integrujú rozhranie Jazz do systému Bluemix.

Službu Monitoring and Analytics sme diskutovali v kontexte webového štartovacieho modulu Java Cache. Automatické škálovanie pre doplnok Bluemix vám umožňuje automaticky zvyšovať alebo znižovať výpočtovú kapacitu vašej aplikácie. Register používateľov aplikácií vám umožňuje chrániť aplikáciu zdrojov alebo vyvíjať klientsku aplikáciu na základe protokolu OAuth 2.0. Tri služby devops tretích strán sú BlazeMeter, Load Impact a New Relic.

Ostatné služby

V systéme Bluemix sú iba dve integračné služby, ale obe sú zaujímavé. Cloudová integrácia umožňuje používateľom integrovať cloudové služby s podnikovými záznamovými systémami; vystavuje back-endové systémy ako REST API, ktoré majú aplikácie používať. Experimentálna služba kontajnerov vám umožňuje prevádzkovať Dockerove kontajnery na Bluemixe, čo potenciálne otvára Bluemix takmer v čomkoľvek.

Z 10 služieb správy údajov v serveri Bluemix sú dva pre MySQL (jeden otvorený zdroj, jeden odolný voči chybám), dva pre Postgres (ditto), tri pre NoSQL databázy a jeden pre DB2. Zvyšné dve služby na správu údajov sú Object Storage (beta, založené na OpenStack Swift) a DataWorks; druhý zahŕňa API, ktoré načítavajú údaje, čistia americké poštové adresy a klasifikujú údaje.

Výsledková listinaJednoduchosť použitia (20%) Šírka podpory (20%) Zvládanie (20%) Dokumentácia (15%) Inštalácia a nastavenie (15%) Hodnota (10%) Celkové skóre
IBM Bluemix999899 8.9
$config[zx-auto] not found$config[zx-overlay] not found