Programmering

Gør dig klar til den nye stak

Virtualisering kan være den mest succesrige teknologi nogensinde til at krydse tærsklen for virksomhedsdatacenteret. Meget bedre hardwareudnyttelse og evnen til at spin op på virtuelle computere på en krone har gjort virtualisering til et let salg i det sidste årti, til det punkt, hvor Gartner for nylig anslog, at 70 procent af x86-arbejdsbelastninger er virtualiseret.

Alligevel har de smarte private sky-ting oven på det virtualiseringslag været langsomt at komme. Ja, virtualiseringsstyringsværktøjer fra VMware og Microsoft har aktiveret skylignende adfærd for servere og opbevaring, og endda OpenStack får endelig en lille virksomhedstraktion - men de avancerede offentlige skyer, der tilbydes af Amazon, Google, IBM, Microsoft og Rackspace, leverer meget mere avanceret autoskalering, måling og selvbetjening (for ikke at nævne hundreder af andre tjenester). Plus, PaaS-skylaget til udvikling, test og implementering af apps - nu tilbudt af alle større offentlige skyer - har fundet vej til relativt få virksomhedsdatacentre.

Derefter brølede Docker på scenen sidste år og tilbød en ny cloud stack baseret på containere snarere end VM'er. Beholdere er meget lettere end VM'er og gør det let at pakke og flytte applikationer uden besværet med konventionel installation. Hvis VM-baserede skyer er gået i stå, og den nye containerbaserede stak giver så åbenlyse fordele, vil den nye stak springe sig vej ind i virksomheden for at levere en ny privat sky?

Zorawar Biri Singh, tidligere leder af HP Cloud Services og nu en venture-partner hos Khosla Ventures, mener triumfen for den nye stak er uundgåelig - men vi er stadig år væk fra virksomhedens adoption. Her ser han flaskehalse:

For det første er det nuværende it-forbrug for traditionelle virksomheder og traditionelle produktionsbelastninger fokuseret på at forenkle og administrere VM-udbredelsen via konvergerede løsninger i datacentret. For det andet er den nye stak stadig skør og tidlig. Virkelig værktøj omkring containere, som hærdet sikkerhed, er stadig ikke nær tilstrækkeligt. Lige nu er den nye stak en meget god såningsplads til dev og test arbejdsbelastninger. Men det virkelige friktionspunkt er, at it-teams til produktion af arbejdsstyrke til virksomheder mangler devops-orientering eller agile IT-baggrunde for at kunne implementere og understøtte distribuerede eller statsløse apps. Et af de største problemer er, at der bare er et stort færdighedsgab i devops i traditionelle virksomhedsorganisationer.

På den anden side siger Singh, "visse dev-teams og greenfield-brancher kører allerede på denne infrastruktur." I sådanne tilfælde er enten devops-metoder allerede på plads, eller banebrydende udviklere håndterer operationssiden af ​​den containerbaserede stak selv.

Ligesom udviklere har drevet vedtagelsen af ​​NoSQL-databaser, er de i fronten af ​​den nye stak, downloader open source-software og eksperimenterer - eller vender sig til offentlige skyer som EC2 eller Azure, der allerede understøtter containere.

Mikrotjenesterne er bydende nødvendige

Hvorfor kan udviklere lide den nye stak så meget? For det meste fordi containere er befordrende for mikrotjenestearkitektur, hvor samlinger af single-purpose, API-tilgængelige tjenester erstatter monolitiske apps. Microservices-arkitektur gør det muligt for udviklere at opbygge applikationer, der er mere tilpassede til nye krav - og hurtigt oprette helt nye applikationer ved hjælp af eksisterende tjenester.

John Sheehan, medstifter og administrerende direktør for API-overvågnings- og testtjenesten Runscope, ser mikroservices som en "modernisering" af SOA (serviceorienteret arkitektur). "Kerneansvaret er stort set det samme," siger Sheehan. "Vi ønsker at distribuere forskellige dele af vores softwarearkitektur på tværs af forskellige systemer og opdele den ikke kun ved hjælp af kodegrænser, men efter servicegrænser. Denne læring har overført til mikrotjenester."

Microservices-arkitektur er afhængig af enklere og mere udviklervenlige protokoller end SOA gjorde - REST i modsætning til SOAP; JSON i modsætning til XML. Sheehan bemærker en anden vigtig forskel:

De typer mikroservices, som vi ser, og som vores kunder har tendens til at bruge, er meget devops-drevet. Internt distribuerer vi ca. 31 gange om dagen hos vores virksomhed på tværs af alle vores forskellige tjenester. Vi er 14 personer, og vi har omkring 40 forskellige tjenester, der kører internt. Så stor del af det er at få den nødvendige infrastruktur på plads, så hvert team er i stand til uafhængigt at implementere, skalere, overvåge og måle hver tjeneste.

I et sådant scenario udviskes linjen mellem dev og ops. Ops-personale skriver kode for at styre infrastrukturen og bliver i det væsentlige en del af udviklingsteamet. "Der er meget lidt skelnen mellem ops-teamet og apps-teamet," siger Sheehan. I ops, "tilfældigvis koder du mod servere i stedet for kodning mod tjenesten."

Singh mener, at den devops-intensive mikrotjenestetilgang kan fjerne behovet for "formel" PaaS. Sådanne PaaS-tilbud som Cloud Foundry eller OpenShift tilbyder forudbestemte samlinger af tjenester og processer til opbygning, test og implementering af applikationer - hvorimod i den nye stak kan rige sæt API-tilgængelige mikrotjenester integreres i hvert lag. Både dev og ops kan tilsluttes mikrotjenester op og ned i stakken uden de begrænsninger, som PaaS pålægger.

En anden slags hybrid

Microservices-arkitektur springer muligvis over PaaS, men hele den nye stak vil ikke slå rod natten over. For eksempel anses Netflix for at have den mest avancerede installation af mikrotjenester overalt, og det gør mange forudbyggede tjenester tilgængelige for open source-samfundet som Docker-billeder på Docker Hub - men Netflix bruger ikke Docker i produktion. Heller ikke Runscope for den sags skyld. Begge bruger i stedet konventionelle VM'er.

På trods af den enorme interesse blandt udviklere for containerbaserede løsninger er det tidlige dage. For det første udvikler orkestrations- og styringsværktøjerne til containere, såsom Mesosphere og Kubernetes, stadig. For en anden er det ikke klart, hvilken containerstandard der vinder, med CoreOS, der udgjorde en stor udfordring for Docker i december sidste år. Den containerbaserede stak kan sejre til sidst, men det tager et stykke tid.

"Vi ser, at det mest sandsynlige resultat er, at containere og VM'er vil blive brugt i kombination," siger Kurt Milne fra multicloud-administrationsudbyderen Cliqr. Det kan betyde at køre containere inde i VM'er - eller det kan simpelthen betyde, at nye containerbaserede stakke og VM-baserede stakke kører side om side.

Dette hybridscenarie åbner mulighed for VMware og andre, der har bygget styring og orkestrering til virtualisering. I et interview med sidste uge nægtede VMware-vicepræsident Raghu Raghuram at se containere som en trussel. I stedet sagde han:

Vi ser containere som en måde at bringe nye applikationer ind på vores platform. Når udviklere eller it-folk spekulerer på, hvad de har brug for for at køre containere på en robust måde, viser det sig, at de har brug for et infrastrukturlag nedenunder - de har brug for vedholdenhed, de har brug for netværk, de har brug for firewalling, de har brug for ressourcestyring og al den slags ting. Vi har allerede bygget det. Når du plopper containermekanismen oven på dette, kan du også begynde at bruge den samme infrastruktur til disse ting. Vi ser mønstre, hvor den statsløse web-frontend er alle containere, og vedholdenheden og databaser er alle VM'er. . Det er en blanding af begge dele. Så nu er spørgsmålet: Hvad er et fælles infrastrukturmiljø og et fælles ledelsesmiljø? Vi ser det som en enorm mulighed for os.

Raghuram nægtede at sige, hvornår VMware muligvis udvider sine styringsværktøjer til containerlaget, men implikationen er klar. Det vil være interessant at se, hvordan VMwares ops-orienterede tilgang vil blive opfyldt af de udviklere, der kører dagens containerbaserede eksperimentering.

Hvad der er klart er, at på trods af den nuværende spænding vil den nye stak ikke erstatte den eksisterende i en eller anden dramatisk rip-and-repl-bølge. Som med cloudadoption vil den containerbaserede stak næsten udelukkende bruges til udvikling og test først. Den enorme eksisterende investering i virtualiseringsinfrastruktur kastes ikke ud af datacentervinduet.

Ikke desto mindre er den nye containerbaserede stak et stort spring fremad inden for agility og udviklerkontrol. Udviklere opdager og vedtager de værktøjer, de har brug for til at opbygge mikrotjenestearkitektur og levere flere og bedre applikationer på et fantastisk klip. Når brikkerne falder på plads, og devops-færdigheder bliver allestedsnærværende, kan du vædde på, at den nye stak vil slå rod lige så ubarmhjertigt som virtualisering gjorde.

$config[zx-auto] not found$config[zx-overlay] not found