Računalništvo brez strežnika 101

Avtor: Roger Morrison
Datum Ustvarjanja: 22 September 2021
Datum Posodobitve: 1 Julij. 2024
Anonim
CS50 Live, Episode 004
Video.: CS50 Live, Episode 004

Vsebina


Vir: Wavebreakmediamicro / Dreamstime.com

Odvzem:

Računalništvo brez strežnikov je pravzaprav nekaj napačnega - strežniki so resnično vpleteni, le v oblaku.

Nepozornim se zdi sama zamisel o brezžičnem računalništvu neverodostojna, saj so bili v zgodovini razvoja programske opreme strežniki nepogrešljivi. No, še vedno so. Računalništva brez strežnika ni treba jemati dobesedno, ker strežniki ne postanejo zastareli. V brezčutni računalniški shemi stvari strežniki še naprej igrajo pomembno vlogo, vendar z določenimi razlikami.

Razvijalcem programske opreme ni več treba razmišljati o strežnikih ali prilagajati kodiranja na podlagi strežnikov. V celoti se lahko osredotočijo na kodiranje, medtem ko strežniki, gostovani v oblaku, skrbijo za obdelavo kode. Ni treba načrtovati zmogljivosti strežnikov, ker so v oblaku sposobni povečati število navzgor in navzdol glede na zahteve. Celoten strežnik ne ostane ves čas aktiven. Na podlagi zahtev se njegovi deli aktivirajo, opravijo svoje delo in nato zaspijo.


Mnogi menijo, da lahko računalništvo brez strežnika izboljša računalniško učinkovitost in zniža operativne stroške; na to gledajo kot na revolucionarni način računanja. Vendar se vsi ne strinjajo. Na drugi strani argumenta je mogoče preprečiti, da bi računalništvo brez strežnika povečalo zapletenost in ni veliko načinov upravljanja zapletenosti.

Kaj je računalništvo brez strežnika?

Kot že rečeno, računalništvo brez strežnika ne pomeni, da lahko računalništvo ali razvoj programske opreme poteka brez strežnikov. Dejansko strežnike preprosto gostuje v oblaku zunanji prodajalec. Zato se morajo razvijalci programske opreme osredotočiti na svojo kodo in ne smejo razmišljati o strežnikih, zmogljivosti, uvajanju ali kaj podobnega. Strežniki imajo v sebi različne dele, znane kot funkcije, ki obdelujejo kodo. Za razliko od klasičnega računalništva ves strežnik ne ostane ves čas aktiven. Funkcije opravljajo določene naloge - na primer validacijo in iskanje - in se aktivirajo samo, kadar je to potrebno. Funkcije se lahko spreminjajo navzgor ali navzdol glede na zahteve. Tako kot druge storitve v oblaku, kot so programska oprema kot storitev (SaaS) ali platforma kot storitev (PaaS), so tudi funkcije na voljo na podlagi naročnine. Stranki se zaračuna samo toliko časa, ko ostane funkcija aktivna.


Zgodovina

Računalništvo brez strežnikov je dokaj nov koncept v razvoju programske opreme in njegove korenine je mogoče zaslediti do leta 2006. Leta 2006 je storitev, imenovana Zimki, ponudila rešitev, ki je razvijalcem programske opreme omogočila, da napišejo kodo in jo naložijo na strežnik Zimkis. Izvajanje kode je potekalo s funkcijami, ponujenimi v obliki aplikacijskih programskih vmesnikov (API-jev).

Naslednji pomemben razvoj se je zgodil leta 2014, ko je Amazon uvedel sistem plačljive plačilne platforme za izvajanje kode v obliki AWS Lambda. Zanimivo pa je, da je trajalo tako dolgo, da je takšen nov koncept našel vleko (2006 do 2014). Iz neznanega razloga razvoj računalništva brez strežnika ni tako močno poprskal kot druge ideje, kot so računalništvo v oblaku ali internet stvari (IoT). AWS Lambda je bila prva ponudba brez strežnika velikega podjetja in sledila je vrsta drugih ponudb, vključno s ponudbo Googles, znanimi kot Google Cloud Functions. Leta 2016 sta tako IBM kot Microsoft skočila na brezstopenjski računalniški pas z razkritjem OpenWhisk oziroma Azure Functions.

Potapljanje globlje

Dobra točka, da začnete razumeti računalništvo brez strežnika na globlji ravni, je primerjava med računalništvom brez strežnika in PaaS. Čeprav so koncepti različni, je bil PaaS prvi korak k ponudbi brez strežnika. Medtem ko PaaS ponuja platformo in okolje, ki razvijalcem omogoča gradnjo programskih aplikacij prek interneta, še vedno obstaja potreba po načrtovanju zmogljivosti, potrebne za programsko opremo v oblaku. Vendar pa o tem, ko delate z računalništvom brez strežnika, na kakršen koli način ni treba razmišljati o strežnikih. Razvijalci programske opreme preprosto kodirajo in naložijo kodo v oblak, nato pa strežniki prevzamejo.

Računalništvo brez strežnika imenujemo tudi funkcije kot storitev (FaaS), ker so majhne funkcije na voljo pri modelu podjetij s plačilom. Takšne funkcije opravljajo majhne naloge - na primer preverjanje uporabniških poverilnic. Funkcije so na voljo v obliki API-jev. Za programsko aplikacijo je morda potrebno več funkcij, vendar ne postanejo vse funkcije hkrati aktivne; aktivni so le, kadar se od njih zahteva. Na primer, če je ena funkcija prejela velik obseg prometa in je prezaposlena, jo je mogoče zmanjšati in njeno zmogljivost povečati. Torej vam ni treba spreminjati celotne aplikacije.

Brez napak, brez stresa - vaš korak za korakom vodnik za ustvarjanje programske opreme, ki spreminja življenje, ne da bi vam uničila življenje

Ne morete izboljšati svojih programskih veščin, kadar nikogar ne skrbi za kakovost programske opreme.

Zakaj je računalništvo brez strežnika pomembno?

Pomen računalništva brez strežnika je v njegovi razliki s tradicionalnim računanjem. Tradicionalno računalništvo podjetjem dobro služi, vendar predstavlja nekaj izzivov: stroški, zamudno, brez osredotočenega kodiranja in težave pri povečanju ali zmanjšanju. Podjetja so iskala rešitev za te težave. Med edinstvene prednosti računalništva brez strežnika so:

  • Osredotočite se na kodiranje
    Pri tradicionalnem računalništvu so morali razvijalci razmišljati o strežnikih in temu primerno prilagoditi kodiranje. Pri brezžičnem računalništvu se morajo osredotočiti le na kodiranje, za ostalo pa skrbijo strežniki, gostovani v oblaku. Ta povečana ostrina vodi do boljše kakovosti kode.
  • Kodiranje je potencialno lažje
    Če so vaše kode brez računalniškega usmerjanja, potem vse, kar boste storili, je, da napišete manjše dele kode, ki jih obdelujejo posebne, ustrezne funkcije in poskrbite, da se koda dobro integrira z drugimi deli kode.
  • Preprostejše spreminjanje lestvice navzgor ali navzdol
    Ker je celotna računalniška infrastruktura brez strežnika približno majhnih funkcij, ni potrebe po spreminjanju navzgor ali navzdol celotne infrastrukture - samo prilagodite želeno funkcijo. Tako se obdelava in skaliranje zgodi tudi veliko hitreje.
  • Cenejši
    Običajno podjetje, ki uporablja računalniške storitve brez strežnika, plača naročnino in nato uporabo funkcije. Vendar plača samo čas, ko je funkcija aktivna in se uporablja. Z drugimi besedami, podjetja plačajo samo tisto, kar porabijo.

Primer računalništva brez strežnika

AWS Lambda je eden najvidnejših primerov ponudbe brez strežnika. Podjetjem omogoča, da samo napišejo in naložijo kodo v Lambda. Po potrebi lahko Lambda aplikacijo samodejno prilagodi z zagonom kod kot odgovor na sprožilec. Ko se delovna obremenitev funkcije ali API-ja poveča, se funkcija poveča. Odjemalcu se zaračunava na podlagi merjenja pod sekundami, kar pomeni, da se stranki zaračuna za vsakih 100 ms, ki se izvrši s kodo, in kolikokrat se sproži koda. Tako ni treba plačevati, kadar ni kode.

Zaključek

Zaradi vse svoje edinstvenosti ponudbe brez strežnika niso brez omejitev. Več izredno majhnih funkcij lahko naredi izredno zapleten sistem, še več, če je programska aplikacija ogromna. Položaj zapleta tudi omejena razpoložljivost orodij za upravljanje takšnih zapletov. Kljub temu pa bo računalništvo brez strežnika obravnavano kot rešitev za monolitne sisteme, s katerimi se podjetja spopadajo. Še vedno je v novem stanju in organizacije še vedno iščejo načine, kako jim uspeti, saj pridobivajo večjo sprejemljivost med podjetji.