Programovanie

Pripravte sa na nový zásobník

Virtualizácia môže byť najúspešnejšou technológiou, ktorá kedy prekročila prah podnikového dátového centra. Vďaka výrazne lepšiemu využitiu hardvéru a schopnosti roztočiť virtuálne počítače za každú cenu sa virtualizácia za posledné desaťročie ľahko predala, a to až do bodu, keď spoločnosť Gartner nedávno odhadla, že je virtualizovaných 70 percent pracovných úloh x86.

Fantazijné súkromné ​​cloudy nad touto virtualizačnou vrstvou však prichádzali pomaly. Áno, nástroje na správu virtualizácie od spoločností VMware a Microsoft umožnili cloudové správanie serverov a ukladacích priestorov a dokonca aj OpenStack konečne získava malú podporu pre podniky - ale pokročilé verejné cloudy ponúkané spoločnosťami Amazon, Google, IBM, Microsoft a Rackspace poskytujú oveľa viac pokročilé automatické škálovanie, meranie a samoobsluha (nehovoriac o stovkách ďalších služieb). Cloudová vrstva PaaS na vývoj, testovanie a nasadzovanie aplikácií, ktorú dnes ponúkajú všetky hlavné verejné cloudy, si navyše našla cestu do relatívne malého počtu podnikových dátových centier.

Potom sa minulý rok na scénu rozbehol Docker a ponúkol nový cloudový zásobník založený skôr na kontajneroch ako na virtuálnych počítačoch. Kontajnery majú oveľa nižšiu hmotnosť ako virtuálne počítače a umožňujú ľahké zabalenie a presun aplikácií bez problémov s konvenčnou inštaláciou. Ak sa cloudy založené na virtuálnych počítačoch zastavia a nový zásobník založený na kontajneroch ponúka také zjavné výhody, preskočí nový zásobník cestu do podniku a dodá nový súkromný cloud?

Zorawar Biri Singh, bývalý vedúci spoločnosti HP Cloud Services a teraz partner v spoločnosti Khosla Ventures, si myslí, že triumf nového balíka je nevyhnutný - od prijatia podniku nám však zostáva ešte roky. Tu vidí úzke miesta:

Po prvé, pre tradičné podniky a tradičné výrobné pracovné záťaže sa súčasné výdavky na IT zameriavajú na zjednodušenie a správu rozširovania VM prostredníctvom konvergovaných riešení v dátovom centre. Po druhé, nový zásobník je stále krehký a skorý. Skutočná užitočnosť okolo kontajnerov, napríklad tvrdená bezpečnosť, stále nie je ani zďaleka dostatočná. Práve teraz je nový zásobník veľmi dobrým semeniskom pre vývojové a testovacie úlohy. Skutočným trecím bodom však je, že podnikovým tímom IT zameraným na produkčné a pracovné zaťaženie chýba orientácia na vývoj alebo agilné IT zázemie, aby mohli nasadiť a podporovať distribuované alebo bezstavové aplikácie. Jedným z najväčších problémov je, že v tradičných podnikových organizáciách existuje len obrovský rozdiel v zručnostiach.

Na druhej strane, hovorí Singh, „určité vývojové tímy a oblasti podnikania na zelenej lúke už na tejto infraštruktúre jazdia.“ V takýchto prípadoch sú už zavedené metódy devops alebo priekopnícki vývojári manipulujú s operačnou stránkou zásobníka na báze samotných.

Rovnako ako vývojári viedli k prijatiu databáz NoSQL, sú v popredí nového radu, sťahujú softvér s otvoreným zdrojom a experimentujú - alebo sa obracajú na verejné cloudy ako EC2 alebo Azure, ktoré už podporujú kontajnery.

Mikroslužby sú nevyhnutné

Prečo sa vývojárom tak páči nový zásobník? Z veľkej časti preto, že kontajnery prispievajú k architektúre mikroslužieb, kde monolitické aplikácie nahrádzajú kolekcie jednoúčelových služieb prístupných k rozhraniu API. Architektúra mikroslužieb umožňuje vývojárom vytvárať aplikácie, ktoré sú prispôsobivejšie novým požiadavkám - a rýchlo vytvárať úplne nové aplikácie pomocou existujúcich služieb.

John Sheehan, spoluzakladateľ a generálny riaditeľ služby monitorovania a testovania API Runscope, považuje mikroslužby za „modernizáciu“ SOA (architektúra orientovaná na služby). „Hlavné zodpovednosti sú do značnej miery rovnaké,“ hovorí Sheehan. „Chceme distribuovať rôzne časti našej softvérovej architektúry medzi rôzne systémy a rozdeliť ich nielen hranicami kódu, ale aj hranicami služieb. Toto učenie sa prenieslo do mikroslužieb.“

Architektúra mikroslužieb sa spolieha na jednoduchšie a pre vývojárov priateľskejšie protokoly ako SOA - REST na rozdiel od SOAP; JSON na rozdiel od XML. Sheehan poznamenáva ďalší zásadný rozdiel:

Typy mikroslužieb, ktoré vidíme a ktoré naši zákazníci zvyknú používať, sú veľmi riadené vývojom. Interne nasadzujeme v našej spoločnosti asi 31-krát denne do všetkých našich rôznych služieb. Sme 14 ľudí a máme interne spustených asi 40 rôznych služieb. Jeho veľká časť spočíva v zavedení potrebnej infraštruktúry, aby každý tím mohol nezávisle nasadiť, škálovať, monitorovať a merať každú službu.

V takom scenári sa čiara medzi dev a ops stiera. Personál spoločnosti Ops píše kód na správu infraštruktúry, ktorý sa v podstate stáva súčasťou vývojového tímu. „Medzi operačným tímom a tímom aplikácií je veľmi malý rozdiel,“ hovorí Sheehan. V operáciách „sa stane, že kódujete proti serverom namiesto služby.“

Singh je presvedčený, že prístup mikroslužieb intenzívnych na vývoj by mohol vylúčiť potrebu „formálneho“ PaaS. Takéto ponuky PaaS ako Cloud Foundry alebo OpenShift ponúkajú vopred určené kolekcie služieb a procesov na vytváranie, testovanie a nasadzovanie aplikácií - zatiaľ čo v novom zásobníku je možné do každej vrstvy vložiť bohaté sady mikroslužieb prístupných k API. Dev aj ops sa môžu pripojiť k mikroslužbám hore a dole v zásobníku bez obmedzení, ktoré ukladá PaaS.

Iný druh hybridu

Architektúra mikroslužieb môže preskočiť PaaS, ale celý nový zásobník sa nepresadí cez noc. Napríklad Netflix sa všeobecne považuje za najpokročilejšie nasadenie mikroslužieb kdekoľvek a sprístupňuje komunite otvorených zdrojov veľa vopred pripravených služieb ako obrázky Dockeru v Docker Hub - ale Netflix nepoužíva Dockera pri výrobe. Ani Runscope. Oba používajú namiesto toho konvenčné virtuálne počítače.

Napriek veľkému záujmu vývojárov o kontajnerové riešenia je na počiatku. Po prvé, nástroje na orchestráciu a správu pre kontajnery, ako sú Mesosphere a Kubernetes, sa stále vyvíjajú. Pre iného nie je jasné, ktorý štandard kontajnera zvíťazí, pretože CoreOS predstavuje pre Docker v decembri minulého roku veľkú výzvu. Zásobník založený na kontajneroch môže nakoniec triumfovať, ale bude to chvíľu trvať.

„Vidíme najpravdepodobnejší výsledok, že kontajnery a virtuálne počítače sa budú používať v kombinácii,“ hovorí Kurt Milne z poskytovateľa multicloudovej správy Cliqr. To by mohlo znamenať spustenie kontajnerov vo virtuálnych počítačoch - alebo by to mohlo jednoducho znamenať, že nové zásobníky založené na kontajneroch a zásobníky založené na VM budú bežať vedľa seba.

Tento hybridný scenár otvára príležitosť pre VMware a ďalších, ktorí vytvorili správu a orchestráciu pre virtualizáciu. V rozhovore s minulým týždňom výkonný viceprezident spoločnosti VMware Raghu Raghuram odmietol považovať kontajnery za hrozbu. Namiesto toho povedal:

Vnímame kontajnery ako spôsob, ako na našu platformu priniesť nové aplikácie. Keď sa vývojári alebo ľudia v oblasti IT čudujú, čo potrebujú na spoľahlivé spustenie kontajnerov, ukáže sa, že potrebujú vrstvu infraštruktúry pod nimi - potrebujú vytrvalosť, sieť, firewall, správu zdrojov a všetky tieto druhy veci. To sme už postavili. Keď navrchu vykreslíte mechanizmus kontajnera, môžete začať používať rovnakú infraštruktúru aj pre tieto veci. Vidíme vzory, kde bezstavovým webovým rozhraním sú všetky kontajnery a vytrvalosť a databázy sú všetky virtuálne počítače. . Je to zmes oboch. Otázka teda teraz znie: Čo je to spoločné prostredie infraštruktúry a spoločné prostredie pre správu? Vnímame to ako obrovskú príležitosť pre nás.

Raghuram odmietol povedať, kedy by mohol VMware rozšíriť svoje nástroje na správu na kontajnerovú vrstvu, ale dôsledok je jasný. Bude zaujímavé sledovať, ako vývojári, ktorí riadia dnešné kontajnerové experimenty, splnia prístup spoločnosti VMware zameraný na operačné systémy.

Je zrejmé, že napriek súčasnému vzrušeniu nový zásobník nenahradí ten existujúci v nejakej dramatickej vlne rip-and-replace. Rovnako ako v prípade prijatia v cloude, kontajnerový zásobník sa takmer výlučne použije na vývoj a prvé testovanie. Obrovské existujúce investície do virtualizačnej infraštruktúry nebudú vyhodené z okna dátového centra.

Nový zásobník založený na kontajneroch je napriek tomu veľkým pokrokom v agilite a kontrole vývojárov. Vývojári objavujú a prijímajú nástroje, ktoré potrebujú na vybudovanie architektúry mikroslužieb a na dodanie ďalších a lepších aplikácií vo fantastickom klipe. Keď kúsky zapadnú na svoje miesto a schopnosti Devops budú všadeprítomné, môžete sa staviť, že nový zásobník sa zakorení rovnako neúnavne ako virtualizácia.