Programování

Připravte se na nový zásobník

Virtualizace může být nejúspěšnější technologií, která kdy překročila práh podnikového datového centra. Díky výrazně lepšímu využití hardwaru a schopnosti roztočit virtuální počítače na desetník se virtualizace v posledním desetiletí snadno prodala, a to až do bodu, kdy Gartner nedávno odhadl, že je 70 procent virtualizovaných úloh x86.

Luxusní fantastické soukromé cloudy nad touto virtualizační vrstvou však přicházely pomalu. Ano, nástroje pro správu virtualizace od společnosti VMware a Microsoft umožnily cloudové chování serverů a úložišť, a dokonce i OpenStack konečně získává malou podnikovou trakci - ale pokročilé veřejné cloudy nabízené společnostmi Amazon, Google, IBM, Microsoft a Rackspace přinášejí mnohem více pokročilé automatické škálování, měření a samoobsluha (nemluvě o stovkách dalších služeb). Cloudová vrstva PaaS pro vývoj, testování a nasazení aplikací - nyní nabízená všemi hlavními veřejnými cloudy - si navíc našla cestu do relativně malého počtu podnikových datových center.

Poté se Docker loni vydal na scénu a nabídl nový cloudový zásobník založený spíše na kontejnerech než na virtuálních počítačích. Kontejnery jsou mnohem lehčí než virtuální počítače a umožňují snadné zabalení a přesun aplikací, aniž by docházelo k potížím s konvenční instalací. Pokud se cloudy založené na virtuálních počítačích zastavily a nový zásobník založený na kontejnerech nabízí takové zjevné výhody, přeskočí nový stack do podniku a dodá nový soukromý cloud?

Zorawar Biri Singh, bývalý šéf HP Cloud Services a nyní venture partner ve společnosti Khosla Ventures, si myslí, že triumf nového zásobníku je nevyhnutelný - ale do přijetí podniku jsme stále ještě roky. Zde vidí úzká místa:

Zaprvé, u tradičních podniků a tradičních produkčních pracovních zátěží se aktuální výdaje na IT zaměřují na zjednodušení a správu rozšiřování virtuálních počítačů prostřednictvím konvergovaných řešení v datovém centru. Zadruhé, nový zásobník je stále křehký a brzy. Skutečná užitečnost kolem kontejnerů, jako je tvrzené zabezpečení, stále není zdaleka dostatečná. Právě teď je nový zásobník velmi dobrou základnou pro vývojové a testovací úlohy. Skutečným bodem tření však je, že podnikovým týmům IT pro produkční a pracovní vytížení chybí orientace devops nebo agilní IT pozadí, aby mohli nasazovat a podporovat distribuované nebo bezstavové aplikace. Jedním z největších problémů je, že v tradičních podnikových orgánech existuje jen velká propast v dovednostech.

Na druhou stranu, říká Singh, „určité vývojové týmy a obchodní oblasti na zelené louce již na této infrastruktuře jezdí.“ V takových případech jsou buď metody devops již na místě, nebo průkopnické vývojáře zpracovávají samotnou stranu operací zásobníku založeného na kontejnerech.

Stejně jako vývojáři usilují o přijetí databází NoSQL, jsou v první linii nového zásobníku, stahují software s otevřeným zdrojovým kódem a experimentují - nebo se obracejí k veřejným cloudům jako EC2 nebo Azure, které již podporují kontejnery.

Mikroslužby imperativ

Proč se vývojářům nový stack tak líbí? Z velké části proto, že kontejnery přispívají k architektuře mikroslužeb, kde monolitické aplikace nahrazují kolekce jednoúčelových služeb přístupných API. Architektura mikroslužeb umožňuje vývojářům vytvářet aplikace, které jsou lépe přizpůsobitelné novým požadavkům - a rychle vytvářet zcela nové aplikace pomocí stávajících služeb.

John Sheehan, spoluzakladatel a generální ředitel služby sledování a testování API Runscope, považuje mikroslužby za „modernizaci“ SOA (služba-orientovaná architektura). „Základní povinnosti jsou do značné míry stejné,“ říká Sheehan. „Chceme distribuovat různé části naší softwarové architektury napříč různými systémy a rozdělit to nejen hranicemi kódu, ale hranicemi služeb. Toto učení se přeneslo do mikroslužeb.“

Architektura mikroslužeb se spoléhá na jednodušší a pro vývojáře vstřícnější protokoly než SOA - REST na rozdíl od SOAP; JSON na rozdíl od XML. Sheehan zaznamenává další klíčový rozdíl:

Typy mikroslužeb, které vidíme a které naši zákazníci mají tendenci používat, jsou řízeny velmi devops. Interně nasazujeme v naší společnosti asi 31krát denně ve všech našich různých službách. Je nás 14 lidí a interně běží asi 40 různých služeb. Jeho velkou součástí je zavedení potřebné infrastruktury, aby každý tým mohl samostatně nasadit, škálovat, monitorovat a měřit každou službu.

V takovém scénáři se hranice mezi dev a ops stírá. Personál Ops píše kód pro správu infrastruktury a stává se v podstatě součástí vývojového týmu. „Mezi operačním týmem a týmem aplikací je velmi malý rozdíl,“ říká Sheehan. V operačních systémech „náhodou kódujete proti serverům namísto kódování proti službě.“

Singh věří, že přístup mikroslužeb intenzivně využívajících devops by mohl vyloučit potřebu „formálního“ PaaS. Takové nabídky PaaS jako Cloud Foundry nebo OpenShift nabízejí předurčené kolekce služeb a procesů pro vytváření, testování a nasazení aplikací - zatímco v novém zásobníku lze do každé vrstvy vložit bohaté sady mikroslužeb přístupných k API. Dev i ops se mohou zapojit do mikroslužeb nahoru a dolů v zásobníku, bez omezení uložených PaaS.

Jiný druh hybridu

Architektura mikroslužeb může přeskočit PaaS, ale celý nový zásobník nebude přes noc zakořenit. Například Netflix je široce považován za nejpokročilejší nasazení mikroslužeb kdekoli a zpřístupňuje komunitě open source mnoho předem připravených služeb jako obrázky Dockeru v Docker Hubu - ale Netflix nepoužívá Dockera ve výrobě. Ani Runscope. Oba místo toho používají konvenční virtuální počítače.

Navzdory obrovskému zájmu vývojářů o kontejnerová řešení je začátky. Za prvé, nástroje pro řízení a správu kontejnerů, jako jsou Mesosphere a Kubernetes, se stále vyvíjejí. Pro jiného není jasné, který standard kontejneru zvítězí, přičemž CoreOS představuje pro Docker loni v prosinci velkou výzvu. Zásobník na bázi kontejnerů může nakonec triumfovat, ale bude to chvíli trvat.

„Vidíme nejpravděpodobnější výsledek, že kontejnery a virtuální počítače budou použity v kombinaci,“ říká Kurt Milne z poskytovatele správy multicloudů Cliqr. To by mohlo znamenat spuštění kontejnerů uvnitř virtuálních počítačů - nebo by to mohlo jednoduše znamenat, že nové zásobníky založené na kontejnerech a zásobníky založené na virtuálních počítačích poběží vedle sebe.

Tento hybridní scénář otevírá příležitost pro VMware a další, kteří vytvořili správu a orchestraci pro virtualizaci. V rozhovoru s minulým týdnem výkonný viceprezident společnosti VMware Raghu Raghuram odmítl považovat kontejnery za hrozbu. Místo toho řekl:

Vnímáme kontejnery jako způsob, jak přivést nové aplikace na naši platformu. Když se vývojáři nebo IT lidé zajímají, co potřebují pro robustní provoz kontejnerů, ukázalo se, že potřebují vrstvu infrastruktury pod nimi - potřebují vytrvalost, potřebují síť, potřebují firewall, potřebují správu zdrojů a všechny tyto druhy věci. Už jsme to postavili. Když navrch vytvoříte mechanismus kontejneru, můžete začít používat stejnou infrastrukturu i pro tyto věci. Vidíme vzory, kde bezstavové webové rozhraní je všechny kontejnery a vytrvalost a databáze jsou všechny virtuální počítače. . Je to kombinace obou. Nyní tedy otázka zní: Co je to společné prostředí infrastruktury a společné prostředí pro správu? Vidíme to jako obrovskou příležitost pro nás.

Raghuram odmítl říci, kdy může VMware rozšířit své nástroje pro správu na kontejnerovou vrstvu, ale důsledky jsou jasné. Bude zajímavé sledovat, jak vývojáři, kteří řídí dnešní kontejnerové experimenty, splní přístup VMware zaměřený na operační systémy.

Je jasné, že navzdory současnému vzrušení nový stack nenahradí ten stávající v nějaké dramatické vlně rip-and-replace. Stejně jako u cloudového přijetí bude zásobník založený na kontejnerech téměř výhradně použit pro vývoj a testování jako první. Obrovské stávající investice do virtualizační infrastruktury nebudou vyhozeny z okna datového centra.

Nový zásobník na bázi kontejnerů je nicméně velkým skokem vpřed v agilitě a kontrole vývojářů. Vývojáři objevují a přijímají nástroje, které potřebují k vybudování architektury mikroslužeb a k poskytování více a lepších aplikací ve fantastickém klipu. Vzhledem k tomu, že kousky zapadnou na své místo a schopnosti devops se stanou všudypřítomnými, můžete se vsadit, že nový zásobník se zakoření stejně neúnavně jako virtualizace.