Felhős dömping a Build első napján
Hihetetlen felhős termékdömpinget zúdított a fejlesztők és a gyanútlan sajtó nyakába a Microsoft a Build fejlesztői konferencia első napján. A kliensoldal és a hardverek holnapra maradnak.
Rengeteg bejelentést időzített a Microsoft a szokásos évi fejlesztői konferencia első napjára - és a tempó a következő napon is folytatódik majd várakozásaink szerint. Az idén Seattle-ben, a Microsoft redmondi főhadiszállásához közel zajló eseményen először a felhős újdonságok kapták a fókuszt, a következő napra maradnak a fontosabb windowsos és potenciális hardveres bejelentések.
Mielőtt belecsapnánk a lecsóba, érdemes feleleveníteni a keynote alapvetését. Satya Nadella Microsoft-vezér ugyanis a szokásos filozófiai elmélkedés és a cég mottójának értelmezésén túl ezúttal lényegi kérdésekről is beszélt. A Microsoft egy ideje a mobile first-cloud first logika mentén fejleszt (amit egyébként nem egy előremutató víziónak, hanem pusztán a status quo leírásának tartja Nadella), de ezt fokozatosan egy új gondolat váltja: a jövő számítástechnikáját az Intelligent Cloud és az Intelligent Edge kombinációja alkotja. A koncepció több tekintetben is új: egyrészt a Microsoft szerint az évtizedes periódusú ingamozgás a szerverek és a kliensek között ezúttal nem leng ki teljesen a szerverek (a felhő) irányába, a kliensek butulása és eljelentéktelenedése nem lesz abszolút.
Az Intelligent Edge koncepciója szerint igenis szükséges a számottevő feldolgozó kapacitás a végpontokon, a helyben lévő eszközökön, a kliensgépeken, az nem fog idővel mind a giga-adatközpontokban koncentrálódni. Ennek egyik oka, hogy a késleltetés nem redukálható nullára, a távoli adatközpontok mindig ezred- vagy századmásodpercekre lesznek, pusztán a fizikai törvényei miatt. De a koncepció ennél tovább is megy: a számítástechnika a klienseknél nem lehet már teljesen "stateless", kontextusfüggetlen, ugyanis épp ez, a gazdag kontextus teszi lehetővé, hogy a bimbózó mesterséges intelligencia ténylegesen hasznos tudjon lenni - a kontextusra vonatkozó adatokat pedig a végpontoknak kell összegyűjteniük és feldolgozniuk a felhő számára.
A hosszútávú elképzelés után pedig lássuk a mai bejelentések legfontosabbjait.
Azure Cloud Shell
Az Azure infrastruktúra és PaaS menedzselésére az Azure Portal az elsődleges belépési pont, de egyes funkciók közvetlenül Visual Studio alól is elérhetőek voltak (a kód élesítése például évek óta egy kattintás az IDE-ben). Most ezt (végre) parancssoros felület is kiegészíti az Azure Cloud Shell formájában. Ez egy kattintással elérhető az Azure Portal felületéről, és egy teljes Bash környezetet biztosít (például Vim is van), amellyel az Azure infrastruktúra vezérelhető. Parancssorból indíthatóak, listázhatóak és állíthatóak le a virtuális gépek, oszthatóak ki erőforrások, az Azure rengeteg eleme scriptelhető ezen keresztül. A Microsoft ígérete szerint a CLI fokozatosan megkapja a népszerűbb parancssoros eszközöket és nyelvek támogatását. A felület alá egy kis perzisztens tárolót is tett a Microsoft, ahová például sűrűn hívott scripteket vagy gyakran használt állományokat menthetnek az üzemeltetők.
Szintén régóta várt újdonság, hogy az Azure Portal immár mobilappot is kapott, első körben iOS-re és Androidra, de a cég ígérete szerint UWP-s alkalmazás is érkezik hamarosan. Az appból könnyen rá lehet pillantani a felhős felület lényeges paramétereire, de beavatkozásra is lehetőséget biztosít. Hab a tortán, hogy a mobilappból is elérhető (lesz) az Azure Cloud Shell, tehát parancssoros felületen is dolgozhatunk telefonon is.
Adatbázis-roham
Szintén fontos bejelentés, hogy immár PostgreSQL és MySQL is elérhető menedzselt adatbázisként az Azure-ön (Azure Database for MySQL és for PosgreSQL a hivatalos név), Ezzel régi adósságát pótolta a Microsoft, eddig ezek csak virtuális géppel együtt, minden adminisztrációs feladatot a fejlesztő/üzemeltető nyakába varrva működtek. A menedzselt szolgáltatás e komplexitás nagy részét átveszi, így egy fejlesztő is kényelmesen beüzemelteti és működteti ezeket az adatbázisokat. A rendszer képes például automatikus skálázódásra és magas rendelkezésreállásra, automatizált biztonsági mentésekkel - az alapvető rubrikákat tehát kipipálja, akinek csak ennyire van szüksége és nem akarja a saját adatbázis rugalmasságát, annak ez kiváló választás lehet.
Ünnepi mix a bértranszparenciától a kódoló vezetőkig Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.
Az Oracle ellen indított hadjárat következő csatáját harangozza be a Database Migration Services, ami pontosan azt csinálja, amit a neve takar: adatbázisok migrálására fogható be változatos adatforrásokból. A szolgáltatás nagy ígérete, hogy teljeskörű migrálást képes végezni, így az adatok kiszabadíthatóak a vendor lock-in poklából. A szolgáltatás első körben Oracle és Microsoft SQL Server adatbázisokból képes az adatokat felhős környezetbe migrálni. A megoldás egyelőre előnézeti verzióban érhető el, a következő hónapokban kaphat végleges kiadást.
A legfontosabb adatbázis-bejelentés viszont egyértelműen a Cosmos DB, amellyel a Google Cloud Spanner ellen indít versenytársat a Microsoft. Erről később részletesebb cikkben emlékezünk meg.
Visual Studio for Mac
Tulajdonképp a felhős tematikához illeszkedik a Visual Studio for Mac hivatalos rajtja is: az integrált fejlesztői környezet ugyanis mától általánosan elérhetővé vált, a stabil kiadás ingyenesen letölthető a Microsoft weboldaláról. Az IDE azonban kimondottan keresztplatformos mobilos alkalmazásokra és felhős/webes alkalmazásokra fókuszál, utóbbi pedig erős Azure-ös integrációt kapott.
Egyik ilyen új funkció (ami természetesen a windowsos Visual Studióban is megjelenik) az az élesben (production) futó .NET alkalmazások hibakeresése a Snapshot Debugger. Ehhez nem kell tesztkörnyezetet felpörgetni, elegendő a kódban megjelölni a problémás sorokat, és amikor a futás ide ér, a rendszer automatikusan generál egy debug snapshotot, amely segít azonosítani a probléma okait. A rendszer ráadásul képes mikroszervizeket is kezelni, vagyis egy tranzakciót nem kell kézzel végigkövetni az egyes szervizek között, egy azonosító alatt végig lehet futni a komplex rendszeren. Ez tipikusan olyan terület, ahol az IDE és a felhős infrastruktúra integrációja kapóra jön a Microsoftnak, amivel például a Google vagy az Amazon elé tudja pozicionálni magát bizonyos területeken.
Azure IoT Edge
A felhős IoT-backendek feltörekvőben vannak, ezek gyűjtik össze az eszközökből származó nyers adatokat, feldolgozzák és döntéselőkészítő információvá tudják formálni. A Microsoft példájában: az automatizált marógép telemetriai adatai felhasználhatóak preventív karbantartásra, a hamarosan elkopó/tönkremenő alkatrészek cserélhetőek tervezett leálláskor, ami nagyságrendekkel olcsóbb lehet, mint egy nem tervezett, a teljes gyártósort blokkoló üzemzavar.
Komoly problémát jelent azonban, hogy ezek a feedback-körök viszonylag lassúak tudnak lenni, jellemzően másodperces vagy több másodperces lehet az adatok felküldése, feldolgozása és visszaérkezése az eszközökhöz. Ehhez pedig hozzávehetjük az internetes kapcsolat potenciális instabilitását (mi van, ha leáll a felhős adatfolyam?), mindez azt jelenti, hogy kritikus és/vagy időérzékeny feladatokhoz az IoT backend nem ideális. (Más példában: önvezető autóknál esélytelen, hogy a kormányt vagy a fékpedált a felhő mozgassa, ezt a döntést helyben kell meghozni.)
A Microsoft megoldása az Azure IoT Edge, amellyel bizonyos logika lehúzható a felhőből közvetlenül az eszközök mellé. Ez azt jelenti, hogy kritikus hibát jelző adatok esetén a gyártósort le tudja állítani a helyben futó elem néhány ezredmásodperces késleltetéssel - százmillió forintos gépeknél ez komoly gazdasági kárt előzhet meg. Ilyen vezérlésre persze eddig is lehetőség volt, az Azure IoT Edge-ben az a csavar, hogy a fejlesztőknek nem kell két külön logikát írniuk a helyi és a felhős vezérlés számára, elegendő az algoritmust egyszer implementálni, az egyszerűen Docker-csomaggá alakítható és leküldhető a helyben futó vezérlőre. Ezzel elkerülhető a duplikált fejlesztés-karbantartás-hibajavítás, egyetlen kódbázis fut helyben és a felhőben is.
Az Azure IoT Edge a IoT-eszközök és az Azure IoT Hub közé ékelődik, és több feladatot is képes ellátni. A fenti példán túl képes például a bejövő adatokat szűrni és aggregálni, így nem a nyers adatfolyam egésze jut fel a felhőbe, csak a fontosabb információmorzsák - ez segíthet például csökkenteni az adatforgalmi költségeket (műholdas vagy mobilnetes hozzáférés esetén ez nagyon releváns). Az IoT Edge jelenleg windowsos és linuxos platformokat támogat, első körben pedig fejlesztői előnézeti státuszban érhető el.
Office - platform ez is
A tavalyi Builden is hangsúlyozta a Microsoft, hogy az Office is fejlesztői platform, amelyre abszolút releváns alkalmazások, beépülők építhetőek (még ha a Starbucks-Outlook integráció nem is hódította meg azóta a piacot). Ez az üzenet most is folytatódik, több fontos bejelentést is kapott ez a terület. Az egyik, hogy a Microsoft Teams, a cég új generációs csevegő és kollaborációs szolgáltatása immár elkezdte fogadni a külső fejlesztők megoldásait, így az első körös kiemelt partnereken túl immár bárki írhat Teams-alkalmazásokat. A csevegőplatform igen széles teret nyújt a fejlesztőknek, a felületen gyakorlatilag bármilyen kollaborációs eszköz megvalósítható a chatbotoktól az értesítésekig, egyedi felületekig, stb.
Most a Microsoft új Graph API-kat nyitott meg a fejlesztők számára, ezúttal a SharePoint és a Planner rendszeréhez kapnak hozzáférést. A Graphra például szervezeti analitika építhető, amellyel nagyobb szervezetek elemezhetik, hogy a munkaerő hogyan dolgozik együtt, milyen informális csapatok formálódnak - mindezt kommunikációs csatornák, megbeszélések, említések elemzéséből teszi össze.
A nagy Microsoft-partner cégeknek lesz izgalmas, hogy az Azure-ön futó SaaS-megoldások immár sokkal szorosabban összeköthetőek a szolgáltatásra előfizető cégek Office 365-környezetével a PowerApps és a Microsoft Flow infrastruktúráján keresztül. A Microsoft itt az ügyfélszerzésben is segít, a SaaS-alkalmazások és szolgáltatások keresztértékesítésére is ráfekszik saját sales-csapatával.
AI és botok
Tavaly egyértelműen a chatbotokat, a csevegő interfészt állította a Build középpontjába a Microsoft, most kevesebb hype, de jóval több használható fejlesztés övezte ezt a területet. Az elmúlt egy évben minden szereplő sok-sok tapasztalatot szerzett a csevegős interfészekkel, és ma már viszonylag pontosan látható, hogy az eredeti vízió, amelyben egyszerűen "beszélgetünk" felhős rendszerekkel, a vártnál jóval messzebb lesz. Ez nem jelenti azt, hogy nem lehet ezt a felületet már most produktívan használni, de az sokkal közelebb áll a parancssoros működéshez, mint a természetes nyelven feltett kérések/kérdések világához.
A chatbotok egyik iránya a Cortana. A Microsoft felhős digitális asszisztenséhez immár külső fejlesztők is adhatnak tudást - a Microsoft ehhez átvette az Amazon Alexa nevezéktanát, úgy tűnik ezt mostantól egységesen "skills" néven emlegeti a szakma, magyarul talán készségnek érdemes fordítani. Tehát az egyik irány a Cortanához fejleszthető készségek, amihez a cég Skills Kitet ad a fejlesztők kezébe, a Bot Frameworköt használó botok egyszerűen integrálhatóak lesznek Cortanával. A Skills Kit előzetesként érhető el.
A másik irány a beszélgetéseket némileg formalizáló adaptív kártyák. A Bot Framework gondoskodik arról, hogy a különböző kimeneti felületeken (Skype, Facebook Messenger, stb.) a kártyák helyesen jelenjenek meg, a fejlesztőnek csupán a megjelenítendő adatokat (képeket, információkat) kell betáplálnia.
Inspiráló/ijesztő demók
A Microsoft nagy hangsúlyt fektetett idén arra, hogy a tonnányi technológia mellett bemutassa azt is, hogy ezeket összefogva, egészként kezelve milyen potenciális alkalmazások építhetőek. A legizgalmasabb idén egy (hipotetikus) munkavédelmi platform volt, amely egy bekamerázott munkahelyen képes a munkavédelmi előírásokat betartatni. A rendszer része például a Microsoft kognitív platformja, amely az élő videót dolgozza fel és felismeri rajta a tárgyakat és embereket. De szintén része a cég mobilos backendje, amely az értesítéseket küldi, a chatbot, amellyel a beállítások és paraméterek állíthatóak (úgy, hogy azt egy építésvezető is kezelni tudja).