Zerbitzaririk gabeko iraultza zergatik dagoen blokeatuta

Gako puntuak

  • Duela zenbait urte agindu digute zerbitzaririk gabeko konputazioak (zerbitzaririk gabekoak) aro berri bat irekiko duela aplikazioak exekutatzeko OS zehatzik gabe. Horrelako egitura batek eskalagarritasun arazo asko konponduko zituela esan ziguten. Izan ere, dena ezberdina da.
  • Askok zerbitzaririk gabeko teknologia ideia berri gisa ikusten duten arren, bere sustraiak 2006. urtera arte aurki daitezke Zimki PaaS eta Google App Engine-rekin, biak zerbitzaririk gabeko arkitektura erabiltzen dutenak.
  • Zerbitzaririk gabeko iraultza geldiarazteko lau arrazoi daude, programazio-lengoaiaren laguntza mugatuetatik errendimendu arazoetaraino.
  • Zerbitzaririk gabeko informatika ez da alferrikakoa. Hortik urrun. Hala ere, ez dira zerbitzarien ordezko zuzen gisa ikusi behar. Aplikazio batzuentzat, tresna erabilgarria izan daiteke.

Zerbitzaria hil da, bizi zerbitzariak!

Hau da zerbitzaririk gabeko iraultzaren jarraitzaileen gudu-oihua. Azken urteotan industriako prentsari begirada azkar bat ematea nahikoa da zerbitzari eredu tradizionala hilda dagoela eta urte gutxi barru guztiok zerbitzaririk gabeko arkitekturak erabiliko ditugula ondorioztatzeko.

Industriako edonork dakien bezala, eta gure artikuluan ere adierazi genuen bezala zerbitzaririk gabeko konputazioaren egoera, hau gaizki dago. Merituei buruzko artikulu asko izan arren zerbitzaririk gabeko iraultza, ez zen inoiz gertatu. Izan ere, azken ikerketek erakusten duteiraultza hau muturreraino iritsi zitekeela.

Zerbitzaririk gabeko ereduetarako promesa batzuk egia bihurtu dira zalantzarik gabe, baina ez guztiak. Denek ez.

Artikulu honetan baldintza honen arrazoiak aztertu nahi ditut. Zerbitzaririk gabeko ereduen malgutasun eza zergatik den oraindik oztopo zabalagoan hartzeko, nahiz eta egoera zehatz eta zehatzetan erabilgarriak izaten jarraitzen duten.

Zerbitzaririk gabeko informatikaren zaleek agindu zutena

Zerbitzaririk gabeko informatikaren arazoei ekin aurretik, ikus dezagun zer eman behar zuten. Zerbitzaririk gabeko iraultza baten promesak ugari eta -batzuetan- oso asmo handikoak ziren.

Terminoa ezagutzen ez dutenentzat, hona hemen definizio labur bat. Zerbitzaririk gabeko konputazioak arkitektura bat definitzen du, zeinetan aplikazioak (edo aplikazio-zatiak) eskariaren arabera exekutatzen diren exekuzio-inguruneetan normalean urrunetik ostatatzen diren. Horrez gain, zerbitzaririk gabeko sistemak ostata daitezke. Zerbitzaririk gabeko sistema sendoak sortzea azken urteotan sistema-administratzaileen eta SaaS enpresen kezka nagusia izan da, izan ere (esaten da) arkitektura honek hainbat abantaila gako eskaintzen dituelako bezero/zerbitzari eredu "tradizionalaren" aldean:

  1. Zerbitzaririk gabeko ereduek ez dute erabiltzaileek beren sistema eragileak mantentzea behar, ezta sistema eragile zehatzekin bateragarriak diren aplikazioak eraikitzea ere. Horren ordez, garatzaileek kode partekatua sortzen dute, zerbitzaririk gabeko plataforma batera kargatzen dute eta exekutatzen ikusten dute.
  2. Zerbitzaririk gabeko esparruetako baliabideak minutuz (edo segundoz) fakturatzen dira normalean. Horrek esan nahi du bezeroek kodea benetan exekutatzen duten denboragatik soilik ordaintzen dutela. Hau hodeiko VM tradizionalarekin alderatzen da, non makina inaktibo dagoen gehienetan, baina ordaindu egin behar duzu.
  3. Eskalagarritasunaren arazoa ere konpondu zen. Zerbitzaririk gabeko esparruetako baliabideak dinamikoki esleitzen dira, sistemak eskariaren bat-bateko pikoei erraz aurre egin diezaion.

Laburbilduz, zerbitzaririk gabeko ereduek irtenbide malguak, kostu baxukoak eta eskalagarriak eskaintzen dituzte. Harritu egiten naiz lehenago ideia hau bururatu ez izana.

Benetan ideia berria al da?

Egia esan, ideia ez da berria. Erabiltzaileei kodea benetan exekutatzen den denborarako soilik ordaintzeko aukera ematearen kontzeptua existitu da araupean sartu zenetik. Zimki PaaS 2006an, eta garai berean, Google App Engine-k oso antzeko irtenbide bat sortu zuen.

Izan ere, gaur egun "zerbitzaririk gabeko" eredua deitzen duguna ia gauza bera ematen duten gaur egun "hodeiko natiboa" deritzon teknologia asko baino zaharragoa da. Esan bezala, zerbitzaririk gabeko ereduak, funtsean, hamarkadetan egon den SaaS negozio ereduaren luzapena besterik ez dira.

Merezi du aitortzea ere zerbitzaririk gabeko eredua ez dela FaaS arkitektura bat, bien artean lotura bat dagoen arren. FaaS zerbitzaririk gabeko arkitektura baten konputazio zentratua da funtsean, baina ez du sistema osoa adierazten.

Beraz, zergatik hype hori guztia? Bada, garapen-bidean dauden herrialdeetan Interneten sartze tasak gora egiten jarraitzen duen heinean, informatika-baliabideen eskaria ere bai. Esaterako, merkataritza elektronikoaren sektoreak azkar hazten ari diren herrialde askok ez dute plataforma horietan aplikazioetarako informatika-azpiegiturarik. Hor sartzen dira ordainpeko zerbitzaririk gabeko plataformak.

Zerbitzaririk gabeko ereduekin arazoak

Harrapaketa zerbitzaririk gabeko modeloek... arazoak dituzte. Ez nazazu gaizki ulertu: ez dut esaten berez txarra direnik edo egoera batzuetan enpresa batzuei balio nabarmenik ematen ez dietenik. Baina "iraultzaren" aldarrikapen nagusia -zerbitzaririk gabeko arkitekturak tradizionala azkar ordezkatuko duela- ez da inoiz gauzatzen.

Horregatik.

Programazio lengoaietarako laguntza mugatua

Zerbitzaririk gabeko plataforma gehienek hizkuntza jakin batzuetan idatzitako aplikazioak soilik exekutatzen dituzte. Horrek asko mugatzen ditu sistema horien malgutasuna eta moldagarritasuna.

Zerbitzaririk gabeko plataformek hizkuntza nagusi gehienak onartzen dituzte. AWS Lambda eta Azure Functions-ek aplikazioak eta funtzioak onartzen ez diren hizkuntzatan exekutatzeko bilgarri bat ere eskaintzen dute, nahiz eta askotan errendimendu kostua izan. Beraz, erakunde gehienentzat, normalean, muga hori ez da gauza handia. Baina hona hemen gauza. Zerbitzaririk gabeko ereduen abantailetako bat izan behar da gutxitan erabiltzen diren programa ilunak merkeago erabil daitezkeela, exekutatzen diren denboragatik bakarrik ordaintzen duzulako. Eta programa ilunak, gutxi erabiliak, sarritan idazten dira... programazio lengoaia ilun eta gutxitan erabiltzen direnak.

Horrek zerbitzaririk gabeko ereduaren abantail nagusietako bat ahultzen du.

Saltzaile bati lotzea

Zerbitzaririk gabeko plataformen bigarren arazoa, edo gaur egun inplementatzeko modua behintzat, normalean maila operatiboan ez dutela antzekorik izaten da. Ia ez dago estandarizaziorik idazketa-funtzioei, hedapenari eta kudeaketari dagokionez. Horrek esan nahi du plataforma batetik bestera eginbideak migratzeak denbora asko eskatzen duela.

Zerbitzaririk gabeko eredu batera pasatzearen alderik zailena ez dira funtzio konputazionalak, normalean kode zatiak besterik ez direnak, baizik eta aplikazioak nola komunikatzen diren konektatutako sistemekin, hala nola objektuen biltegiratzea, identitatearen kudeaketa eta ilarak. Funtzioak mugitu daitezke, baina gainerako aplikazioak ezin. Hau agindutako plataforma merke eta malguen guztiz kontrakoa da.

Batzuek diote zerbitzaririk gabeko ereduak berriak direla eta ez dela astirik egon nola funtzionatzen duten estandarizatzeko. Baina ez dira horren berriak, goian adierazi dudan bezala, eta hodeiko beste teknologia asko, hala nola, edukiontziak, dagoeneko askoz erosoagoak bihurtu dira estandar onen garapen eta hedapen zabalaren ondorioz.

produktibitatea

Zerbitzaririk gabeko plataformen informatika-errendimendua neurtzea zaila da, besteak beste, saltzaileek informazioa isilpean gorde ohi dutelako. Gehienek diote urruneko zerbitzaririk gabeko plataformetan funtzioak barneko zerbitzarietan bezain azkar exekutatzen direla, latentzia-arazo saihestezin batzuk salbu.

Hala ere, froga batzuek kontrakoa iradokitzen dute. Aurretik plataforma jakin batean exekutatu ez diren edo denbora luzez exekutatu ez diren funtzioek denbora pixka bat behar dute hasieratzeko. Litekeena da haien kodea ez hain erabilgarri dagoen biltegiratze euskarri batera eraman dutelako, nahiz eta -erreferentziarekin gertatzen den bezala- saltzaile gehienek ez dizute datuen porturatzeari buruz esango.

Jakina, hainbat modu daude horri aurre egiteko. Bata zure zerbitzaririk gabeko plataformak exekutatzen duen edozein hodei-hizkuntzarako eginbideak optimizatzea da, baina horrek plataforma horiek "arinak" direlako aldarrikapena ahultzen du.

Beste ikuspegi bat errendimendu kritikoko programak aldizka exekutatzen direla ziurtatzea da, "fresko" mantentzeko. Bigarren ikuspegi hau, noski, zerbitzaririk gabeko plataformak kostu-eraginkorragoak direla dioenaren kontrako apur bat da, zure programak exekutatzen diren denboragatik bakarrik ordaintzen duzulako. Hodei-hornitzaileek abiarazte hotzak murrizteko modu berriak sartu dituzte, baina horietako askok "batera eskalatu" behar dute, eta horrek FaaS-en jatorrizko balioa ahultzen du.

Hotzeko abiaraztearen arazoa neurri batean konpondu daiteke zerbitzaririk gabeko sistemak barnean exekutatuta, baina honek bere kostua du eta baliabide egokiak dituzten taldeentzako nitxo aukera izaten jarraitzen du.

Ezin dituzu aplikazio osoak exekutatu

Azkenik, beharbada zerbitzaririk gabeko arkitekturak eredu tradizionalak laster ordezkatuko ez dituen arrazoirik garrantzitsuena da (orokorrean) ezin dituztela aplikazio osoak exekutatu.

Zehatzago esanda, kostuaren ikuspuntutik ez da praktikoa. Zure monolito arrakastatsua ziurrenik ez litzateke zortzi atebidez, berrogei ilaraz eta dozena bat datu-baseko instantziaz loturiko lau dozena funtzio multzo batean bihurtu behar. Horregatik, zerbitzaririk gabeko garapen berrietarako egokia da. Ia ezin da lehendik dagoen aplikaziorik (arkitektura) eraman. Migra dezakezu, baina hutsetik hasi behar duzu.

Horrek esan nahi du kasu gehienetan zerbitzaririk gabeko plataformak back-end zerbitzarien osagarri gisa erabiltzen direla konputazio intentsiboko zereginak egiteko. Hau oso desberdina da hodeiko konputazioaren beste bi formen, edukiontziak eta makina birtualak, urruneko informatika egiteko modu integrala eskaintzen dutenak. Honek mikrozerbitzuetatik zerbitzaririk gabeko sistemetara migratzearen erronketako bat erakusten du.

Jakina, hau ez da beti arazo bat. Zure hardwarea erosi gabe aldian-aldian baliabide informatiko handiak erabiltzeko gaitasunak onura errealak eta iraunkorrak ekar ditzake erakunde askorentzat. Baina aplikazio batzuk barne zerbitzarietan badaude eta beste batzuk zerbitzaririk gabeko hodeiko arkitekturan badaude, kudeaketa konplexutasun maila berri batean sartzen da.

Luze bizi iraultza?

Kexa hauek guztiak gorabehera, ez nago berez zerbitzaririk gabeko irtenbideen aurka. Egia esanda. Garatzaileek ulertu behar dutela, batez ere zerbitzaririk gabeko ereduak lehen aldiz aztertzen ari badira, teknologia hau ez dela zerbitzarien ordezko zuzena. Horren ordez, begiratu gure aholkuak eta baliabideak zerbitzaririk gabeko aplikazioak eraikitzea eta eredu hori nola aplikatu egokiena erabaki.

Iturria: www.habr.com

Gehitu iruzkin berria