Serverless Computing 101

Kirjoittaja: Roger Morrison
Luomispäivä: 22 Syyskuu 2021
Päivityspäivä: 21 Kesäkuu 2024
Anonim
Serverless Computing in 100 Seconds
Video: Serverless Computing in 100 Seconds

Sisältö


Lähde: Wavebreakmediamicro / Dreamstime.com

Ottaa mukaan:

Serverless computing on oikeastaan ​​vähän harhaanjohtavaa asiaa - palvelimet ovat todella mukana, he ovat vain pilvessä.

Henkilökohtaisesti ajatus palvelimettomasta tietojenkäsittelystä vaikuttaa uskomattomalta, koska ohjelmistokehityksen historiassa palvelimet ovat olleet välttämättömiä. No, he ovat edelleen. Palvelimettomia tietokoneita ei tarvitse ottaa kirjaimellisesti, koska se ei tee palvelimista vanhentuneita. Asioiden palvelimettomassa laskentajärjestelmässä palvelimilla on edelleen tärkeä rooli, mutta tietyin eroin.

Ohjelmistokehittäjien ei enää tarvitse ajatella palvelimia tai säätää koodausta palvelimien perusteella. He voivat keskittyä kokonaan koodaukseen, kun pilvien ylläpitämät palvelimet huolehtivat koodin käsittelystä. Palvelimien kapasiteettia ei tarvitse suunnitella, koska pilvessä ne pystyvät skaalaamaan ylös ja alas vaatimusten perusteella. Koko palvelin ei ole aktiivinen koko ajan. Vaatimusten perusteella osat siitä aktivoituvat, tekevät työnsä ja ovat sitten lepotilassa.


Monet ovat sitä mieltä, että palvelimeton laskenta voi parantaa laskennan tehokkuutta ja alentaa toimintakustannuksia; he pitävät sitä vallankumouksellisena laskentatapana. Mutta kaikki eivät ole samaa mieltä. Argumentin toisella puolella torjutaan sitä, että palvelimettomat laskennat lisäävät monimutkaisuutta, eikä monimuotoisuuden hallitsemiseksi ole monia tapoja.

Mikä on palvelimeton tietojenkäsittely?

Kuten jo todettiin, palvelimeton laskenta ei tarkoita, että tietojenkäsittely tai ohjelmistokehitys voisi tapahtua ilman palvelimia. Itse asiassa palvelimien isännöi yksinkertaisesti pilvi kolmannen osapuolen toimittaja. Siksi ohjelmistokehittäjien on vain keskityttävä koodiinsa, eikä heidän tarvitse ajatella palvelimia, kapasiteettia, käyttöönottoa tai muuta sellaista. Palvelimissa on sisällä erilaisia ​​osia, joita kutsutaan funktioiksi, jotka käsittelevät koodia. Toisin kuin perinteisessä tietojenkäsittelyssä, koko palvelin ei ole aktiivinen koko ajan. Toiminnot suorittavat tietyt tehtävät - esimerkiksi validointi ja haku - ja aktivoidaan vain tarvittaessa. Toiminnot voidaan skaalata ylös tai alas vaatimusten perusteella. Kuten muutkin pilvipalvelut, kuten ohjelmisto palveluna (SaaS) tai alusta palveluna (PaaS), toiminnot tarjotaan myös tilauksen perusteella. Asiakkaalta veloitetaan vain siitä hetkestä, kun toiminto pysyy aktiivisena.


Historia

Serverless computing on melko uusi käsite ohjelmistokehityksessä, ja sen juuret ovat jäljitettävissä vuoteen 2006. Vuonna 2006 Zimki-niminen palvelu tarjosi ratkaisun, jonka avulla ohjelmistokehittäjät voivat kirjoittaa koodin ja lähettää sen Zimkis-palvelimelle. Koodin suorittaminen suoritettiin toiminnoilla, joita tarjotaan sovellusohjelmointirajapintojen (API) muodossa.

Seuraava merkittävä kehitys tapahtui vuonna 2014, kun Amazon esitteli AWS Lambdan muodossa koodinkäyttöjärjestelmän pay-as-you-go-järjestelmän. On kuitenkin mielenkiintoista huomata, että tällaisen uuden konseptin löytäminen pitoa varten (2006 - 2014) kesti niin kauan. Jostain syystä palvelimettomien tietojenkäsittelyn kehitys ei ollut aivan yhtä suuri kuin muut ideat, kuten pilvilaskenta tai esineiden internet (IoT). Siitä huolimatta AWS Lambda oli ensimmäinen suurten yritysten palvelimettomat tarjoukset, ja seurasi joukko muita tarjouksia, mukaan lukien Googles-tarjous, joka tunnetaan nimellä Google Cloud Functions. Vuonna 2016 sekä IBM että Microsoft hyppäsivät palvelimettomalle tietojenkäsittelypalvelulle julkistamalla vastaavasti OpenWhisk- ja Azure-toiminnot.

Sukellus syvemmälle

Hyvä kohta alkaa ymmärtää palvelimettomia laskentatoimia syvemmälle on vertailu palvelimeton laskenta ja PaaS. Vaikka PaaS ovatkin käsitteinä erilaisia, se oli itse asiassa ensimmäinen askel kohti palvelimettomia tarjouksia. PaaS tarjoaa alustan ja ympäristön, jonka avulla kehittäjät voivat rakentaa ohjelmistosovelluksia Internetin välityksellä, mutta silti on tarpeen suunnitella pilvessä olevien ohjelmistojen kapasiteetti. Palvelimiin ei kuitenkaan tarvitse ajatella millään tavalla, kun työskentelet palvelimettoman tietojenkäsittelyn kanssa. Ohjelmistokehittäjät vain koodittavat ja lähettävät koodin pilveen, jolloin palvelimet ottavat haltuunsa.

Serverless computingia kutsutaan myös toimintoksi palveluna (FaaS), koska pieniä toimintoja tarjotaan pay-as-you-go-liiketoimintamallissa. Tällaiset toiminnot suorittavat pieniä tehtäviä - esimerkiksi tarkistavat käyttäjän käyttäjätiedot. Toiminnot tarjotaan sovellusliittymien muodossa. Ohjelmistosovellukselle voidaan tarvita useita toimintoja, mutta kaikki toiminnot eivät aktivoidu samanaikaisesti; ne ovat aktiivisia vain aina, kun niitä vaaditaan. Esimerkiksi, jos yksi toiminto on vastaanottanut suurta liikennemäärää ja se on ylityöllistetty, sitä voidaan skaalata ja sen kapasiteettia lisätä. Joten, sinun ei tarvitse skaalata koko sovellusta.

Ei vikoja, ei stressiä - vaiheittaiset ohjeet elämää muuttavien ohjelmistojen luomiseen tuhoamatta elämääsi

Et voi parantaa ohjelmointitaitojasi, kun kukaan ei välitä ohjelmiston laadusta.

Miksi palvelimeton tietojenkäsittely on tärkeää?

Palvelimettoman tietojenkäsittelyn tärkeys on sen erot perinteiseen laskentaan. Perinteinen tietojenkäsittely on palvellut yrityksiä hyvin, mutta asettaa muutamia haasteita: kustannukset, aikaa vievät, ei kohdistettua koodausta ja vaikeudet skaalaamisessa ylös tai alas. Yritykset ovat etsineet ratkaisua näihin ongelmiin. Palvelimettoman tietojenkäsittelyn ainutlaatuisia etuja ovat:

  • Keskity koodaukseen
    Perinteisessä laskennassa kehittäjien piti miettiä palvelimia ja säätää koodausta vastaavasti. Palvelimettomassa laskennassa heidän on keskityttävä vain koodaukseen, ja loput hoidetaan pilvessä isännöityjen palvelimien toimesta. Tämä keskittyminen lisää koodin laatua.
  • Koodaus on mahdollisesti helpompaa
    Jos koodisi ovat palvelimettomia tietojenkäsittely-suuntautuneita, sinun tarvitsee vain kirjoittaa pienempiä koodin osia, jotka prosessoidaan tiettyjen, vastaavien toimintojen avulla, ja varmistaa, että koodi integroituu hyvin muihin koodiosiin.
  • Helppo skaalata ylös tai alas
    Koska koko palvelimeton laskentainfrastruktuuri on noin pienistä toiminnoista, koko infrastruktuuria ei tarvitse skaalata ylös tai alas - vain skaalata tarvittava toiminto. Tällä tavalla käsittely ja skaalaus tapahtuu myös paljon nopeammin.
  • Edullisempi
    Tyypillisesti palvelimettomia laskentapalveluita hyödyntävä yritys maksaa tilauksen ja sen jälkeen toiminnon käytön. Se maksaa kuitenkin vain ajan, jonka toiminto on aktiivinen ja otetaan käyttöön. Toisin sanoen yritykset maksavat vain kulutuksensa.

Esimerkki palvelimettomasta tietojenkäsittelystä

AWS Lambda on yksi näkyvimmistä esimerkeistä palvelimettomista tarjouksista. Sen avulla yritykset voivat vain kirjoittaa ja lähettää koodin Lambdaan. Tarvittaessa Lambda voi skaalata sovelluksen automaattisesti suorittamalla koodit vasteena liipaisimelle. Kun toiminnon tai API: n työmäärä kasvaa, funktio skaalataan. Asiakkaalle laskutetaan sekunnin mittauksen perusteella, mikä tarkoittaa, että asiakas laskutetaan jokaisesta 100 ms: sta, jonka koodi suorittaa, ja kuinka monta kertaa koodi laukaistaan. Tällä tavalla ei tarvitse maksaa, kun koodia ei suoriteta.

johtopäätös

Kaikesta ainutlaatuisuudestaan ​​palvelimettomat tarjoukset eivät ole ilman rajoituksia. Useat pienet toiminnot voivat tehdä erittäin monimutkaisesta järjestelmästä, etenkin jos ohjelmistosovellus on valtava. Tilannetta vaikeuttaa myös työkalujen rajoitettu saatavuus tällaisten monimutkaisuuksien hallitsemiseksi. Silti palvelimettomia tietojenkäsittelytoimia pidetään ratkaisuna monoliittisiin järjestelmiin, joiden yritysten on kohdattava. Se on edelleen kehittyvässä tilassa, ja organisaatiot etsivät edelleen tapoja saada se toimimaan heidän puolestaan, koska se saa enemmän hyväksyntää yrityksissä.