Fag
Publisert 7. april 2021

Docker og kubernets - utviklers store drøm!

Jørgen Ellingsen Leder utvikling

Minimer risiko for nedetid og spar verdifulle utviklertimer med Docker og Kubernetes

I Ellera er vi glad i videreutvikling og bruker mye tid på ny teknologi for å se hvordan vi kan skape en bedre arbeidsdag for oss og andre bedrifter. De siste årene har vi tatt i bruk og fått god erfaring med både Docker og Kubernetes, og blir mer og mer glad i mulighetene som åpner seg – og hvor genialt det hele faktisk er. Det er med god grunn at det i 2018 var over 1 million nye utviklere som tok i bruk Docker i løpet av bare ett år.

I dette innlegget gir vi et lite innblikk i hva Docker og Kubernetes er og hvordan det kan brukes i ditt utviklermiljø for å spare både tid og penger. Lurer du på noe er det bare å ta kontakt!

Med containerteknologi fra Docker kan applikasjoner enkelt flytte mellom driftsmiljøer.

Hva er Docker og Kubernetes?

Docker er veldig forenklet et program, som på den ene siden lar alle utviklerene jobbe i et helt likt miljø – som bare tar noen minutter å starte opp (selv første gang!) – og på den andre siden forenkler distribusjon av ny kode til nettsiden; noe som muliggjør rask og kontinuerlig utrulling av endringer - uten nedetid.

Først hjelper Docker utviklerene å sette opp et lokalt miljø av små servere lokalt på deres laptop. Når koden er skrevet og endringene er klare, pakkes disse små serverene sammen som «Docker images» og sendes til «Kubernetes» på produksjonsserveren. Kubernetes oppdaterer serverene slik at de nå serverer den nye koden nøyaktig slik som utvikleren hadde den på egen maskin.

Kubernetes er et program som orkestrerer kontainere (som lages av eksempelvis nevnte «Docker images»), og kan med dette kjøre flere duplikater av nettsiden som tar i mot trafikken og deler den seg i mellom – også på tvers av servere. Så om én instans av nettsiden skulle få problemer, så tar de andre over og Kubernetes starter automatisk den med problemer på nytt.

Dette gjør også Docker utmerket for å skalere opp og ned ressursbruken etter behov, også fordelt på flere serverleverandører om ønskelig, som gir et mer robust driftsmiljø for nettsider og applikasjoner med behov for redudans.

Hva gjorde vi før Docker, egentlig?

Mindre nedetid for sluttbruker og færre tilfeller der vi må jobbe utenom normal arbeidstid for å fikse nettsider høres jo unektelig bra ut. Men når Docker også sparer mange timer i prosjekter; både i oppstart, testing og produksjonssetting; så kan man jo lure på hvordan man klarte seg før Docker kom til verden. Når alt i tillegg er svært enkelt å bruke, så får du en pakke som også er enhver utviklers drøm!

Si farvel til MAMP og WAMP og database-backups som må lastes inn; til filer som må konfigureres i alle retninger før du kan programmere; til klønete SSL-sertifikater som må installeres lokalt; til manuell opplasting av filer på server og oppdateringer som tar ned nettsiden; til tidkrevende oppsett av VPS og webhotell; og ikke minst, si farvel til frustrasjon og kjipe timer med forarbeid til det som virkelig er gøy å jobbe med.

Og si hei til fremtiden:

Verdien av Docker er stor og årsakene mange (kilde: docker.com)

Økt produktivitet

Docker presenterer meget hyggelig statistikk på sine nettsider om fordelene ved å benytte seg av Docker-universet. Og selv om dette vil være forskjellig fra bedrift til bedrift (som de til og med har laget en kalkulator for), så har vi selv sett og erfart hvor mye tid og hodepine vi sparer ved å bruke Docker i våre prosjekter og for våre kunder. Og det er utelukkende gode erfaringer.

En gjennomsnittlig bedrift med et utvikler-team på 5 personer, som utvikler og drifter 10 nettsider i måneden, har potensiale til å spare minimum 20% på å legge om til et mer automatisert system med Docker.

Det er ingen grunn til å vente

Det finnes masse kurs og ressurser der ute for å lære seg hvordan man kan bygge sitt eget system og gå frem for en optimal løsning tilpasset sine behov. I tillegg er det et kjempebra «community» rundt Docker, som tilfører systemet masse verdi og muligheter hver eneste dag.

Docker og Kubernetes var blant verktøyene vi benyttet i arbeidet for Eie Eiendomsmegling som resulterte i eiendombransjens raskeste nettside.

Hvis du tenker at dette høres bra ut, men også komplisert ut eller bare ønsker litt hjelp på veien, er du hjertelig velkommen til å ta kontakt med oss!

Fag
Publisert 7. april 2021

Jørgen Ellingsen Leder utvikling