Okker gokker, hvad er Docker? Og er det noget, du skal interessere sig for, hvis din organisation bruger større software-systemer? Få svarene her …
Forestil dig en travl havn i 1950erne: En fragtdamper er lige ankommet med tonsvis af bomuld fra Indien. Sværme af svedige havnearbejdere (på engelsk dockers) har travlt med at slæbe sække og baller med bomuld op fra skibets lastrum og videre ned ad smalle ramper til kajen.
Havnearbejderne placerer godset i sirlige stakke på kajens brosten, hvor stakkene afventer at blive læsset på jernbanevogne, der senere vil rulle ud til tekstilfabrikker landet over.
En sjakbajs iført sixpence, vest og en smøg i kæften har orkestreret hele operationen, og han overvåger fra sit foretrukne udkigspunkt, at alt går, som det skal. Hvis han ser, at en af havnearbejderne ikke laver noget, skifter han ham uden tøven ud med en anden. Kan du se det for dig?
Forestil dig så den samme havn i dag: Alt ankommer i containere. Arbejdet med losning og distribution er strømlinet og automatiseret så meget som muligt. Lugten af sved hænger ikke længere i luften. Langt færre manuelle processer er involveret, og alt er optimeret, så godset kan komme ud og gøre gavn meget hurtigere end i gamle dage.
Når man i dag afskiber varer i containere, kan de med andre ord hurtigt rulles ud. Dét er interessant, hvis man har med software at gøre, som vi har hos Zylinc, og som du garanteret også har, hvis du læser det her.
Container-teknologi er ny og fremadstormende cloud computing-teknologi, som både Windows og Linux understøtter. Med den kan I lave ændringer i jeres softwaremiljø væsentligt hurtigere, uden at det går ud over den gode oplevelse hos brugerne.
Med container-teknologi kan I meget nemt og hurtigt:
- Opgradere jeres software, og sågar også det underliggende operativsystem, hvis det er nødvendigt
- Nedgradere til en tidligere version, hvis I af en eller anden grund ikke er tilfredse med opgraderingen
- Automatisk opdage hvis en del af jeres softwareløsning fejler, og i så fald få sjakbajsen – container-orkestratoren – til automatisk at udskifte den fejlbehæftede del med en ny instans
- Flytte jeres softwareløsning mellem en on premise-installation og en cloud service provider, eller sågar mellem forskellige cloud service providers
Du vil opdage, at mange af de ord, vi lige før brugte, da vi forestillede os halvtredser-havnen og vore dages containerterminal, nu bruges i softwareindustrien: Den største spiller inden for container-teknologi hedder Docker (havnearbejder), og Docker benytter sig af ting som bl.a. kaldes containere, sværme, stakke og orkestratorer til at gøre udrulning af softwareløsninger hurtig og nem.
Hvis jeres organisation har store softwareinstallationer, så bør I ikke – ja, I kan ikke – ignorere container-teknologi som Docker, fordi …:
- Den er hurtig: Du behøver blot at taste nogle få kommandoer for at installere, opgradere eller nedgradere jeres softwareløsning, eller for at starte eller stoppe dens services eller frameworks. Mere skal der ikke til, fordi hvert container-image indeholder alt, hvad der behøves, for eksempel operativsystemets basis-image, Java, Tomcat og .NET framework.
- Den er minimalistisk og smart: Den mængde data, I skal downloade, og den tid det tager at sætte flere containere op, er minimal. Det er den fordi operativsystemernes basis-images, som containerne bygger på, releases og vedligeholdes af selve operativsystem-producenterne. Flere containere kan deles om det samme operativsystems basis-image, selv på tværs af kunder, produkter og services. Det er nemt at downloade og cache operativsystemernes basis-images, og hvert container-image indeholder blot en pegepind til dets operativsystemets basis-image.
- Den udnytter resurser bedre: Container-images er langt mindre krævende end traditionelle virtuelle maskiner. For eksempel findes sådan noget som multiple instanser af identiske netværksstakke ikke på container-images. Det er nemlig ikke nødvendigt, fordi mange container-images kan deles om det samme operativsystems basis-image, og dermed kan de også deles om den samme kerne i en enkelt instans af operativsystemet. Operativsystemerne har i øvrigt container-funktioner der sørger for, at hver enkelt container er fuldstændigt isoleret fra andre containere og anden software, selv når de benytter sig af samme operativsystem.
- Du kan glemme alt om interne porte: Med container-images behøver du ikke at kende noget til de porte, som jeres softwareløsning burger internt. De porte er i øvrigt heller aldrig eksponeret over for omverdenen. Det skyldes, at der benyttes et virtuelt netværk til kommunikationen mellem containere og containernes hosts.
- Backup er vildt nemt: Der er ganske enkelt intet i containerne, du skal tage backup af. Alt er gemt i databaser, enten på databaseservere eller på andre veldefinerede eksterne data stores. Selve containerne er nemlig stateless, og ændrer sig som sådan aldrig (de er uforanderlige, eller immutable som det hedder på engelsk).
- Logfiler er samlet ét sted: Når du får brug for at finde logfiler, hvis du fx skal oprette en supportsag, behøver du ikke logge ind på de enkelte noder. Containere sender nemlig automatisk deres logfiler til et fælles logbibliotek.
Vi er selvfølgelig begyndt at bruge container-teknologi til vores Zylinc-løsninger, og inden længe vil du kunne høste alle fordelene ved det. Som de siger på tv, når de skal til at vise reklamer: Bliv her på kanalen; der kommer meget mere efter pausen! Vi kommer alle til at få meget mere Docker – og meget nemmere softwarehåndtering – i årene der kommer. Og vi skal nok sørge for at holde dig orienteret undervejs.
Morten Müller er Documentation & Localization Manager på Zylincs hovedkontor i Hellerup.