Docker-ympäristön klusterointi
Anttila, Ville (2016)
Anttila, Ville
Jyväskylän ammattikorkeakoulu
2016
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2016052910561
https://urn.fi/URN:NBN:fi:amk-2016052910561
Tiivistelmä
Opinnäytetyön tavoitteena oli tutkia Docker-virtualisointitekniikkaa ja miten sen avulla voitiin isännöidä verkkosovellusta monessa eri palvelimessa. Docker on käyttöjärjestelmätasoinen virtualisointitekniikka, joka hyödyntää sovelluskontteja palveluiden käyttöönotossa ja ylläpidossa. Kontti sisältää kaikki tarvittavat komponentit siinä ajettavaa sovellusta varten. Kontti on eristetty sitä isännöivästä käyttöjärjestelmästä, eivätkä ne pysty suoraan kommunikoimaan keskenään ilman käyttäjää.
Omalle tietokoneelle luotiin testiympäristö, jossa käytettiin ilmaisia avoimeen lähdekoodiin perustuvia ohjelmia. Ympäristön avulla tutkittiin, miten palvelimia voitiin hallita yhtenä joukkona eli klusterina. Tämä tarkoittaa sitä, että jokaista palvelinta ja konttia voitiin hallita yhdeltä koneelta käsin. Klusteri muodostettiin Docker Swarm-työkalun avulla.
CoreOS-käyttöjärjestelmää hyödynnettiin Docker-konttien alustana. CoreOS on suunniteltu konesali- ja palvelinkäyttöön. Luodussa Swarm-klusterissa ajettiin Contriboard-verkkosovellusta. Verkkosovelluksen avulla tarkkailtiin, että ympäristö toimi oletetulla tavalla. Sen avulla käyttäjät pystyvät luomaan paperilappuja vastaavia tikettejä ja jakamaan niitä muiden kanssa. Contriboardin avulla saatiin tarkkailtua, kuinka paljon klusteri kesti käyttäjien luomaa verkkokuormaa ennen virhetilojen syntymisiä. Ympäristö kesti hyvin 250-500 käyttäjän luoman kuorman.
Toimeksiantaja halusi tietää, onko Docker valmis tuotantokäyttöön ja milloin sen lopullinen läpimurto laajemmille markkinoille voisi tapahtua. Opinnäytetyön aikana selvisi Dockerin olevan hyvä työkalu palveluiden ja sovelluksien hallintaan. Docker on jo valmis tuotantokäyttöön, ja monet suuryritykset käyttävät sitä jo omissa järjestelmissä. Docker Swarm sen sijaan on vielä keskeneräinen, koska se on ollut vasta vuoden julkaistuna. Tulosten ja teorianosuuden perusteella arviotiin, että Dockerin lopulliseen läpimurtoon kestää vielä kahdesta kolmeen vuotta.
Omalle tietokoneelle luotiin testiympäristö, jossa käytettiin ilmaisia avoimeen lähdekoodiin perustuvia ohjelmia. Ympäristön avulla tutkittiin, miten palvelimia voitiin hallita yhtenä joukkona eli klusterina. Tämä tarkoittaa sitä, että jokaista palvelinta ja konttia voitiin hallita yhdeltä koneelta käsin. Klusteri muodostettiin Docker Swarm-työkalun avulla.
CoreOS-käyttöjärjestelmää hyödynnettiin Docker-konttien alustana. CoreOS on suunniteltu konesali- ja palvelinkäyttöön. Luodussa Swarm-klusterissa ajettiin Contriboard-verkkosovellusta. Verkkosovelluksen avulla tarkkailtiin, että ympäristö toimi oletetulla tavalla. Sen avulla käyttäjät pystyvät luomaan paperilappuja vastaavia tikettejä ja jakamaan niitä muiden kanssa. Contriboardin avulla saatiin tarkkailtua, kuinka paljon klusteri kesti käyttäjien luomaa verkkokuormaa ennen virhetilojen syntymisiä. Ympäristö kesti hyvin 250-500 käyttäjän luoman kuorman.
Toimeksiantaja halusi tietää, onko Docker valmis tuotantokäyttöön ja milloin sen lopullinen läpimurto laajemmille markkinoille voisi tapahtua. Opinnäytetyön aikana selvisi Dockerin olevan hyvä työkalu palveluiden ja sovelluksien hallintaan. Docker on jo valmis tuotantokäyttöön, ja monet suuryritykset käyttävät sitä jo omissa järjestelmissä. Docker Swarm sen sijaan on vielä keskeneräinen, koska se on ollut vasta vuoden julkaistuna. Tulosten ja teorianosuuden perusteella arviotiin, että Dockerin lopulliseen läpimurtoon kestää vielä kahdesta kolmeen vuotta.