Container-teknologi, også kendt som kun container, er en metode til emballering af et program, så det kan køres isoleret fra andre processer. Tanken er, at applikationer, konfigurationer og andre nødvendige ting pakkes som en enhed i en container. Der herefter er nemme at flytte mellem forskellige underliggende infrastrukturer lokalt eller i skyen. Store Cloud Computing udbydere, såsom Oracle Cloud Infrastructure, Amazon Web Services, Microsoft Azure og Google Cloud Platform, har taget container-teknologi til sig med software som Docker, Apache Mesos, RKT og Kubernetes.
Container-teknologien har fået sit navn fra shippingbranchen. I stedet for at finde en unik måde at sende hvert produkt på, placeres varer i containere, som er designet til at blive afhentet af en kran på kajen og sendt afsted i skibe, som netop er designet til at blive fyldt med containere. Ved at standardisere processen og holde produkterne sammen kan containeren flyttes som en samlet enhed, hvilket giver en stor omkostningsbesparelse.
Containere er en letvægtsvariant af traditionel virtualisering. Hver container tror selv, at den er en fuldgyldig server eller et operativsystem. I virkeligheden bruger containeren det underliggende operativsystem. Dette sikrer, at det fungerer præcis, som en udvikler ønsker, at det skal fungere. Normalt køres der kun en tjeneste per container.
I stedet for et firma, der f.eks. kører 50 tjenester fra 20 servere, kan man køre 50 containere på en håndfuld servere.
En af fordelene ved containere er, at man opnår fuld isolering af installeret software. Adskillige (gamle) systemer er desværre udarbejdet, så de ønsker en hel server alene. Med containere kan man placere dem sammen uden at systemerne forstyrrer hinanden, samtidig med at man udnytter ressourcerne bedre.
Containerdrift stiller ofte høje krav til stabilitet. Mange containere giver ikke meget plads til manuelle rutiner. Derfor kontrolleres de ofte med Kubernetes, Nomad, Docker Swarm eller lignende systemer. Disse systemer giver automatisk fejlkorrektion og skalering. Sidstnævnte er vigtigt for nogle tjenester såsom applikationsservere, hvor behovet for kapacitet kan ændre sig i løbet af dagen eller året.
Programleverandører har i dag et ønske om, at man hurtigt kommer igang med deres løsninger, hvorfor de leverer standardiserede pakkeløsninger, som man kan bruge i alle moderne cloud-løsninger. Cegal bruger selv det, når vi leverer IT-systemer til vores kunder; vores løsninger leveres som pakkeløsninger og kan køres i kundernes eget datacenter eller i skyen på standard container-teknologi.