Programování

Recenze: IBM Bluemix rozšiřuje Cloud Foundry

Když jsem loni v létě zkontroloval Cloud Foundry PaaS (platforma jako služba), soustředil jsem se na implementace open source, Pivotal a ActiveState. V této recenzi se podívám na IBM Bluemix, multitenanted PaaS hostovaný na SoftLayer, který kombinuje Cloud Foundry s vylepšeným online uživatelským rozhraním a službami od IBM a třetích stran.

Nejvýraznější služby Bluemix jsou založeny na Watsonu, kognitivním systému, který poskytuje zpracování přirozeného jazyka, generování a hodnocení hypotéz a dynamické učení. Několik dalších služeb a integrací v Bluemixu vyplňuje mezery v open source verzi Cloud Foundry - například autoscaling, mobile, big data a podnikové integrační služby.

Všimněte si, že mezery byly vyplněny bez rozvětvení kódu Cloud Foundry. Ve skutečnosti mi Bala Rajaraman, technický ředitel společnosti Bluemix, řekl: „Nebudeme rozdvojovat.“ Program příkazového řádku konfigurace aplikace cf, který jsem nainstaloval pro open source Cloud Foundry a Pivotal CF, je stejný jako ten pro Bluemix. Konfigurační program příkazového řádku Bosh PaaS, který jsem nainstaloval pro cloudovou slévárnu s otevřeným zdrojovým kódem, je stejný jako to, co interně používají inženýři Bluemix - ale uživatelé Bluemix se nikdy nebudou muset učit bosh, protože záměrem IBM s Bluemix je chránit uživatele před správou PaaS, zaměřit se na služby a umožnit uživatelům jednoduše vytvářet aplikace.

Souhlasím s tímto přístupem. Jako vývojáře jsem zjistil, že učení bosh je boj, a cítil jsem, že těžké zvedání při konfiguraci PaaS by mělo být ponecháno na operace. Pro mě je příslibem PaaS a devops konfigurace s nízkým třením a správa infrastruktury na pomoc při vytváření a nasazování softwaru. To, že vývojář stráví významnou část svého času na operačním systému potřebném k nastavení PaaS, je v rozporu se základním účelem mít PaaS. Zároveň se mi líbí schopnost experimentovat s „microcloudem“ PaaS na jednom virtuálním počítači na notebooku pro experimenty, a proto vidím také hodnotu ActiveState Stackato a stahovatelných obrázků PaaS VM.

Protože Bluemix je postaven na nemodifikované Cloud Foundry, sdílí veškerou architekturu Cloud Foundry: Droplets, DEAs (Droplet Execution Agents), buildpacky atd., Běžící na virtuálním stroji. Část Cloud Foundry je zobrazena ve světle modrém poli VM v levém dolním rohu diagramu architektury níže (obrázek 1).

Bluemix sdílí více než architekturu Cloud Foundry: sdílí buildpacky a služby Cloud Foundry dostupné v ostatních implementacích Cloud Foundry, přičemž přidává některé své vlastní. To vše rozložíme na kotlové desky, jinde známé jako rychlé starty nebo obchod s aplikacemi; runtime, jinde známé jako buildpacky; a služby. Bluemix zahrnuje služby pro Watson, mobil, devops, web a aplikace, integraci, správu dat, velká data, zabezpečení, obchodní analytiku a IoT (internet věcí). Níže prozkoumám všechny z nich.

Služby Bluemix mohou podporovat různé strany: IBM, komunita nebo společnost třetí strany. Experimentální služby jsou bezplatné, nestabilní a podléhají změnám, které nemusí být zpětně kompatibilní. Proto se nedoporučují pro produkci. Služby Beta jsou zdarma, ale nebyly podrobeny rozsáhlým testům ve volné přírodě. Všechny služby Watson jsou aktuálně klasifikovány jako beta.

Kotlové desky Bluemix

Jak můžete vidět na obrázku 2, Bluemix v současné době nabízí 13 různých „kotlových desek“ nebo balíčků pro rychlý start. I když většina z nich má příchuť IBM, nemusí to být nutně špatné.

Některé nabízené varné desky mohou vyžadovat určité vysvětlení. Například Internet of Things Foundation Starter poskytuje datovou vrstvu NoSQL JSON Cloudant (kompatibilní s CouchDB) a aplikaci Node-RED hostovanou na SDK pro běhový modul Node.js. Node-RED je nástroj pro propojení hardwarových zařízení, API a online služeb. Node-RED Starter je podobný, ale podporovaný komunitou.

Java Cache Web Starter kombinuje Liberty for Java, odlehčený profil WebSphere, službu DataCache a službu Monitoring and Analytics. Na volné úrovni je DataCache pouze 50 MB a službě Monitorování a Analytics chybí hlubší monitorování a diagnostika výkonu.

Základní deska Mobile Cloud kombinuje Node.js, zabezpečení mobilních aplikací, zasílání zpráv IBM Push a mobilní data (s multitenantním cloudovým back-endem). Zahrnuje SDK pro Android, iOS a JavaScript. Na bezplatné úrovni je omezeno na 2 GB úložiště, 1 milion oznámení push měsíčně a 375 GB hodin za měsíc. MobileFirst Services Starter je podobný, ale obsahuje oznámení push a zabezpečení speciálně pro iOS 8.

Tři webové spouštěče modelování uživatelů spojují službu Watson User Modeling s modulem runtime a ukázkovým kódem. Watson User Modeling využívá lingvistické analýzy k extrakci souboru osobnostních a sociálních rysů ze způsobu, jakým osoba komunikuje, s cílem personalizace komunikace.

Vaadin je open source webový aplikační rámec pro bohaté internetové aplikace. Startér Vaadin spouští rozhraní v Liberty for Java a používá databázi DB2.

Runtime Bluemix, aka buildpacky

Výběr runtime nabízených na Bluemix zahrnuje sedm pojmenovaných buildpacků zobrazených na obrázku 3, plus jakýkoli jiný buildpack, který je schválen pro Cloud Foundry. Šest z uvedených časů by vám mělo být známo; sedmý, Sinatra, je DSL (jazyk specifický pro doménu) pro vytváření webových aplikací v Ruby rychle a s minimálním úsilím.

Sestavovací balíček PHP podporuje PHP 5.4, 5.5 a 5.6; Nginx 1,5, 1,6 a 1,7; a Apache HTTPD 2.4. Verze Pythonu podporovaná v PHP buildpack je 2.6.6, což není ve skutečnosti aktuální. Python buildpack, na druhé straně, podporuje tucet verzí Pypy, stejně jako několik desítek verzí Python 2 a Python 3.

Balíčky buildů komunity pro Cloud Foundry zahrnují runtime Clojure, Haskell, Mono a Erlang. Prakticky jediný populární jazyk aplikačního serveru kompatibilního s Linuxem, který jsem na Cloud Foundry nenašel podporovaný, je Perl.

Watsonovy služby

Sedm služeb Watson, které jsou v současné době v Bluemixu nabízeny (obrázek 4), jsou rozšíření konceptu, identifikace jazyka, strojový překlad, rezonance zpráv, otázka a odpověď, extrakce vztahů a modelování uživatelů. Všechny jsou stále v beta verzi. Uživatelské modelování jsem popsal dříve. Zbytek zde pokryju.

Koncept Expansion analyzuje text a interpretuje jeho význam na základě použití v jiných, podobných kontextech. Mohlo by to například interpretovat „The Big Apple“ ve smyslu „New York City“. Lze jej použít k vytvoření slovníku souvisejících slov a pojmů, aby bylo možné lépe porozumět a analyzovat eufemismy, hovorové výrazy nebo jinak nejasné fráze. Tato bezplatná beta služba Bluemix má předdefinovanou datovou sadu a doménu, takže je pro produkci zbytečná.

Služba identifikace jazyka detekuje jazyk, ve kterém je text napsán. To pomáhá informovat o dalších krocích, jako je překlad, hlas do textu nebo přímá analýza. Službu lze použít společně se službou Machine Translation. Dnes služba dokáže identifikovat 25 jazyků.

Služba Machine Translation převádí zadávání textu v jednom jazyce do cílového jazyka pro uživatele. Překlad je k dispozici v angličtině, brazilské portugalštině, španělštině, francouzštině a arabštině.

Služba Message Resonance analyzuje koncept obsahu a hodnotí, jak dobře je pravděpodobné, že ho přijme konkrétní cílové publikum. Tato analýza je založena na obsahu, který byl napsán samotným cílovým publikem, jako jsou fanoušci konkrétního sportovního týmu nebo noví rodiče. Ačkoli budoucí verze umožní uživatelům poskytovat svá vlastní data komunity, dnes lze analýzu provádět pouze proti lidem aktivním v cloudových výpočtech nebo diskusích o cloudových výpočtech; díky tomu je služba beta k ničemu pro produkci v jiných doménách než cloud computing.

Služba Otázka a odpověď interpretuje a odpovídá na otázky uživatelů přímo na základě primárních zdrojů dat (brožury, webové stránky, příručky, záznamy), které byly vybrány a shromážděny do souboru dat nebo „korpusu“. Služba vrací odpovědi kandidátů s přidruženou úrovní spolehlivosti a odkazy na podpůrné důkazy. Aktuální data o Bluemixu se zaměřují na odvětví cestovního ruchu a zdravotnictví, což je činí pro ostatní domény zbytečnými.

Extrakce vztahů analyzuje věty na jejich různé složky a detekuje vztahy mezi složkami. Může zpracovávat nové výrazy (například jména lidí ve zpravodajském kanálu), které nikdy předtím neanalyzoval pomocí kontextové analýzy. Součásti věty zahrnují slovní druhy (podstatné jméno, sloveso, přídavné jméno, spojka) a funkce (předměty, předměty, predikáty). Služba mapuje vztahy mezi komponentami tak, aby uživatelé nebo analytické nástroje mohli snadněji pochopit význam jednotlivých vět a dokumentů.

Služba beta je optimalizována pro zpravodajské články nebo jiný text související se zprávami v angličtině nebo španělštině prostřednictvím samostatných rozhraní API; nemůžete ji použít pro libovolnou doménu a očekávat dobré odpovědi. Jak můžete vidět na obrázku 5, nemusí to vždy přinést dobré odpovědi ani pro novinové články; pravděpodobně, jakmile dodáte svůj vlastní tréninkový set, budete moci naladit službu na vaši doménu, která vás zajímá.

Celkově vypadají služby beta Watson na Bluemixu lákavě, ale ještě nejsou připraveny na hlavní vysílací čas. To odpovídá způsobu, jakým byly prezentovány.

Mobilní a aplikační služby

Už jsme diskutovali o šesti z osmi mobilních služeb dostupných na Bluemixu. Dalším je Mobile Quality Assurance, který umožňuje testování mobilních aplikací, ověřování uživatelů a efektivní zpětnou vazbu kvality s analýzou sentimentu; bezdrátový distribuční systém; automatické hlášení poruch; a hlášení chyb v aplikaci a zpětná vazba od uživatelů. A je tu Twilio, hlasová služba, zasílání zpráv a služba VoIP třetí strany.

Ve službě Bluemix je 19 webových a aplikačních služeb. To je příliš mnoho na to, abychom o tom zde diskutovali, ale pár z nich to zmiňuje. RapidApps je beta služba s omezenou funkčností, která tvrdí, že vám umožňuje „rychle vyvíjet webové a mobilní aplikace zaměřené na data pomocí vizuálních nástrojů - bez kódování.“ RapidApps má být zaměřen na obchodní analytiky; zdá se, že to v tomto okamžiku ještě není hotové, ale v budoucnu by to mohlo být zajímavé.

Služba Obchodní pravidla přebírá pravidla přirozeného jazyka, která vytvoříte v Návrháři pravidel, a spustí je, když je vyvolána vaší aplikací. Zdá se také, že je to zaměřeno na obchodní analytiky, ale v tomto okamžiku je to v lepší kondici než RapidApps.

Služby Devops

Osm devops služeb na BlueMix zahrnuje pět od IBM a tři od třetích stran. Služba Sledovat a plánovat umožňuje vytvářet příběhy, úkoly a defekty, které popisují a sledují práci na projektu, a také používat agilní plánovací nástroje pro nevyřízené položky, vydání a sprinty. Tato služba vám v zásadě poskytuje Rational Team Concert pro vaše úložiště Git nebo Jazz.

Služba Delivery Pipeline umožňuje automatizovat sestavení a nasazení, provádět testování, konfigurovat skripty sestavení a automatizovat provádění testů jednotek. Líbí se mi způsob, jakým tyto dvě služby integrují rozhraní Jazz s Bluemix.

Službu Monitoring and Analytics jsme projednali v kontextu webového spouštěče Java Cache. Automatické škálování pro doplněk Bluemix vám umožňuje automaticky zvyšovat nebo snižovat výpočetní kapacitu vaší aplikace. Registr uživatelů aplikace vám umožňuje chránit vaši aplikaci prostředků nebo vyvíjet klientskou aplikaci na základě OAuth 2.0. Tři služby devops třetích stran jsou BlazeMeter, Load Impact a New Relic.

Ostatní služby

V Bluemixu jsou pouze dvě integrační služby, ale obě jsou zajímavé. Cloudová integrace umožňuje uživatelům integrovat cloudové služby s podnikovými systémy záznamu; vystavuje back-endové systémy jako REST API pro aplikace. Experimentální služba kontejnerů vám umožňuje spouštět Docker kontejnery na Bluemix, což potenciálně otevírá Bluemix téměř na cokoli.

Z 10 služeb pro správu dat v Bluemixu jsou dva pro MySQL (jeden otevřený zdroj, jeden odolný proti chybám), dva pro Postgres (ditto), tři pro databáze NoSQL a jeden pro DB2. Zbývající dvě služby pro správu dat jsou Object Storage (beta, založené na OpenStack Swift) a DataWorks; druhý zahrnuje API, která načítají data, čistí americké poštovní adresy a klasifikují data.

ScorecardSnadnost použití (20%) Šířka podpory (20%) Řízení (20%) Dokumentace (15%) Instalace a nastavení (15%) Hodnota (10%) Celkové skóre
IBM Bluemix999899 8.9
$config[zx-auto] not found$config[zx-overlay] not found