Programiranje

Pripravite se na nov kup

Virtualizacija je morda najuspešnejša tehnologija, ki je kdajkoli presegla prag podatkovnega centra podjetja. Izredno boljša uporaba strojne opreme in zmožnost vrtenja VM-jev sta v zadnjem desetletju omogočala enostavno prodajo virtualizacije do točke, ko je Gartner pred kratkim ocenil, da je 70 odstotkov delovnih obremenitev x86 virtualiziranih.

Toda modne zasebne stvari v oblaku na vrhu tega sloja za virtualizacijo počasi prihajajo. Da, orodji za upravljanje virtualizacije iz VMware in Microsofta so omogočili vedenje, podobno oblaku, za strežnike in shrambo, celo OpenStack končno dobi malo vleke za podjetja - toda napredni javni oblaki, ki jih ponujajo Amazon, Google, IBM, Microsoft in Rackspace, prinašajo veliko več napredno samodejno skaliranje, merjenje in samopostrežba (da ne omenjamo na stotine drugih storitev). Poleg tega se je oblačna plast PaaS za razvoj, testiranje in uvajanje aplikacij, ki jo zdaj ponujajo vsi večji javni oblaki, našla pot v razmeroma malo podjetniških podatkovnih centrov.

Nato je lani na sceno prišel Docker, ki je ponudil nov sklad oblakov, ki temelji na vsebnikih in ne na VM-jih. Posode so veliko lažje od VM-jev in omogočajo enostavno pakiranje in selitev aplikacij, brez težav pri običajni namestitvi. Če se oblaki, ki temeljijo na VM, ustavijo in novi sklad na osnovi zabojnikov ponuja tako očitne prednosti, se bo novi sklad preusmeril v podjetje in ponudil nov zasebni oblak?

Zorawar Biri Singh, nekdanji vodja HP ​​Cloud Services in zdaj partner v podjetju Khosla Ventures, meni, da je zmaga novega sklada neizogibna - a do sprejetja v podjetju nas še vedno ločijo leta. Tu vidi ozka grla:

Prvič, trenutna poraba za tradicionalna podjetja in tradicionalne delovne obremenitve za informacijsko tehnologijo je osredotočena na poenostavitev in upravljanje razširitve VM s pomočjo združenih rešitev v podatkovnem centru. Drugič, novi kup je še vedno krhek in zgoden. Resnična uporabnost okrog zabojnikov, kot je utrjena varnost, še vedno ni blizu. Trenutno je novi sklad zelo dobro seme za razvojne in preizkusne delovne obremenitve. Toda resnično trenje je v tem, da podjetniškim IT-timom za proizvodnjo in delovno obremenitev primanjkuje usmeritve devops ali gibčnega IT-ozadja, da bi lahko uvajali in podpirali distribuirane aplikacije ali aplikacije brez državljanstva. Eno največjih vprašanj je, da je v tradicionalnih podjetniških organizacijah le velika razlika v spretnostih.

Po drugi strani, pravi Singh, "nekatere razvojne ekipe in greenfield podjetja že vozijo po tej infrastrukturi." V takih primerih so bodisi metode devops že uveljavljene bodisi pionirski razvijalci sami rešujejo operacijsko stran sklada na osnovi vsebnikov.

Tako kot so razvijalci spodbujali sprejemanje baz podatkov NoSQL, so na prvem mestu novega sklada, prenašajo odprtokodno programsko opremo in eksperimentirajo - ali pa se obračajo na javne oblake, kot sta EC2 ali Azure, ki že podpirajo vsebnike.

Nujni mikroservisi

Zakaj je razvijalcem tako všeč novi kup? Večinoma zato, ker so vsebniki ugodni za arhitekturo mikro storitev, kjer zbirke enonamenskih storitev, dostopnih API, nadomeščajo monolitne aplikacije. Arhitektura mikro storitev omogoča razvijalcem izdelavo aplikacij, ki so bolj prilagodljive novim zahtevam - in hitro ustvarjanje popolnoma novih aplikacij z uporabo obstoječih storitev.

John Sheehan, soustanovitelj in izvršni direktor storitve za spremljanje in testiranje API-jev Runscope, vidi mikroservice kot "posodobitev" SOA (storitveno usmerjene arhitekture). "Temeljne odgovornosti so večinoma enake," pravi Sheehan. "Različne dele naše programske arhitekture želimo distribuirati med različne sisteme in jo razdeliti ne le po mejah kode, temveč po mejah storitev. To učenje se je preneslo na mikro storitve."

Arhitektura mikro storitev temelji na enostavnejših in za razvijalce prijaznejših protokolih kot SOA - REST v nasprotju s SOAP; JSON v nasprotju z XML. Sheehan ugotavlja še eno ključno razliko:

Vrste mikro storitev, ki jih vidimo in ki jih naše stranke običajno uporabljajo, temeljijo na devopsu. Interno v našem podjetju razporedimo približno 31-krat na dan v vseh različnih storitvah. Mi smo 14 ljudi in imamo približno 40 različnih služb, ki delujejo interno. Tako velik del tega je vzpostavitev potrebne infrastrukture, tako da lahko vsaka ekipa samostojno razporedi, prilagodi, spremlja in izmeri vsako storitev.

V takem scenariju se meja med razvijalcem in operacijskim sistemom zabriše. Osebje piše kodo za upravljanje infrastrukture in v bistvu postane del razvojne ekipe. "Razlikovanje med ekipo ops in ekipo za aplikacije je zelo malo," pravi Sheehan. V operacijskem sistemu "kodirate proti strežnikom, namesto da kodirate proti storitvi."

Singh meni, da bi pristop z intenzivnimi devopskimi mikroservisi lahko odpravil potrebo po "formalnem" PaaS. Ponudbe PaaS, kot sta Cloud Foundry ali OpenShift, ponujajo vnaprej določene zbirke storitev in procesov za izdelavo, testiranje in uvajanje aplikacij - medtem ko je v novi sklad mogoče v vsako plast vdelati bogate nabore mikro storitev, dostopnih do API. Razvijalci in operacijski sistemi se lahko vključijo v mikro storitve gor in dol po svežnju, brez omejitev, ki jih nalaga PaaS.

Drugačna vrsta hibrida

Arhitektura mikroservisov lahko preskoči PaaS, vendar se celoten novi sklad čez noč ne bo ukoreninil. Na primer, za Netflix velja, da ima kjer koli najnaprednejšo uvedbo mikro storitev in odprtokodni skupnosti omogoča številne vnaprej izdelane storitve kot Dockerjeve slike na Docker Hub - vendar Netflix Dockerja v proizvodnji ne uporablja. Prav tako tudi Runscope ne. Oba namesto tega uporabljata običajne VM-je.

Kljub velikemu zanimanju razvijalcev za rešitve, ki temeljijo na zabojnikih, so zgodnji časi. Prvič, orodja za orkestracijo in upravljanje zabojnikov, kot sta Mesosfera in Kubernetes, se še vedno razvijajo. Drugič ni jasno, kateri standard zabojnikov bo zmagal, CoreOS pa je decembra decembra predstavljal velik izziv za Docker. Sklop na osnovi vsebnikov bo sčasoma lahko zmagal, vendar bo trajalo nekaj časa.

"Najverjetnejši izid je, da se bodo vsebniki in VM uporabljali v kombinaciji," pravi Kurt Milne iz ponudnika za upravljanje več glasnosti Cliqr. To bi lahko pomenilo zagon vsebnikov znotraj VM-jev - ali pa preprosto pomeni, da se bodo novi skladi na osnovi vsebnikov in skladi na VM izvajali drug ob drugem.

Ta hibridni scenarij odpira priložnost za VMware in druge, ki so zgradili upravljanje in orkestracijo za virtualizacijo. V intervjuju s prejšnjim tednom je izvršni podpredsednik VMware Raghu Raghuram zavrnil posode kot grožnjo. Namesto tega je rekel:

Zabojnike vidimo kot način, kako na našo platformo vnesti nove aplikacije. Ko se razvijalci ali informatiki vprašajo, kaj potrebujejo za zagon zabojnikov na močan način, se izkaže, da potrebujejo plast infrastrukture od spodaj - potrebujejo vztrajnost, mreženje, požarni zid, upravljanje virov in vse te vrste stvari. To smo že zgradili. Ko na to zapletete mehanizem zabojnikov, lahko začnete uporabljati isto infrastrukturo tudi za te stvari. Opazimo vzorce, pri katerih so sprednji del spleta brez državljanstva vsi vsebniki, obstojnost in baze podatkov pa so vsi VM . Gre za mešanico obeh. Zdaj se postavlja vprašanje: Kaj je skupno infrastrukturno okolje in skupno upravljanje? To vidimo za nas izjemno priložnost.

Raghuram ni hotel povedati, kdaj lahko VMware razširi svoja orodja za upravljanje na plast vsebnika, vendar je to jasno. Zanimivo bo videti, kako bodo razvijalci, ki poganjajo današnje eksperimentiranje na osnovi kontejnerjev, izpolnili pristop, usmerjen v operacijski sistem VMware.

Jasno je, da kljub trenutnemu navdušenju novi sklad ne bo izpodrinil obstoječega v nekem dramatičnem valu kopiranja in zamenjave. Tako kot pri sprejemanju oblakov se bo sklad na osnovi vsebnikov skoraj izključno najprej uporabljal za razvoj in preizkušanje. Ogromna obstoječa naložba v infrastrukturo za virtualizacijo ne bo zavržena iz okna podatkovnega centra.

Kljub temu je nov sklad na osnovi zabojnikov velik korak naprej v okretnosti in nadzoru razvijalcev. Razvijalci odkrivajo in uporabljajo orodja, ki jih potrebujejo za izgradnjo arhitekture mikro storitev in za zagotavljanje več in boljših aplikacij v fantastičnem posnetku. Ko se kosi postavijo na svoje mesto in veščine devopsa postanejo vseprisotne, lahko stavite, da se bo novi sklad tako neizprosno ukoreninil kot virtualizacija.

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