LFCA: Naučite se brezžičnega računalništva, prednosti in pasti - 15. del


Brez strežniška tehnologija je v tehnološki skupnosti ustvarila veliko hrupa, ki je vzbudil veliko radovednosti in nekoliko odzval. Gre za tehnologijo, ki se je začela z lansiranjem AWS Lamba leta 2014, ki so ji kasneje leta 2016 sledile še Azure Functions.

Google je kasneje sledil temu z izdajo funkcij Google Cloud julija 2018. Torej, kaj je tehnologija brez strežnika? Da bi najbolje odgovorili na to vprašanje, se vrnimo k tradicionalnemu strežniškemu računalništvu.

V tradicionalnem IT-modelu ste bili v glavnem odgovorni za vse. Kot lastnik podjetja bi morali financirati strežnike in drugo omrežno opremo, kot so usmerjevalniki in stikala ter stojala za žalovanje strežnikov.

Prav tako bi vas moralo skrbeti, da bi dobili nedotaknjen in varen podatkovni center in zagotovil, da lahko v zadostni meri zagotavlja hlajenje in odvečno napajanje ter internetne storitve. Ko je enkrat nastavljen, boste morali namestiti operacijski sistem in kasneje razmestiti svoje aplikacije. Poleg tega bi morali imeti požarne zidove in sisteme za preprečevanje vdorov in zaznavanje.

Kot ste že uganili, je to dolgotrajno, drago in izčrpavanje.

Nato se je računalništvo v oblaku vdrlo v tehnološki svet in popolnoma spremenilo način uvajanja in upravljanja strežnikov in aplikacij. Napovedal je novo dobo, v kateri bodo razvijalci v hipu zlahka stisnili strežnike v oblaku in podatkovne baze in začeli delati na svojih aplikacijah. Brez skrbi glede težav, povezanih s tradicionalnim računalništvom IT, kot so izpadi, draga oprema in najem podatkovnih centrov.

Medtem ko je računalništvo v oblaku s seboj prineslo udobje in ekonomijo obsega pri uvajanju informacijskih virov, bi nekatera podjetja predčasno kupila enote strežniškega prostora in vire, kot sta RAM in CPU, v pričakovanju hitrega povečanja omrežnega prometa ali dejavnosti, ki bi lahko premagala aplikacije.

Čeprav gre za preudarno potezo, je nenamerni rezultat premajhna uporaba strežniških virov, ki so pogosto izgubljeni. Tudi pri samodejnem spreminjanju skale se lahko nepredviden in nenaden skok izkaže za drago. Še vedno bi morali opraviti še druge naloge, na primer nastavitev izravnalnikov obremenitve, ki bi prav tako verjetno povečale operativne stroške.

Očitno je, da kljub prehodu na oblak nekatera ozka grla še vedno obstajajo in lahko povečajo stroške ter povzročijo izgubo virov. In tu nastopi računalništvo brez strežnika.

Kaj je računalništvo brez strežnika

Brez strežniškega računalništva je model v oblaku, ki uporabnikom zagotavlja zaledne storitve na osnovi plačila, ko greš. Preprosto povedano, ponudnik v oblaku dodeli računske vire in zaračuna samo čas, ko se aplikacije izvajajo. To je enakovredno prehodu z mesečnega načrta kabelskega plačila na plačilo samo za gledanje TV oddaj.

Izraz "brez strežnika" je morda nekoliko zavajajoč. Ali gre za strežnike? Seveda pa v tem primeru strežnike in osnovno infrastrukturo izključno obravnava in vzdržuje ponudnik v oblaku. Kot taki vam zanje ni treba skrbeti. Kot razvijalec se osredotočate zgolj na razvoj aplikacij in zagotovite, da delujejo v vaše zadovoljstvo.

S tem računalništvo brez strežnikov odstrani glavobol upravljanja strežnikov in vam prihrani dragocen čas za delo z vašimi aplikacijami.

Backend storitve, ki jih zagotavlja računalništvo brez strežnika

Popoln primer zaledne storitve brez strežnika je platforma FaaS (Function-as-a-a-Service). FaaS je model računalništva v oblaku, ki razvijalcem omogoča razvoj, izvajanje in upravljanje kode kot odziv na dogodke brez zapletenosti gradnje in upravljanja osnovne infrastrukture, ki je običajno povezana z uvajanjem mikro storitev.

Faas je podkategorija brezžičnega računalništva s subtilnimi razlikami. Računalništvo brez strežnikov zajema širok spekter storitev, vključno z računi, bazami podatkov, shrambo in API, če omenimo le nekatere. FaaS je osredotočen izključno na računalniški model, ki temelji na dogodkih, kjer se aplikacije izvajajo na zahtevo, torej kot odgovor na zahtevo.

Primeri računalniških modelov FaaS vključujejo:

  • AWS Lambda proizvajalca AWS
  • Microsoftove funkcije Azure
  • Googlove funkcije v oblaku
  • Cloudflare Workers podjetja Cloudflare

Če povzamemo, videli smo, da s FaaS plačate samo čas, ko se vaša aplikacija izvaja, ponudnik oblaka pa v veliki meri naredi vse za vas, vključno z ravnanjem z osnovno infrastrukturo. Upravljanje strežnikov vas najmanj skrbi.

Prednosti brezžičnega računalništva

Do zdaj že dobro veste o nekaterih prednostih, ki jih brez strežniškega računalništva prinese na mizo. Poglobimo se v prednosti sprejemanja tehnologije.

To je morda ena največjih prednosti sprejetja računalniškega modela brez strežnika. Čeprav bi se lahko izraz "brez strežnika" napačno razlagal, da ne gre za nobenega strežnika, je dejstvo, da se aplikacije še vedno izvajajo na strežnikih. Bistvo tega je, da je upravljanje strežnikov v celoti stvar ponudnika oblaka, kar vam daje več časa za delo na vaših aplikacijah.

Brez strežniška infrastruktura omogoča samodejno spreminjanje programov kot odziv na povečanje uporabe, povpraševanja ali rasti uporabniške baze. Če se aplikacija izvaja na več primerkih, se strežniki po potrebi zaženejo in ustavijo. V tradicionalni nastavitvi računalništva v oblaku lahko hiter promet ali aktivnost zlahka preobremeni strežniške vire, kar vodi do neskladnosti z izvršeno aplikacijo.

Kot razvijalec vam ni treba zgraditi nobene posebne infrastrukture, da bi bile vaše aplikacije zelo dostopne. Računalništvo brez strežnika vam zagotavlja vgrajeno visoko razpoložljivost, da zagotovite, da se vaše aplikacije po potrebi zaženejo.

Računalništvo brez strežnikov dodeljuje vire glede na plačilo, ko porabite. Vaša aplikacija bo med izvajanjem kode zahtevala funkcije zaledja in se bo samodejno prilagodila glede na količino delovne obremenitve.

To zagotavlja ekonomijo obsega, saj vam zaračunamo samo čas, ko se aplikacije izvajajo. V tradicionalnem strežniškem modelu morate plačati za strežniški prostor, baze podatkov med drugimi viri, ne glede na to, ali se aplikacija izvaja ali ne deluje.

Arhitektura brez strežnikov odpravlja potrebo po konfiguraciji zaledja in ročnem nalaganju kode na strežnike, kot pri običajni nastavitvi. Razvijalci lahko enostavno učinkovito naložijo majhne sklade kode in lansirajo odličen izdelek.

Enostavnost uvajanja razvijalcem omogoča tudi enostavno krpanje in posodabljanje nekaterih funkcij kode, ne da bi spremenili celotno aplikacijo.

Pasti računalništva brez strežnika

Ali obstajajo kakšne pomanjkljivosti, povezane z brezstrežniškim modelom? Pa ugotovimo.

Slabo konfigurirane aplikacije predstavljajo eno največjih tveganj, povezanih z računalništvom brez strežnika. Če se na primer odločite za AWS, je pametno, da za svojo aplikacijo konfigurirate različna dovoljenja, ki bodo nato določila, kako bodo medsebojno vplivale na druge storitve znotraj AWS. Kadar so dovoljenja nejasna, ima lahko funkcija ali storitev več dovoljenj, kot je zahtevano, kar pušča dovolj prostora za kršitve varnosti.

Odločitev za model brez strežnika lahko predstavlja izziv pri prehodu na drugega prodajalca. To je predvsem zato, ker ima vsak prodajalec svoje značilnosti in poteke dela, ki se nekoliko razlikujejo od ostalih.

Drug izziv, ki ga predstavlja model brez strežnika, je težava pri reprodukciji okolja brez strežnika za testiranje in spremljanje delovanja kode pred zagonom. To je predvsem zato, ker razvijalci nimajo dostopa do zalednih storitev, ki so v prid ponudniku oblaka.

Spremljanje brezstrežniških aplikacij je zapleteno delo iz istih razlogov, kot je razhroščevanje in preizkušanje težka naloga. K temu je prišlo tudi zaradi nerazpoložljivosti orodij z integracijo v zaledne storitve, kot je AWS Lamba.

Brez strežniškega računalništva se podjetja in razvijalci še naprej uveljavljajo in uveljavljajo iz treh ključnih razlogov. Ena je dostopnost, ki pomeni nižje operativne stroške. Drugič, računalništvo brez strežnika omogoča samodejno in hitro spreminjanje lestvice, nenazadnje pa razvijalcem ni treba skrbeti za osnovno infrastrukturo, s katero skrbi prodajalec.

Medtem se ponudniki oblakov neprekinjeno ukvarjajo z nekaterimi pasti, povezanimi z brezstrežniškim računalništvom, kot so težave pri odpravljanju napak in spremljanju aplikacij.