Flytter kode fritt med Docker containerteknologi

26-01-2017

Med containerteknologi fra Docker kan applikasjoner enkelt bli flyttet mellom driftsmiljøer. Det gir muligheter for effektiv programvareutvikling og utnyttelse av skyen som mange hittil bare har drømt om.

Servermiljøer er satt opp på forskjellige måter med ulike infrastruktur, operativsystemer, IP-adresser og andre parametere. Derfor kan en applikasjon normalt ikke uten videre bli flyttet fra et miljø til et annet.

Hold deg oppdatert! Legg igjen din epost og få informasjon om nye blogginnlegg, webinarer og eventer direkte i din innboks!

Jobbe med det viktigste

Stefan Månsby, innovasjonsdirektør i Basefarm

– Mye verdifull utviklingstid går alt for ofte ikke til selve applikasjonsutviklingen, men i stedet til å få driftsmiljøet til å fungere. Med Docker kan utviklere gripe fatt i det som er deres egentlige oppgaver og det arbeidsgivere eller oppdragsgivere betaler for. Det vil gi raskere, rimeligere og enklere utviklingsløp som er avgjørende i den agile verden, sier innovasjonsdirektør Stefan Månsby i Basefarm.

Containerteknologi som Docker muliggjør en gammel teknisk drøm. Allerede på 1970-tallet jobbet man med å lage små applikasjonsøyer som sto for enkeltfunksjoner og ble knyttet sammen til andre øyer. Slik kunne hver funksjon leve sitt eget liv eller lett bli byttet ut, slik Eric S. Raymond skrev i boken ”The Art of Unix Programming” fra 1970.

– Med Docker er det nå praktisk og enkelt å jobbe slik, sier Månsby.

– Utviklerne kan være i direkte dialog med tjenesteeiere, spesialtilpasse småfunksjoner og enkelt gjøre en deployment av enkeltmoduler i produksjonen uten å måtte oppdatere hele systemet.

btn-top

Berører ikke driften

Det Docker gjør sammenligner Månsby med et fotografi. Med kameraet fryser du tiden i et øyeblikk – et snapshot. På samme måte fryser du med Docker et servermiljø i tiden med applikasjon, operativsystemer, systemprogramvare, lagring og tilhørende infrastruktur.

– Verden stopper ikke opp når du fotograferer den, men går videre samtidig som du kan bruke fotografiet. Servermiljøet stopper ikke opp om du fryser det med Docker, men fortsetter å fungere akkurat som før. Men, du kan bruke snapshot-et som er det vi kaller containeren, forklarer han.

I containeren kan du injisere ny kode eller gjøre andre endringer. Den inneholder ingen informasjon om omverdenen i form av IP-adresser, lagring etc., men får dette levert fra et Docker Engine-miljø. 

btn-top

Hvor som helst med Docker Engine

– Det betyr at du kan kjøre en slik Docker-container – et snapshot/image – hvor som helst hvor det finns en Docker Engine. Det kan være hos Amazon (AWS), det kan være i Azure eller det kan være på din egen laptop. Som utvikler slipper du å tenke på tilpasning til spesifikke skyer, enten de er private eller offentlige, men kun om Docker Engine er installert, sier han.

Forutsetningen for Docker skal fungere er at applikasjonens design og kode er forberedt for teknologien.

I mange scenarier er Docker mer ressurseffektiv enn tradisjonell virtualisering fordi teknologien ikke har samme overhead, og er vesentlig mer ressurseffektiv slik at du får mer ut av datakraften du faktisk betaler for.

Månsby er imidlertid påpasselig med å understreke at containerteknologi ikke erstatter tradisjonell virtualisering, men gir et alternativ parallelt.

btn-top

Docker containere i praksis

Budskapet om at ”du kan kjøre koden din hvor som helst bare det har en Docker Engine” får tennene til å løpe i vann for utviklere flest. Her er et par eksempler på praktisk anvendelse av teknologien.

FLYTTBART: Tenk deg at du har en applikasjon i en public cloud på vestkysten av USA. Så får du en ny kunde som ønsker tjenesten, men som av juridiske årsaker vil kjøre den på en server i EU. I neste versjon setter utviklerne da helt enkelt en europeisk versjon i produksjon som inkluderer lokale tilpasninger så som språk eller betalingsrutiner.

VIDEREUTVIKLE: En utvikler skal jobbe videre med et komplett produksjonsmiljø. Lokalt på sin laptop ved hjelp av Docker Engine benytter hun seg av containere som er i produksjon. Her kan hun teste, stage, kjøre QA inkludert integrasjonstester m.m. Fungerer det på laptopen, vil det også fungere i en det opprinnelige produksjonsmiljøet. Når alt er gjort og på plass, kan kode deployes i miljøet med visshet om at intet utforutsett vil inntreffe.

btn-top

Ønsker du mer informasjon om Docker containere?

Vil du vite mer om Docker containere? Ta kontakt med en av våre spesialister, som kan gi deg ytterligere informasjon.

btn-top