Hvad er cloud native?

Af Weapp · Opdateret

Cloud native betyder applikationer der er designet til skyens vilkår fra bunden: elastiske, containeriserede og automatisk idriftsat, i modsætning til gamle systemer der blot er flyttet derop. Byggestenene er containere, managed services og automatiserede flows. Det sænker driftsomkostningerne over tid, men kræver mere designarbejde i starten.

Cloud native er et begreb man ofte hører, men som sjældent bliver forklaret tydeligt. Det handler ikke kun om at et system tilfældigvis kører i skyen, men om hvordan det er bygget. Forskellen er afgørende for både omkostninger og fleksibilitet. Her er hvad cloud native betyder, og hvorfor det er vigtigt for dig som kunde.

Definitionen

Cloud native beskriver applikationer der er designet til skyens vilkår fra bunden. De er ikke bygget til en enkelt server og siden flyttet et andet sted hen, men skabt til at leve i et miljø der er elastisk, hvor kapaciteten kan vokse og skrumpe automatisk efter behov, og hvor delene kan idriftsættes og udskiftes hver for sig.

Kernen er at systemet udnytter det skyen faktisk tilbyder, i stedet for blot at bruge den som en lejet udgave af en gammeldags server. Et cloud native-system skalerer af sig selv når presset stiger, kommer automatisk på benene igen hvis en del fejler, og kan opdateres ofte og sikkert. Det er bygget til at forandre sig, ikke til at stå stille.

Forskellen på cloud native og lift-and-shift

Den enkleste måde at forstå cloud native på er at stille det op over for sin modsætning. Lift-and-shift betyder at man tager et eksisterende system præcis som det er og flytter det direkte op i skyen uden at ændre på hvordan det er bygget: Man løfter det op og sætter det ned på lejet hardware.

Det går hurtigt, men systemet opfører sig som før: Det skalerer ikke automatisk, udnytter ikke skyens færdige tjenester og kræver omtrent det samme vedligehold som tidligere. Man har skiftet adresse, men ikke måde at bo på. Cloud native er den modsatte tilgang: at bygge, eller bygge om, applikationen så den er lavet til skyen fra starten og derfor kan udnytte den fuldt ud.

Byggestenene

Tre byggesten går igen i så godt som alle cloud native-løsninger.

  • Containere pakker en applikation sammen med alt den skal bruge for at køre, i et standardiseret format. Resultatet er at den virker ens uanset hvor den køres, hvilket gør den nem at flytte og at starte i mange kopier.
  • Managed services er færdige cloudkomponenter (databaser, beskedkøer, lagring) som cloududbyderen står for driften og vedligeholdelsen af. I stedet for at bygge og passe dem selv bruger man dem som byggeklodser.
  • CI/CD er automatiserede flows der tester og idriftsætter ny kode uden manuelt arbejde. De gør at opdateringer kan ske ofte, hurtigt og med lav risiko.

Sammen gør de tre systemet elastisk, modstandsdygtigt og hurtigt at ændre.

Et konkret scenarie

Forestil dig en tjeneste med stærkt varierende belastning: roligt om natten, travlt på bestemte tidspunkter af døgnet. Et cloud native-system håndterer det af sig selv: Når presset stiger, startes der automatisk flere containere som deler arbejdet, og når det falder til ro igen, skaleres de ned. Man betaler kun for høj kapacitet i de timer hvor der er brug for den.

Databasen er en managed service, så ingen i teamet bruger tid på at tage backup af den eller opdatere den: Det er inkluderet. Og når en forbedring skal ud, bliver den testet og idriftsat automatisk gennem et CI/CD-flow, samme dag. Et lift-and-shift-system ville i stedet have krævet en fast, overdimensioneret server døgnet rundt og manuelt arbejde ved hver release. Samme tjeneste, men helt forskellig økonomi og tempo.

Omkostningen: mere design nu, lavere drift senere

Her ligger den afvejning en kunde bør forstå. Cloud native er ikke gratis at nå frem til: Det kræver mere designarbejde i starten fordi applikationen skal bygges rigtigt til skyen fra begyndelsen i stedet for blot at blive flyttet derop. Den første investering er altså højere.

Gevinsten kommer i drift og vedligeholdelse. Driftsomkostningerne falder over tid fordi man betaler for det faktiske forbrug i stedet for overdimensioneret hardware, slipper for at passe egen infrastruktur og får et system der skalerer og vedligeholdes automatisk. For et system der skal vokse eller har ujævn belastning, tjener designarbejdet sig ind igen. For et lille, stabilt system kan en enklere tilgang være klogere: Som altid afhænger det af hvordan løsningen skal bruges. Vi hos Weapp hjælper med at foretage den afvejning som en del af vores cloudarkitektur. Vil I drøfte et konkret tilfælde, så kontakt os.

Ofte stillede spørgsmål

Hvad er cloud native, forklaret enkelt?

Det er software der fra starten er bygget til at leve i skyen og udnytte alt det skyen tilbyder: at vokse og skrumpe automatisk efter behov, at blive idriftsat med et tryk på en knap og at bestå af dele der kan udskiftes hver for sig. Det modsatte er gamle systemer der blot er flyttet til skyen uden at blive ændret, og som derfor aldrig udnytter det de nu kører på.

Hvad er forskellen på cloud native og lift-and-shift?

Lift-and-shift betyder at man tager et eksisterende system som det er og flytter det direkte op i skyen uden at bygge det om. Det går hurtigt, men giver sjældent skyens fordele: Systemet opfører sig som før, bare på lejet hardware. Cloud native betyder i stedet at applikationen er udformet til skyen fra bunden så den faktisk kan skalere og drives på skyens vilkår.

Hvad er byggestenene i cloud native?

Tre går igen. Containere pakker en applikation med alt den skal bruge så den kører ens overalt. Managed services er færdige cloudkomponenter (databaser, køer, lagring) som udbyderen står for driften af. Og CI/CD er automatiserede flows der tester og idriftsætter kode uden manuel indgriben. Sammen gør de systemet elastisk, driftssikkert og hurtigt at opdatere.

Er cloud native altid billigere?

Over tid ofte ja, men ikke fra dag ét. Driftsomkostningerne falder fordi man betaler for det man bruger og slipper for at passe sin egen infrastruktur, og systemet skalerer automatisk i stedet for at kræve overdimensioneret hardware. Men det kræver mere designarbejde i starten fordi applikationen skal bygges rigtigt fra begyndelsen. Gevinsten kommer i drift og vedligeholdelse, ikke på den første faktura.

Skal alle systemer være cloud native?

Nej. For et lille, stabilt system med jævn belastning kan det ekstra designarbejde i starten være mere end gevinsten kan retfærdiggøre. Cloud native betaler sig bedst når belastningen varierer, når systemet skal vokse, eller når hurtig og hyppig udvikling er vigtig. Som med de fleste arkitekturvalg er svaret at det kommer an på hvordan systemet skal bruges og udvikles over tid.