Ohjelmointi

Katsaus: IBM Bluemix uudistaa pilvivalimon

Tarkastellessani Cloud Foundry PaaS -palvelua (alusta palveluna) viime kesänä keskityin avoimen lähdekoodin, Pivotalin ja ActiveState-toteutuksiin. Tässä tarkastelussa tarkastelen IBM Bluemix -ohjelmaa, joka on monitoiminen PaaS, jota isännöi SoftLayer, joka yhdistää Cloud Foundryn parannettuun online-käyttöliittymään ja IBM: n ja kolmansien osapuolten tarjoamiin palveluihin.

Erillisimmät Bluemix-palvelut perustuvat Watsoniin, kognitiiviseen järjestelmään, joka tarjoaa luonnollista kielenkäsittelyä, hypoteesien luomista ja arviointia sekä dynaamista oppimista. Useat muut Bluemixin palvelut ja integraatiot täyttävät aukot Cloud Foundryn avoimen lähdekoodin versiossa - esimerkiksi automaattinen skaalaus, mobiili, big data ja yritysintegraatiopalvelut.

Huomaa, että aukot on täytetty haamuttamatta Cloud Foundry -koodia. Itse asiassa Bala Rajaraman, Bluemixin teknologiajohtaja, on kertonut minulle: "Emme haarukat." CF-sovelluksen kokoonpanon komentoriviohjelma, jonka asennin avoimen lähdekoodin Cloud Foundrylle ja Pivotal CF: lle, on sama kuin Bluemixille. Bosh PaaS -määrityskomentoriviohjelma, jonka asennin avoimen lähdekoodin pilvivalimolle, on sama kuin mitä Bluemix-insinöörit käyttävät sisäisesti - mutta Bluemix-käyttäjien ei tarvitse koskaan oppia boshia, koska IBM aikoo suojata käyttäjiä PaaS-hallinnolta, keskittyä palveluun ja antaa käyttäjien yksinkertaisesti rakentaa sovelluksia.

Hyväksyn tämän asenteen. Kehittäjänä löysin taistelun oppimisen, ja tunsin, että PaaS: n määrittelyn raskas nostaminen olisi jätettävä toimintaan. Minulle PaaS: n ja devopsin lupaus on matalan kitkan määritys ja infrastruktuurin hallinta ohjelmistojen rakentamisen ja käyttöönoton helpottamiseksi. Kun kehittäjä saa viettää merkittävän osan ajastaan ​​PaaS: n perustamiseen tarvittavaan operatiiviseen risteilyyn, se hylkää PaaS: n perustavoitteen. Samaan aikaan pidän kyvystä ajaa yhden virtuaalikoneen "mikropilvi" PaaS yksityisesti kannettavalla tietokoneella kokeiluja varten, minkä vuoksi näen myös ActiveState Stackaton ja ladattavien PaaS VM -kuvien arvon.

Koska Bluemix on rakennettu muokkaamattomalle Pilvivalimolle, se jakaa kaiken Pilvivalimon arkkitehtuurin: Dropletit, DEA: t (Droplet Execution Agents), buildpackit ja niin edelleen, jotka toimivat virtuaalikoneessa. Pilvivalimo-osa näkyy vaaleansinisessä VM-ruudussa alla olevan arkkitehtuurikaavion vasemmassa alakulmassa (kuva 1).

Bluemix jakaa enemmän kuin Cloud Foundry -arkkitehtuuri: se jakaa Cloud Foundry -rakennepaketit ja palvelut, jotka ovat käytettävissä muissa Cloud Foundry -ratkaisuissa, samalla kun lisätään joitain omia. Jaamme kaiken tämän kattilaksi, joka muualla tunnetaan pikakäynnistyksenä tai sovelluskaupana. käyttöajat, jotka tunnetaan muualla nimellä buildpacks; ja palvelut. Bluemix sisältää Watsonin, mobiililaitteen, devopsin, verkon ja sovellusten, integraation, tiedonhallinnan, big data-, tietoturva-, yritysanalytiikka- ja IoT (esineiden Internet) -palvelut. Tarkastelen niitä kaikkia alla.

Erilaiset osapuolet voivat tukea Bluemix-palveluja: IBM, yhteisö tai kolmannen osapuolen yritys. Kokeelliset palvelut ovat ilmaisia, epävakaita ja niihin voidaan tehdä muutoksia, jotka eivät välttämättä ole yhteensopivia taaksepäin. Siksi niitä ei suositella tuotantoon. Beetapalvelut ovat ilmaisia, mutta niitä ei ole testattu laajasti luonnossa. Kaikki Watson-palvelut on tällä hetkellä luokiteltu beetaversioksi.

Bluemix-kattilalevyt

Kuten kuvasta 2 näet, Bluemix tarjoaa tällä hetkellä 13 erilaista "kattilalevyä" tai pikakäynnistyspakettia. Vaikka useimmilla näistä on IBM-maku, se ei ole välttämättä huono.

Jotkut tarjolla olevista kattiloista saattavat vaatia selitystä. Esimerkiksi Internet of Things Foundation Starter tarjoaa Cloudant (CouchDB-yhteensopivan) NoSQL JSON -tietokerroksen ja Node-RED-sovelluksen, jota isännöi SDK: lla Node.js-ajonaikaiseksi. Node-RED on työkalu laitteiden, sovellusliittymien ja verkkopalvelujen yhdistämiseen. Solmu-PUNAINEN käynnistin on samanlainen, mutta yhteisöä tuetaan.

Java-välimuistin Web-aloitusohjelma yhdistää Liberty for Java -ohjelman, kevyen WebSphere-profiilin, DataCache-palvelun sekä Valvonta- ja Analytics-palvelun. Ilmaisella tasolla DataCache on vain 50 Mt, ja Monitoring and Analytics -palvelusta puuttuu syvempi suorituskyvyn seuranta ja diagnostiikka.

Mobile Cloud -kattolevy yhdistää Node.js: n, Mobile Application Securityn, IBM Push -viestinnän ja mobiilidatan (monitaajuisen Cloudant-takapään kanssa). Se sisältää SDK: t Androidille, iOS: lle ja JavaScriptille. Ilmaisella tasolla se on rajoitettu 2 Gt: n tallennustilaan, miljoonaan push-ilmoitukseen kuukaudessa ja 375 Gt: n tunteihin kuukaudessa. MobileFirst Services Starter on samanlainen, mutta sisältää push-ilmoitukset ja tietoturvan erityisesti iOS 8: lle.

Kolme käyttäjämallinnusverkko-aloittajaa yhdistävät Watson User Modeling -palvelun ajonaikaisella ja joitain näytekoodeja. Watsonin käyttäjämallinnus käyttää kielianalytiikkaa poimimaan joukon persoonallisuuden ja sosiaalisia piirteitä ihmisen viestintätavasta tavoitteenaan viestinnän personointi.

Vaadin on avoimen lähdekoodin verkkosovelluskehys rikkaille Internet-sovelluksille. Vaadin-käynnistin käyttää kehystä Liberty for Java -sovelluksessa ja käyttää DB2-tietokantaa.

Bluemix-ajonajat, alias buildpacks

Bluemix-palvelimella tarjottujen ajonaikojen valikoima sisältää seitsemän kuvassa 3 esitettyä rakennepakettia sekä kaikki muut Cloud Foundrylle hyväksytyt rakennepaketit. Kuuden näytetyistä ajoista pitäisi olla sinulle tuttuja; seitsemäs, Sinatra, on DSL (verkkokohtainen kieli), jolla voidaan luoda verkkosovelluksia Ruby-sovelluksessa nopeasti ja pienellä vaivalla.

PHP buildpack tukee PHP 5.4, 5.5 ja 5.6; Nginx 1,5, 1,6 ja 1,7; ja Apache HTTPD 2.4. PHP-rakennepaketissa tuettu Python-versio on 2.6.6, joka ei ole oikeastaan ​​nykyinen. Python buildpack puolestaan ​​tukee kymmenkunta Pypy-versiota sekä pari tusinaa versiota kummastakin Python 2: sta ja Python 3: sta.

Pilvivalimon yhteisörakennepaketteja ovat Clojure, Haskell, Mono ja Erlang. Käytännössä ainoa suosittu Linux-yhteensopiva sovelluspalvelinkieli, jota en löytänyt tuettavaksi Cloud Foundryssä, on Perl.

Watsonin palvelut

Seitsemän Watson-palvelua, joita tällä hetkellä tarjotaan Bluemixissä (kuva 4), ovat konseptilaajennus, kielen tunnistus, konekäännös, viestien resonanssi, kysymykset ja vastaukset, suhteiden poiminta ja käyttäjien mallintaminen. Kaikki ovat edelleen beta-versiossa. Kuvasin käyttäjän mallintamista aiemmin. Katan loput täällä.

Käsitteen laajennus analysoi tekstiä ja tulkitsee sen merkityksen käytön perusteella muissa vastaavissa yhteyksissä. Se voisi esimerkiksi tulkita "The Big Apple" tarkoittaa "New York City". Sitä voidaan käyttää luomaan samankaltaisten sanojen ja käsitteiden sanakirja, jotta eufemismit, puhekielet tai muuten epäselvät lauseet voidaan ymmärtää ja analysoida paremmin. Tällä ilmaisella Bluemix-beeta-palvelulla on ennalta määritetty tietojoukko ja verkkotunnus, joten se on hyödytön tuotannolle.

Kielentunnistuspalvelu tunnistaa kielen, jolla teksti kirjoitetaan. Tämä auttaa seuraamaan seuraavia vaiheita, kuten käännös, ääni tekstiksi tai suora analyysi. Palvelua voidaan käyttää yhdessä Konekäännös-palvelun kanssa. Nykyään palvelu tunnistaa 25 kieltä.

Konekäännöspalvelu muuntaa yhden kielen tekstinsyötön käyttäjän kohdekieleksi. Käännös on saatavana englannin, Brasilian portugalin, espanjan, ranskan ja arabian kielillä.

Message Resonance -palvelu analysoi luonnosluonnoksen ja arvioi, kuinka hyvin tietty kohdeyleisö todennäköisesti vastaanottaa sitä. Tämä analyysi perustuu sisältöön, jonka kohderyhmä itse on kirjoittanut, kuten tietyn urheilutiimin fanit tai uudet vanhemmat. Vaikka tulevat versiot antavat käyttäjien tarjota omat yhteisötietonsa, analyysi voidaan nykyään tehdä vain ihmisiä, jotka ovat aktiivisia pilvipalvelussa tai pilvipalvelukeskusteluissa. tämä tekee beetapalvelusta hyödytöntä tuotannolle muilla aloilla kuin pilvipalvelut.

Kysymys ja vastaus -palvelu tulkitsee ja vastaa käyttäjien kysymyksiin suoraan ensisijaisten tietolähteiden (esitteet, verkkosivut, käsikirjat, tietueet) perusteella, jotka on valittu ja koottu tietokokoelmaan tai "korpuseksi". Palvelu palauttaa ehdokkaiden vastaukset, joihin liittyy luottamustaso ja linkit todisteisiin. Nykyiset Bluemix-tiedot keskittyvät matka- ja terveydenhuollon aloihin, mikä tekee niistä hyödyttömiä muille aloille.

Suhteen poiminta jäsentää lauseet eri komponenteiksi ja havaitsee komponenttien väliset suhteet. Se voi käsitellä uusia termejä (kuten ihmisten nimet uutisvirrassa), joita se ei ole koskaan aiemmin analysoinut asiayhteyteen perustuvan analyysin avulla. Lausekomponentit sisältävät puheen osia (substantiivi, verbi, adjektiivi, konjunktio) ja toimintoja (subjektit, objektit, predikaatit). Palvelu kartoittaa komponenttien väliset suhteet, jotta käyttäjät tai analyysimoottorit ymmärtävät helpommin yksittäisten lauseiden ja asiakirjojen merkityksen.

Beetapalvelu on optimoitu uutisartikkeleille tai muulle uutisiin liittyvälle tekstille englanniksi tai espanjaksi erillisten sovellusliittymien kautta; et voi käyttää sitä mielivaltaiseen verkkotunnukseen ja odottaa saavansi hyviä vastauksia. Kuten voit nähdä kuviosta 5, se ei aina palauta hyviä vastauksia edes uutisartikkeleihin; oletettavasti, kun voit toimittaa oman koulutusjoukon, voit virittää palvelun kiinnostavaan verkkotunnukseesi.

Kaiken kaikkiaan Bluemixin beta-Watson-palvelut näyttävät houkuttelevilta, mutta ne eivät ole vielä valmiita parhaaseen aikaan. Tämä on yhdenmukaista niiden esitystavan kanssa.

Matkapuhelin- ja sovelluspalvelut

Olemme jo keskustelleet kuudesta Bluemixin käytettävissä olevasta kahdeksasta mobiilipalvelusta. Toinen on mobiililaadunvarmistus, joka mahdollistaa mobiilisovellusten testauksen, käyttäjien validoinnin ja virtaviivaistetun laatupalautteen mielipiteen analyysin avulla ilman rakentamisen jakelu; automaattinen kaatumisraportointi; ja sovelluksen sisäiset vikailmoitukset ja käyttäjien palaute. Ja siellä on Twilio, kolmannen osapuolen ääni-, viesti- ja VoIP-palvelu.

Bluemixissä on 19 verkko- ja sovelluspalvelua. Siitä on liikaa keskustella täällä, mutta pari heistä mainitsee. RapidApps on rajoitetun toiminnallisuuden beetapalvelu, jonka avulla voit kehittää datakeskeisiä verkko- ja mobiilisovelluksia nopeasti visuaalisten työkalujen avulla - ilman koodausta. RapidAppsin on tarkoitus olla suunnattu liike-analyytikoille; se näyttää olevan kaukana kypsennetystä tässä vaiheessa, mutta voi olla mielenkiintoista tulevaisuudessa.

Liiketoimintasäännöt-palvelu ottaa käyttöön sääntöjen suunnittelussa luodut luonnolliset kielisäännöt ja toteuttaa ne sovelluksesi kutsuttaessa. Tämä näyttää myös kohdistuvan yritysanalyytikoihin, mutta se on tässä vaiheessa paremmin kuin RapidApps.

Devops-palvelut

BlueMixin kahdeksaan devops-palveluun kuuluu viisi IBM: ltä ja kolme kolmansilta osapuolilta. Seuraa ja suunnittele -palvelun avulla voit luoda tarinoita, tehtäviä ja vikoja kuvaamaan ja seuraamaan projektityötä sekä käyttämään ketteriä suunnittelutyökaluja tuotekehitykseen, julkaisuihin ja sprintteihin. Tämä palvelu antaa sinulle pohjimmiltaan Rational Team -konsertin Git- tai Jazz-arkistollesi.

Delivery Pipeline -palvelun avulla voit automatisoida koontiversioita ja käyttöönottoja, testata suoritusta, määrittää koontikomentosarjoja ja automatisoida yksikkötestien suorittamisen. Pidän siitä, miten nämä kaksi palvelua integroivat Jazz-käyttöliittymän Bluemixiin.

Keskustelimme Seuranta- ja Analytics-palvelusta Java-välimuistin Web-käynnistimen yhteydessä. Bluemix-lisäosan automaattisen skaalauksen avulla voit lisätä tai vähentää automaattisesti sovelluksesi laskentakapasiteettia. Sovelluksen käyttäjärekisterin avulla voit suojata resurssisovelluksesi tai kehittää asiakassovellustasi OAuth 2.0: n perusteella. Kolme kolmannen osapuolen devops-palvelua ovat BlazeMeter, Load Impact ja New Relic.

Muut palvelut

Bluemixissä on vain kaksi integraatiopalvelua, mutta ne ovat molemmat mielenkiintoisia. Pilvien integroinnin avulla käyttäjät voivat integroida pilvipalvelut yritysrekisterijärjestelmiin; se altistaa taustajärjestelmät REST-sovellusliittymiksi, joita sovellukset käyttävät. Kokeellisen Containers-palvelun avulla voit ajaa Docker-kontteja Bluemixillä, mikä mahdollisesti avaa Bluemixin melkein mihin tahansa.

Kymmenestä Bluemixin tiedonhallintapalvelusta kaksi on MySQL: lle (yksi avoimen lähdekoodin, yksi vikasietoinen), kaksi Postgresille (sama), kolme NoSQL-tietokannoille ja yksi DB2: lle. Kaksi muuta tiedonhallintapalvelua ovat Object Storage (beta, perustuu OpenStack Swiftiin) ja DataWorks; jälkimmäinen sisältää sovellusliittymiä, jotka lataavat tietoja, puhdistavat Yhdysvaltain postiosoitteet ja luokittelevat tietoja.

TuloskorttiHelppokäyttöisyys (20%) Tuen laajuus (20%) Johto (20%) Dokumentointi (15%) Asennus ja asennus (15%) Arvo (10%) Kokonaispistemäärä
IBM Bluemix999899 8.9
$config[zx-auto] not found$config[zx-overlay] not found