”Tricket är att få ihop alla Docker Images till en enhet”

Allt börjar med en automatiserad CD-pipeline

Docker-tekniken har på bara några år etablerat sig som ett slags de facto-standard för att paketera och distribuera Linux-applikationer. Mindre jobb, snabbare utrullning och färre fel är bara några av fördelarna.

”Varje utvecklare får sin egen lilla bubbla”

”För vår del har även möjligheten att utnyttja hårdvaran mer effektivt varit ett starkt incitament”, säger Andreas Stenius på Svenska spel. ”Våra testmiljöer är komplexa, med många olika komponenter. Att med traditionella metoder sätta upp separata testmiljöer som inte krockar med varandra är väldigt resurskrävande. Med hjälp av docker-tekniken kan varje utvecklare i praktiken få sin egen lilla ostörda bubbla att jobba i.”

Full koll, visualisering och integration

En mer komplex miljö med fler verktyg, gör också att man hela tiden måste ha koll på det som kan gå fel. Andreas Stenius igen:

”Som utvecklare kan man göra rätt häftiga saker med Docker, men som alltid måste man sätta sig in i alla möjligheter innan man kan dra nytta av dem. Meningen med Docker är att tekniken ska vara så enkel att använda, att man som användare inte behöver bry sig. Riktigt så långt har vi inte kommit ännu, men vi tar nya steg åt det hållet varje dag.”

För att kunna ta vara på alla fördelar krävs dels en effektiv teknisk integration, dels att berörda ledare och medarbetare hela tiden har överblick och koll på vad som händer. Andreas Stenius:

”Visualisering handlar inte bara om att få en överblick, utan också om möjligheten att vid behov kunna gräva djupare efter detaljer. En bra analogi är den med en cockpit, där kaptenen i flygplanet med en snabb blick över instrumenten får en bild av läget – om allt är OK eller inte. Samtidigt kan han fokusera på enskilda instrument för att läsa av aktuellt värde just nu.”

Driftsatt i rätt miljö – per automatik 

Tanken med att använda Docker och Microservices, är att förenkla utvecklingen av tjänster, där varje liten del kan utvecklas i en isolerad miljö.

”Enklare att göra rätt – och enklare att göra fel”

”Så snart den delen är redo kan den sedan driftsättas per automatik”, säger Andreas Stenius. ”Vårt CI-flöde ser till att alla beroenden är uppfyllda och CD-flödet ser till att det blir driftsatt i rätt miljö. Allt ifrån test och pre-prod till produktion.”

Begreppet CI-flöde syftar på kontinuerlig integration och CD-flöde på kontinuerlig driftsättning.

Andreas Stenius och hans kolleger har nu arbetat aktivt med Docker under cirka två år och har kommit relativt långt jämfört med andra större it-företag. Samtidigt har man lärt sig att inte underskatta utmaningarna. En av dessa är att inte ta alltför lättvindigt på enkelheten: Docker gör det enklare att göra rätt, men samtidigt är det enklare att göra fel.