LFCA: õppige serverivaba arvutust, selle eeliseid ja lõkse - osa 15


Serverivaba tehnoloogia on tekitanud tehnikakogukonnas palju uudishimu ja tekitanud palju uudishimu ning saanud vähesel määral vastureaktsiooni. See on tehnoloogia, mis algas AWS Lamba turuletoomisega 2014. aastal ja millele järgnesid Azure Functions peagi hiljem 2016. aastal.

Hiljem järgis Google Google Cloudi funktsioonide väljaandmist 2018. aasta juulis. Mis on serverivaba tehnoloogia? Sellele küsimusele parimaks vastamiseks pöördugem oma mõtetes tagasi tavapärasele serveripõhisele arvutamisele.

Traditsioonilises IT-mudelis vastutasite põhimõtteliselt kõige eest. Ettevõtte omanikuna peaksite eelarves arvestama serverite ja muude võrguseadmete, näiteks ruuterite ja lülitite ning serverite leinamiseks mõeldud riiulite jaoks.

Samuti peaksite muretsema puutumatu ja turvalise andmekeskuse hankimise pärast ning tagama, et see suudaks piisavalt pakkuda jahutus- ja üleliigset toite- ja Interneti-teenust. Pärast seadistamist peate installima operatsioonisüsteemi ja hiljem oma rakendused installima. Lisaks on teil vaja tulemüüre, sissetungi vältimist ja tuvastussüsteeme.

Nagu arvata võis, on see ressursimahukas, kulukas ja kurnav.

Seejärel tungis pilvandmetöötlus tehnikamaailma, muutes serverite ja rakenduste juurutamise ja haldamise viisi täielikult. See kuulutas uut ajajärku, kus arendajad tõmbasid pilveserverid ja andmebaasid kiirelt üles ja hakkasid oma rakendustega tegelema. Ärge muretsege traditsiooniliste IT-andmetöötlustega seotud probleemide pärast, nagu seisak, kallid seadmed ja andmekeskuste rentimine.

Ehkki pilvandmetöötlus tõi endaga kaasa IT-ressursside kasutuselevõtu mugavuse ja mastaabisäästu, ostsid mõned ettevõtted serveriruumi ja ressursside, näiteks RAM-i ja protsessorit, üle, ostes võrguliikluse või rakenduste hoogustumise ootuses üle.

Ehkki tegemist on ettevaatliku sammuga, on soovimatu tulemus serveriressursside alakasutamine, mis lähevad sageli raisku. Isegi automaatse skaleerimise korral võib ettenägematu ja äkiline piik osutuda kulukaks. Samuti peate ikkagi täitma muid ülesandeid, näiteks seadistama koormuse tasakaalustajad, mis suurendavad tõenäoliselt ka tegevuskulusid.

On ilmne, et pilvele üleminekust hoolimata jäävad mõned kitsaskohad endiselt püsima ning võivad suurendada kulusid ja põhjustada ressursside raiskamist. Ja siin tuleb sisse serverivaba andmetöötlus.

Mis on serverivaba andmetöötlus

Serverivaba andmetöötlus on pilvemudel, mis pakub kasutajatele taustaprogrammi teenuseid tasumisel. Lihtsamalt öeldes eraldab pilvepakkuja arvutusressursse ja võtab tasu ainult rakenduste töötamise aja eest. See on samaväärne üleminekuga kaabellevimakse kuupaketilt tasumisele ainult selle eest, kui vaatate telesaateid.

Mõiste „Serverless” võib olla veidi eksitav. Kas serverid on seotud? Muidugi, sel juhul haldab servereid ja nende infrastruktuuri puhtalt pilvepakkuja. Sellisena ei pea te nende pärast muretsema. Arendajana keskendute puhtalt oma rakenduste arendamisele ja tagate, et need töötaksid teile rahulolevalt.

Seda tehes võtab serverivaba arvutus serverite haldamisel peavalu ja säästab teie rakenduste kallal töötamiseks väärtuslikku aega.

Serverita arvutite pakutavad taustaprogrammi teenused

Serverivaba taustaprogrammi täiuslik näide on FaaS (Function-as-a-Service, FaaS) platvorm. FaaS on pilvandmetöötluse mudel, mis võimaldab arendajatel sündmustele reageerides koodi välja töötada, käivitada ja hallata, ilma et oleks vaja mikroteenuste juurutamisega tavaliselt seotud alusinfrastruktuuri üles ehitada ja hallata.

Faas on serverivaba arvutamise alamkategooria, millel on peened erinevused. Serverivaba andmetöötlus hõlmab paljusid teenuseid, sealhulgas arvutus, andmebaas, salvestusruum ja API. FaaS on keskendunud ainult sündmustepõhisele arvutusmudelile, kus rakendusi käivitatakse nõudmisel, see tähendab vastusena päringule.

FaaSi arvutusmudelite näited on järgmised:

  • AWS Lambda autor AWS
  • Microsofti Azure'i funktsioonid
  • Google'i pilvefunktsioonid
  • Cloudflare Workers by Cloudflare

Kokkuvõtlikult oleme näinud, et FaaS-iga maksate ainult selle aja eest, mille jooksul teie rakendus töötab, ja pilveteenuse pakkuja teeb teie eest peaaegu kõik, sealhulgas haldab aluseks olevat infrastruktuuri. Serverite haldamine on kõige väiksem mure.

Serverivaba andmetöötluse eelised

Nüüdseks on teil hea mõte mõnedest teenustest, mille serverivaba arvutus tabelisse toob. Uurigem põhjalikumalt tehnoloogia omaksvõtmise eelistest.

See on ehk serverivaba arvutusmudeli kasutuselevõtu üks suurimaid eeliseid. Ehkki mõistet „serverivaba” võib valesti tõlgendada, kui viidata sellele, et selles pole servereid, töötavad rakendused ikkagi serverites. Asja tuum on see, et serverihaldus on täielikult pilvemüüja asi ja see annab teile rohkem aega oma rakendustega töötamiseks.

Serverita infrastruktuur võimaldab rakenduste automaatset skaleerimist vastuseks kasutuse, nõudluse suurenemisele või kasutajaskonna kasvule. Kui rakendus töötab mitmel eksemplaril, käivitatakse ja peatatakse serverid, kui see on vajalik. Traditsioonilises pilvandmetöötluse seadistuses võib liikluse või tegevuse hoog serveri ressursse kergesti üle koormata, mis põhjustab rakenduse käivitamisel vastuolusid.

Arendajana pole teil vaja oma rakenduste ülimalt kättesaadavaks muutmiseks spetsiaalset infrastruktuuri ehitada. Serverivaba andmetöötlus tagab teile sisseehitatud kõrge kättesaadavuse, tagamaks, et teie rakendused töötavad ja töötavad vajaduse korral.

Serverivaba arvutus eraldab ressursse kasutustasu alusel. Teie rakendus nõuab taustaprogrammi funktsioone ainult siis, kui kood käivitub, ja see laieneb automaatselt vastavalt töökoormusele.

See annab mastaabisäästu, kuna teile esitatakse arve ainult rakenduste käitamise aja eest. Traditsioonilises serverimudelis peate maksma serveriruumi, andmebaaside ja muude ressursside eest, olenemata sellest, kas rakendus töötab või töötab.

Serverivaba arhitektuur kaob vajadus taustaprogrammi konfigureerimise ja koodi käsitsi serveritesse üleslaadimise järele nagu traditsioonilises seadistuses. Arendajatel on lihtne väikseid koodikogumeid tõhusalt üles laadida ja suurepärast toodet turule tuua.

Juurutamise lihtsus võimaldab arendajatel hõlpsalt ka teatud koodi funktsioone lappida ja värskendada, muutmata kogu rakendust.

Serverita arvutite lõkse

Kas serverivaba mudeliga on seotud puudusi? Uurime välja.

Halvasti konfigureeritud rakendused kujutavad endast suurimat serverivaba andmetöötlusega seotud riski. Näiteks kui valite AWS-i, on mõistlik konfigureerida oma rakendusele erinevad õigused, mis omakorda määravad, kuidas need AWS-i muude teenustega suhtlevad. Kui õigused on ebamäärased, võib funktsioonil või teenusel olla rohkem õigusi kui vaja, jättes turvarikkumistele piisavalt ruumi.

Serverita mudeli valimine võib teisele hankijale üleminekul tekitada probleeme. Seda peamiselt seetõttu, et igal müüjal on oma funktsioonid ja töövood, mis erinevad teistest veidi.

Teine väljakutse, mille serverivaba mudel tekitab, on raskused serverita keskkonna taasesitamiseks koodide jõudluse testimiseks ja jälgimiseks enne otseülekannet. Seda peamiselt seetõttu, et arendajatel puudub juurdepääs pilveteenuse pakutavate teenuste taustaprogrammidele.

Serverita rakenduste jälgimine on keeruline ettevõtmine samadel põhjustel, mis silumine ja testimine on ülesmäge. Sellele on lisandunud integreeritud tööriistade puudumine selliste teenuste tagamiseks nagu AWS Lamba.

Serverivaba andmetöötlus on ettevõtete ja arendajate seas jätkuvalt haaravam ja omandatud kolmel peamisel põhjusel. Üks on taskukohasus, mis tähendab väiksemaid tegevuskulusid. Teiseks hõlbustab serverivaba andmetöötlus automaatset ja kiiret skaleerimist ning lõpuks ei pea arendajad muretsema tarnija hallatava infrastruktuuri pärast.

Vahepeal töötavad pilveteenuse pakkujad ööpäevaringselt, et lahendada mõned serverivaba andmetöötlusega seotud lõkse, näiteks raskused rakenduste silumisel ja jälgimisel.