LFCA: Opi palvelimetonta tietojenkäsittelyä, hyödyt ja sudenkuopat – Osa 15


Palvelimeton-tekniikka on herättänyt paljon hypeä teknologiayhteisössä, mikä on herättänyt paljon uteliaisuutta ja saanut jonkin verran vastareaktiota. Se on tekniikka, joka sai alkunsa AWS Lamban julkaisusta vuonna 2014, jota seurasi pian Azure Functions myöhemmin vuonna 2016.

Google seurasi myöhemmin esimerkkiä ja julkaisi Google Cloud -toiminnot heinäkuussa 2018. Mitä on palvelinton tekniikka? Parhaan vastauksen saamiseksi tähän kysymykseen palataanpa perinteiseen palvelinpohjaiseen tietojenkäsittelyyn.

Perinteisessä IT-mallissa vastasit periaatteessa kaikesta. Yrityksen omistajana sinun on varattava budjetissa palvelimia ja muita verkkolaitteita, kuten reitittimiä ja kytkimiä, sekä telineitä palvelimien suruun.

Sinun on myös huolehdittava koskemattoman ja turvallisen datakeskuksen hankkimisesta ja varmistettava, että se pystyy tarjoamaan riittävästi jäähdytystä ja redundanttia virtaa ja Internet-palvelua. Kun olet määrittänyt, sinun on asennettava käyttöjärjestelmä ja otettava myöhemmin käyttöön sovelluksesi. Lisäksi sinun tulee perustaa valvontajärjestelmät ja ottaa käyttöön suojausominaisuuksia, kuten palomuurit ja tunkeutumisen esto- ja tunnistusjärjestelmät.

Kuten saatat arvata, tämä on resurssivaltaista, kallista ja kuluttavaa.

Sitten pilvilaskenta murtautui teknologiamaailmaan mullistaen täysin palvelimien ja sovellusten käyttöönoton ja hallinnan. Se ennusti uutta aikakautta, jossa kehittäjät valmistivat pilvipalvelimet ja tietokannat nopeasti ja alkoivat työstää sovelluksiaan. Ei huolta perinteiseen IT-laskentaan liittyvistä ongelmista, kuten seisokeista, kalliista laitteista ja datakeskusten vuokraamisesta.

Vaikka pilvilaskenta toi mukanaan mukavuutta ja mittakaavaetuja IT-resurssien käyttöönotossa, jotkin yritykset yliostivat yksikköjä palvelintilaa ja resursseja, kuten RAM-muistia ja CPU:ta, ennakoiden verkkoliikenteen tai toiminnan piikkiä, joka saattaa ylittää sovelluksia.

Vaikka se on varovainen toimenpide, ei-toivottu tulos on palvelinresurssien vajaakäyttö, joka usein menee hukkaan. Jopa autoskaalauksella, odottamaton ja äkillinen piikki voi silti osoittautua kalliiksi. Lisäksi sinun on edelleen suoritettava muita tehtäviä, kuten kuormituksen tasaajien määrittäminen, mikä myös todennäköisesti lisää käyttökustannuksia.

On ilmeistä, että pilveen siirtymisestä huolimatta jotkin pullonkaulat ovat edelleen olemassa ja voivat nostaa kustannuksia ja aiheuttaa resurssien tuhlausta. Ja tässä Palvelimeton tietojenkäsittely tulee käyttöön.

Mikä on palvelinton tietojenkäsittely

Palvelimeton tietojenkäsittely on pilvimalli, joka tarjoaa taustapalveluita käyttäjille jakoperiaatteella. Yksinkertaisesti sanottuna pilvipalveluntarjoaja allokoi laskentaresursseja ja veloittaa vain ajasta, jolloin sovellukset ovat käynnissä. Tämä vastaa siirtymistä kaapelimaksun kuukausitilauksesta maksamiseen vain TV-ohjelmien katselusta.

Termi Palvelimeton saattaa olla hieman harhaanjohtava. Onko mukana palvelimia? Toki tässä tapauksessa palvelimia ja taustalla olevaa infrastruktuuria hoitaa ja ylläpitää puhtaasti pilvipalveluntarjoaja. Sellaisenaan sinun ei tarvitse huolehtia niistä. Kehittäjänä keskityt pelkästään sovelluksiesi kehittämiseen ja varmistat, että ne toimivat sinua tyydyttävällä tavalla.

Palvelimeton tietojenkäsittely poistaa palvelimien hallinnasta aiheutuvat päänsäryt ja säästää arvokasta aikaa sovellusten parissa työskentelemiseen.

Serverless Computingin tarjoamat taustapalvelut

Täydellinen esimerkki palvelimettomasta taustapalvelusta on Function-as-a-Service (FaaS) -alusta. FaaS on pilvilaskentamalli, jonka avulla kehittäjät voivat kehittää, suorittaa ja hallita koodia vastauksena tapahtumiin ilman, että taustalla olevan infrastruktuurin rakentaminen ja hallinta on monimutkaista, mikä yleensä liittyy mikropalvelujen käyttöön.

Faas on palvelimettoman tietojenkäsittelyn alaluokka, jossa on pieniä eroja. Palvelimeton tietojenkäsittely kattaa laajan valikoiman palveluita, mukaan lukien laskenta, tietokanta, tallennus ja API muutamia mainitakseni. FaaS keskittyy yksinomaan tapahtumapohjaiseen laskentamalliin, jossa sovelluksia suoritetaan pyynnöstä eli vastauksena pyyntöön.

Esimerkkejä FaaS-laskentamalleista ovat:

  • AWS:n AWS lambda
  • Microsoftin Azure-toiminnot
  • Googlen pilvitoiminnot
  • Cloudflare Workers by Cloudflare

Yhteenvetona voimme todeta, että FaaS-sovelluksella maksat vain ajasta, jolloin sovelluksesi on käynnissä, ja pilvipalveluntarjoaja tekee melkein kaiken puolestasi, mukaan lukien taustalla olevan infrastruktuurin käsittelyn. Palvelinten hallinta on pienin huolenaihe.

Palvelittoman tietojenkäsittelyn edut

Tähän mennessä sinulla on hyvä käsitys joistakin palvelimettoman tietojenkäsittelyn tuomista eduista. Tutustutaanpa syvemmälle teknologian hyödyntämisen etuihin.

1. Ei palvelinhallintaa

Tämä on ehkä yksi palvelimettoman laskentamallin käyttöönoton suurimmista eduista. Vaikka termi "palvelinton" voidaan tulkita väärin niin, että siihen ei liity palvelimia, tosiasia on, että sovellukset toimivat edelleen palvelimilla. Asian ydin on, että palvelinhallinta on kokonaan pilvitoimittajan liiketoimintaa, ja tämä antaa sinulle enemmän aikaa sovellusten parissa työskentelemiseen.

2. Helppo ja tehokas skaalaus

Palvelimeton infrastruktuuri mahdollistaa sovellusten automaattisen skaalauksen käytön, kysynnän tai käyttäjäkunnan kasvun seurauksena. Jos sovellus on käynnissä useissa tapauksissa, palvelimet käynnistyvät ja pysähtyvät tarvittaessa. Perinteisessä pilvipalveluissa liikenteen tai toiminnan piikki voi helposti ylikuormittaa palvelinresursseja, mikä johtaa epäjohdonmukaisuuksiin suoritettavan sovelluksen kanssa.

3. Sisäänrakennettu saatavuus

Kehittäjänä sinun ei tarvitse rakentaa mitään erityistä infrastruktuuria, jotta sovelluksesi olisivat erittäin saatavilla. Palvelimeton tietojenkäsittely tarjoaa sinulle sisäänrakennetun korkean käytettävyyden varmistaaksesi, että sovelluksesi ovat käynnissä tarvittaessa.

4. Pienemmät käyttökustannukset

Palvelimeton laskenta varaa resursseja käyttömaksuperiaatteella. Sovelluksesi vaatii vain taustatoimintoja, kun koodi suoritetaan, ja se skaalautuu automaattisesti työmäärän mukaan.

Tämä tarjoaa mittakaavaetuja, koska sinua laskutetaan vain ajasta, jolloin sovellukset ovat käynnissä. Perinteisessä palvelinmallissa joudut maksamaan palvelintilasta, tietokannoista ja muista resursseista riippumatta siitä, onko sovellus käynnissä vai käyttämättömänä.

5. Sovellusten nopeampi käyttöönotto

Palvelimeton arkkitehtuuri eliminoi taustakonfiguroinnin ja koodin manuaalisen lataamisen palvelimille perinteisen asennuksen tapaan. Kehittäjien on helppo ladata pieniä koodipinoja tehokkaasti ja julkaista upea tuote.

Käyttöönoton helppous mahdollistaa myös sen, että kehittäjät voivat helposti korjata ja päivittää tiettyjä koodin ominaisuuksia muuttamatta koko sovellusta.

Palvelittoman tietojenkäsittelyn sudenkuopat

Liittyykö palvelimettomaan malliin haittoja? Otetaan selvää.

1. Turvallisuus

Huonosti konfiguroidut sovellukset ovat yksi suurimmista palvelimettomaan tietokoneeseen liittyvistä riskeistä. Jos valitset esimerkiksi AWS:n, on järkevää määrittää sovelluksellesi erilaisia käyttöoikeuksia, jotka puolestaan määräävät, kuinka ne ovat vuorovaikutuksessa muiden AWS:n palvelujen kanssa. Jos käyttöoikeudet ovat epämääräisiä, toiminnolla tai palvelulla voi olla enemmän käyttöoikeuksia kuin vaaditaan, mikä jättää runsaasti tilaa tietoturvaloukkauksille.

2. Toimittajan lukitus

Palvelittoman mallin valitseminen voi aiheuttaa haasteita siirryttäessä toiseen toimittajaan. Tämä johtuu pääasiassa siitä, että jokaisella toimittajalla on omat ominaisuudet ja työnkulkunsa, jotka poikkeavat hieman muista.

3. Sovellusten testaus- ja virheenkorjausvaikeudet

Toinen palvelimettoman mallin asettama haaste on vaikeus tuottaa palvelimetonta ympäristöä koodin suorituskyvyn testaamiseksi ja valvomiseksi ennen sen käyttöönottoa. Tämä johtuu ensisijaisesti siitä, että kehittäjillä ei ole pääsyä taustapalveluihin, jotka kuuluvat pilvipalveluntarjoajalle.

4. Vaikeudet palvelimettomien sovellusten seurannassa

Palvelimettomien sovellusten valvonta on monimutkainen tehtävä samoista syistä kuin virheenkorjaus ja testaus. Tätä on lisännyt se, että taustapalveluihin, kuten AWS Lamba, integroituja työkaluja ei ole saatavilla.

Johtopäätös

Palvelimeton tietojenkäsittely kasvaa edelleen yritysten ja kehittäjien keskuudessa kolmesta keskeisestä syystä. Yksi niistä on kohtuuhintaisuus, mikä tarkoittaa alhaisempia käyttökustannuksia. Toiseksi palvelimeton tietojenkäsittely helpottaa automaattista ja nopeaa skaalausta, ja lopuksi kehittäjien ei tarvitse huolehtia toimittajan hoitamasta taustalla olevasta infrastruktuurista.

Samaan aikaan pilvipalveluntarjoajat työskentelevät ympäri vuorokauden korjatakseen joitain palvelimettomaan tietokoneeseen liittyviä sudenkuoppia, kuten ongelmia virheenkorjauksessa ja sovellusten valvonnassa.