Kontilla tarkoitetaan ohjelmistopakettia, joka sisältää itse ohjelman lisäksi tarvittavan riippuvuuden ohjelman ajamiseksi. Tästä seuraa suoraan konttiteknologian ensimmäinen hyöty. Kontit ovat kätevä tapa jakaa staattisia ohjelmistopaketteja, jotka sisältävät kaiken ohjelman suorittamiseksi minkä tahansa infrastruktuurin päällä. Konttiin voidaan pakata omien binääri- tai lähdekooditiedostojen lisäksi myös muita ohjelmistopaketteja. Esimerkiksi ohjelmistotyökaluja voidaan esiasentaa konttiin. Tällöin kontti voidaan vain käynnistää ja ohjelmisto sekä riippuvuudet ovat saatavilla.
Ohjelmistokehittäjän näkökulmasta kontit tarjoavat oivallisen alustan ohjelmiston kehittämiselle sekä testaamiselle. Kehittäjä voi suorittaa koodinsa kontissa, jolloin hän tietää ympäristön olevan staattinen sekä ennaltamääritelty ja, että se sisältää valmiiksi tarvittavat riippuvuudet. Testauksessa tarvittava tietokanta on esimerkiksi kätevä käynnistää konttina, jolloin sen tila on tiedossa.
Ohjelmien suorittaminen konteissa sekä konttien orkestrointityökaluissa (mm. Kubernetes ja ECS) mahdollistavat ns. mikropalveluarkkitehtuurien käytön. Mikropalvelulla tarkoitetaan ohjelmaa, joka suorittaa yhden tietyn tehtävän ja on osana suurempaa joukkoa muita mikropalveluja. Mikropalveluiden käyttö tarjoaa joustavan tavan kehittää ja testata ohjelmistoja. Jokainen mikropalvelu on oma itsenäinen ohjelmansa, jota kehitetään ja testataan omana kokonaisuutenaan.
Kalle Soranko
Senior Consultant