Fleksibelt og genbrugeligt: Læg data science i containere

Foto : Sheila_F / Bigstock

Fleksibelt og genbrugeligt: Læg data science i containere

Hurtigt, nemt og open source. Der er ingen undskyldning for ikke at lægge data science i containere, mener Mikkel Freltoft Krogsholm.
Brødtekst

Dockerized data science giver både skalerbarhed og mulighed for at reproducere resultater. Og så er det billigt, sagde Mikkel Freltoft Krogsholm på DAU’s konference om analytics, der fandt sted i København tidligere på ugen.  

Mikkel Freltoft Krogsholm er Full Stack Senior Data Scientist hos Teradata, medstifter af startup-virksomheden Turbolex og selvudnævnt datatroldmand på Skanderborg Festival. 

I alle tre tilfælde bruges containere - nærmere bestemt container-platformen Docker - som del af infrastrukturen, fortæller han.

Docker-containere minder om og sammenlignes ofte med virtuelle maskiner: De giver et isoleret miljø, hvor alt det, din kode har brug for for at køre, er til stede. Det har store fordele, når det handler om data science, pointerer Mikkel Freltoft Krogsholm.

»I data science bruger vi ofte R til at lave analyser i. Og hvis du har lavet den fedeste model og opdaterer én pakke, kan du risikere at hele dit analyse-setup dør.«

Hvor virtuelle maskiner får allokeret en del af den underlæggende hardware, så bruger en docker-container kun hardware, når processen kører. Samtidig kan to containere bruge samme version af f.eks. Linux og samme version af Python, således at man ikke behøver at lave dobbeltinstallationer. 

Det gør det nemt at reproducere en analyse i præcis det miljø, som den originalt blev produceret i. 

»Hvis man er en god data scientist, så har man versioneret alting i for eksempel GitHub. Men hvad med systemet og miljøet? Med det her system kan du versionere hele vejen ned til det OS, du kørte, og hele din infrastruktur,« siger Mikkel Freltoft Krogsholm.

»Det vil sige, at du kan lægge hele dit miljø ned, og når chefen kommer et år efter og siger, at han gerne vil have kørt en analyse igen, kan du bare køre dit docker-image og gå ud at drikke kaffe.« 

I nogle industrier har du netop brug for at vise, hvordan du kom frem til et bestemt resultat. Det har Mikkel Freltoft Krogsholm selv oplevet som konsulent i Skat, der lægger vægt på altid at kunne forklare, hvordan afgørelser er blevet truffet. 

Kageopskriften

Foruden container-infrastrukturen giver Docker adgang til Docker Hub – et registry, hvor mange har allerede har lagt Docker-images klar til brug. 

»Forestil jer, at alle de software-pakker, I har lyst til at bruge, findes som små Lego-klodser, I bare skal sætte på en plade. I stedet for at du skal sidde og installere database-systemer, så tager du bare Lego-klodsen og sætter den på din plade.« forklarer Mikkel Freltoft Krogsholm. 

Det giver stor fleksibilitet, fordi tjenester kan tilføjes og fjernes fuldstændig efter behov, siger han.

»Nogle gange sidder jeg bare og kigger på de mest populære klodser på Docker Hub, og så finder man noget, man godt kan bruge.«

Dertil kommer Docker Compose. Her kan du med et enkelt dokument vise, hvordan du ønsker, dit miljø skal se ud. Det giver en tidsgevinst, når den komplekse infrastruktur 'bygger sig selv' - mens du drikker kaffe.

»Docker Compose er kageopskriften til din data science-kage,« siger Mikkel Freltoft Krogsholm.

Nedenstående eksempel på en ‘kageopskrift’ har to elementer – rstudio og postgres. Hos Turbolex og Skanderborg Festival er der henholdsvis 17 og 10 elementer på listen, fortæller Mikkel Freltoft Krogsholm.   

DockerComposer
Illustration: Mikkel Freltoft Krogsholm

Ingen undskyldning

Når du tager Docker-konceptet, henter de images, du gerne vil bruge, på Docker Hub og skriver dem alle sammen ind i en rækkefølge på Docker Compose, får du, hvad Mikkel Freltoft Krogsholm kalder dockerized data science.

»Så har du meget hurtigt og meget nemt sat en fuldstændig infrastruktur op. Alt er i øvrigt open source og gratis, så der er ingen undskyldning.«

Selv hvis man ikke er klar på at bygge hele sin infrastruktur op om containere, kan man bruge Docker til at lave hurtige testmiljøer, siger Mikkel Freltoft Krogsholm

»I Skat spandt vi docker-containere op, som lignede produktionsmiljøet, hvor vi så testede, og hvis alt gik godt, så lagde vi dem i produktionsmiljøet. Sådan kan man også bruge det.«

Docker
Docker
Illustration: Docker

Docker er navnet på det selskab, hvis open source-platform af samme navn er blevet en ekstremt populær måde at skabe, udrulle og håndtere containere på. 

Du kan hente og installere Docker Community Edition gratis herfra

Mikkel Freltoft Krogsholm

Mikkel Freltoft Krogsholm er senior data scientist hos Teradata, medstifter af startup-virksomheden Turbolex og selvudnævnt datatroldmand på Skanderborg Festival. Han har en kandidat i samfundsvidenskab fra Aarhus Universitet og har tidligere arbejdet som senior data scientist hos DAMVAD Analytics.