Optimalisering av administrerte container-tjenester
På denne siden vil du lære mer om optimalisering av administrerte container-tjenester. Optimalisering skjer i likhet med Virtuelle maskiner hovedsakelig gjennom right-sizing og bruk av reservasjoner og bindingtidsplaner, men kan også innebære konfigurasjon av automatisk oppe- og nedetid og bruk av spot-instanser.
Beskrivelse
Container-administrerte tjenester, gjør det mulig for utviklere å distribuere, administrere og skalere applikasjoner ved hjelp av containere. Disse tjenestene gir en komplett løsning for containeradministrasjon, inkludert orkestrering, sikkerhet, nettverk og lagring, uten at utviklere trenger å bekymre seg for den underliggende infrastrukturen. Når vi snakker om container-administrerte tjenester i denne sammenhengen, sikter vi til tjenester som f.eks. AWS Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE) og Oracle Kubernetes Engine (OKE).
Disse tjenestene utnytter containerteknologi, som Docker, og orkestreringsverktøy som Kubernetes, for å tilby en fleksibel og skalérbar plattform. Dette gjør det enklere for virksomheter å kjøre applikasjoner i ulike miljøer, fra utvikling og testing til produksjon, med høy pålitelighet og effektivitet. Ved å bruke container-administrerte skytjenester kan virksomheter raskt tilpasse seg endrede behov, redusere driftskostnader, forbedre ressursutnyttelsen og dra nytte av skyplattformens innebygde sikkerhet og skalérbarhet.

Optimaliseringstiltak
Fordi Kubernetes i skyplattformene baserer seg på noder og poder, kort forklart containere som hostes på virtuelle maskiner (VM), vil optimalisering av disse foregå på relativt lik måte som for VMer. Det vil si at bruk av rightsizing, reservasjoner og bindingstidsplaner, automatisk oppe- og nedetid samt bruk av spot-instanser er aktuelle optimaliserende tiltak.
Right-sizing, reservasjoner og bindingstidsplaner
PaaS-tjenester som tilbyr Kubernetes i skyplattformene lar kundene selv velge størrelsen på nodene, dette er de virtuelle maskinene hvor pod'ene kjører. Det vil derfor være naturlig å se på right-sizing i denne sammenhengen. For å right-size pod'er, bruker man limits og requests på CPU og minne i Kubernetes. Ved oppretting av en pod kan man angi hvor mye CPU og minne hver container trenger ved å bruke requests og limits. Requests angir det som minimum trengs, og limits angir det maksimale antall CPU og minne som containeren får lov til å bruke.
I likhet med for virtuelle maskiner kan både reservasjoner og bindingstidsavtaler benyttes for å få rabatterte priser. Det anbefales at vurderinger av dette sees i sammenheng med både right-sizing og vurderinger av automatisk oppe- og nedetid for å sikre at disse ikke fører til merforbuk ved at de dekker kapasitet som ellers kunne ha blitt nedjustert eller dekket av nedetid. Her er det viktig å ha god kjennskap til hvordan rabattavtalene fungerer i praksis, noe vi beskrev på forrige side.
Automatisk oppe- og nedetid
For utvikler-miljøer som bruker Kubernetes i skyplattformen, og ikke har behov for at dette kjører 24/7, for eksempel utenfor arbeidstid eller i helgen, kan det være aktuelt å benytte seg av automatisk skedulert stopp av Kubernetes-clusteret. Dette gjøres på forskjellige måter i de ulike skyplattformene.
Spot instanser
Spot-instanser er enda en måte å oppnå betydelige kostnadsbesparelser på, ved å utnytte ubrukt kapasitet i skyplattformer.
Disse instansene tilbys til en lavere pris fordi de kan bli avbrutt av skyleverandøren når kapasiteten trengs til andre formål. Derfor er spot-instanser ideelle for fleksible applikasjoner som tåler avbrudd, for eksempel batchbehandling, dataanalyse og utviklings- og testmiljøer.
Ved å bruke spot-instanser kan virksomheter redusere kostnadene betydelig uten å gå på kompromiss med ytelsen, så lenge applikasjonene er designet for å håndtere potensielle avbrudd. Dette gjør spot-instanser til en kostnadseffektiv løsning for mange typer arbeidsbelastninger i skyen.
Øvrig veiledning
Eksterne Lenker
Aktuelle verktøy
KubeCost er et FinOps-verktøy som hjelper til med å holde oversikt og kontroll på kostnader forbundet med Kubernetes i hybride miljøer, i tillegg til optimaliseringsforslag. For større Kubernetes-miljøer kan det være nyttig å benytte KubeCost eller open source alternativet Opencost.
Kontakt
Har du spørsmål eller tilbakemeldinger? Ta kontakt med oss!
E-post: markedsplassen [at] dfo.no (markedsplassen[at]dfo[dot]no)