Järjestelmäsuunnittelun perusteet backend-kehittäjille · Oppitunti

Palvelimettomat arkkitehtuurit

Suunnittele ja toteuta sovelluksia palvelimettomilla funktioilla ja AWS Lambdan tai Google Cloud Functions -palvelun kaltaisilla alustoilla.

Oppitunti 1/411 vaihetta

Palvelimettomat arkkitehtuurit on ilmainen Järjestelmäsuunnittelun perusteet backend-kehittäjille-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Järjestelmäsuunnittelun perusteet backend-kehittäjille-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Järjestelmäsuunnittelun perusteet backend-kehittäjille-kurssilla on yhteensä 4 oppituntia.

Mitä palvelimeton arkkitehtuuri on?

Tervetuloa palvelimettomien arkkitehtuurien pariin! Tässä oppitunnissa esitellään tehokas cloud-native-suunnittelumalli.

Palvelimeton ei tarkoita, ettei palvelimia olisi. Se tarkoittaa, että sinun ei kehittäjänä tarvitse hallita niitä. Pilvipalveluntarjoaja huolehtii kaikesta taustalla olevasta infrastruktuurista.

Keskity koodiin, älä palvelimiin

Palvelimettomassa arkkitehtuurissa pääpaino siirtyy palvelinten käyttöönotosta ja ylläpidosta pelkän sovelluskoodin kirjoittamiseen.

Pilvipalveluntarjoaja ottaa automaattisesti käyttöön, skaalaa ja hallitsee palvelimet, joita koodisi suorittamiseen tarvitaan. Maksat vain suorituksen aikana kulutetuista resursseista.

Peruskonsepti: FaaS

Palvelimettoman laskennan yleisin muoto on Functions as a Service (FaaS).

  • Kirjoitat pieniä, yhteen tarkoitukseen keskittyviä funktioita.
  • Nämä funktiot otetaan käyttöön FaaS-alustalla.
  • Ne suoritetaan vain, kun jokin tapahtuma käynnistää ne.

Palvelimettoman arkkitehtuurin tärkeimmät hyödyt

Palvelimettomat arkkitehtuurit tarjoavat useita merkittäviä etuja:

  • Pienempi ylläpitotaakka: Palvelimia ei tarvitse paikata tai päivittää.
  • Automaattinen skaalautuvuus: Käsittelee liikenteen äkilliset kasvut vaivattomasti.
  • Kustannustehokkuus: Maksat vain todellisesta laskenta-ajasta, joka mitataan usein millisekunteina.
  • Nopeampi kehitys: Keskityt liiketoimintalogiikkaan infrastruktuurin sijaan.

Suosittuja palvelimettomia alustoja

Monet pilvipalveluntarjoajat tarjoavat tehokkaita palvelimettomia alustoja:

  • AWS Lambda: Amazonin FaaS-palvelu, jota käytetään laajasti.
  • Google Cloud Functions: Googlen palvelimeton laskentapalvelu.
  • Azure Functions: Microsoftin tapahtumapohjainen palvelimeton alusta.

Kaikki tarjoavat samankaltaiset perustoiminnot, joiden avulla voit suorittaa koodia ilman palvelinten hallintaa.

Miten funktiot käynnistetään

Palvelimettomat funktiot ovat tapahtumapohjaisia. Tämä tarkoittaa, että ne kutsutaan tiettyjen tapahtumien seurauksena.

Yleisiä käynnistimiä ovat:

  • HTTP-pyynnöt (esimerkiksi web-API-kutsu)
  • Tietokannan muutokset (esimerkiksi uuden tietueen lisääminen)
  • Tiedostojen lataukset (esimerkiksi S3-säilöön)
  • Ajastetut tapahtumat (esimerkiksi cron-työ)

Yksinkertainen Python-funktion esimerkki

Tässä on perusesimerkki Python-funktiosta, jonka voisit ottaa käyttöön AWS Lambdassa. Se on suunniteltu vastaamaan tapahtumaan.

import json

def lambda_handler(event, context):
    # This function is triggered by an event.
    # 'event' contains data about the trigger.
    # 'context' provides runtime info.
    
    # In a real scenario, you'd process 'event' data
    # and perform some action.
    
    print("Function executed successfully!")
    
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from your Serverless Function!')
    }

# This part simulates calling the handler locally
# and would not be part of the deployed Lambda code.
if __name__ == '__main__':
    # Example 'event' for testing
    test_event = {
        'httpMethod': 'GET',
        'path': '/hello'
    }
    
    # Call the handler
    response = lambda_handler(test_event, None)
    print(response)

Palvelimettoman arkkitehtuurin yleisiä käyttötapauksia

Palvelimettomat arkkitehtuurit sopivat erinomaisesti moniin tilanteisiin:

  • Web-API:t ja backendit: RESTful-API:en nopea rakentaminen.
  • Tietojenkäsittely: Uusiin datalatauksiin tai tietokantatapahtumiin vastaaminen.
  • Chatbotit ja IoT: Reaaliaikaisten vuorovaikutustilanteiden käsittely.
  • Ajastetut tehtävät: Cron-töiden suorittaminen ilman palvelinten hallintaa.

Palvelimettoman arkkitehtuurin huomioitavat seikat

Tehokkuudestaan huolimatta palvelimettomaan arkkitehtuuriin liittyy haasteita:

  • Kylmäkäynnistykset: Alkuviive, kun funktiota ei ole käytetty äskettäin.
  • Toimittajalukko: Arkkitehtuurit voivat sitoutua tiettyyn pilvipalveluntarjoajaan.
  • Virheenkorjauksen monimutkaisuus: Hajautettu rakenne voi vaikeuttaa virheenkorjausta.
  • Resurssirajoitukset: Funktioilla on rajoituksia muistin, suorittimen ja suoritusajan suhteen.

Testaa palvelimettoman arkkitehtuurin tietosi

Tarkistetaan, miten hyvin ymmärrät palvelimettomat arkkitehtuurit.

Palvelimettoman arkkitehtuurin kertaus

Hienoa työtä! Olet oppinut palvelimettomista arkkitehtuureista.

  • Se piilottaa palvelinten hallinnan yksityiskohdat.
  • FaaS (Functions as a Service) on sen keskeinen osa.
  • Se tarjoaa etuja, kuten automaattisen skaalautuvuuden, kustannustehokkuuden ja pienemmän ylläpitotaakan.
  • Yleisiä alustoja ovat AWS Lambda ja Google Cloud Functions.
  • Funktiot ovat tapahtumapohjaisia, ja erilaiset tapahtumat käynnistävät ne.
  • Huomioitavia seikkoja ovat kylmäkäynnistykset ja toimittajalukko.

Seuraavaksi käsittelemme seuraavaa cloud-native-suunnittelumallia!

Aloita maksutta

Opi Järjestelmäsuunnittelun perusteet backend-kehittäjille tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Palvelimettomat arkkitehtuurit” ilmainen?

Kyllä – oppitunnin ”Palvelimettomat arkkitehtuurit” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Järjestelmäsuunnittelun perusteet backend-kehittäjille-kurssin, päivitä CoddyKit PROhon. Järjestelmäsuunnittelun perusteet backend-kehittäjille-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Palvelimettomat arkkitehtuurit”?

Suunnittele ja toteuta sovelluksia palvelimettomilla funktioilla ja AWS Lambdan tai Google Cloud Functions -palvelun kaltaisilla alustoilla. Harjoittelet Järjestelmäsuunnittelun perusteet backend-kehittäjille-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Järjestelmäsuunnittelun perusteet backend-kehittäjille-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Järjestelmäsuunnittelun perusteet backend-kehittäjille-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Palvelimettomat arkkitehtuurit”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Järjestelmäsuunnittelun perusteet backend-kehittäjille-oppitunnilla?

Kyllä. Jokainen Järjestelmäsuunnittelun perusteet backend-kehittäjille-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Palvelimettomat arkkitehtuurit
  2. Kontitus Dockerilla ja K8s:llä
  3. Observability ja hajautettu jäljitys
  4. Infrastructure as Code
← Takaisin: Järjestelmäsuunnittelun perusteet backend-kehittäjille