Itsepalvelumekanismilla toimivan automaatiojärjestelmän asennus DevOps–ympäristöstä
Roihupalo, Olli (2024)
Roihupalo, Olli
2024
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024051010738
https://urn.fi/URN:NBN:fi:amk-2024051010738
Tiivistelmä
Opinnäytetyön tavoitteena on tutkia Terraformin käyttöä alustariippumattomana virtualisointiympäristöjen hallintajärjestelmänä. Tavoitteena on mahdollistaa hallinta niin, että virtuaaliympäristöjä voi rakentaa, käyttäen esimerkiksi Jenkins- pohjaista automaatiota, mahdollistaen ainakin rajatun itsepalvelumekanismin. Opinnäytetyö tehtiin Valmet Automation OY:lle.
Hankkeen sisältämät pääkohdat ovat Terraformin kyvykkyyksiin perehtyminen, Terraform-automaation testaaminen ja toteuttaminen tuotekehityksen virtualisointiympäristössä sekä ”proof-of-concept”-tasoinen toteutus Jenkins-automaatiota käyttäen.
Lopputuloksena on ohjelma, jolla voidaan luoda VSphere-virtuaalikoneita Bit-Bucketin, Terraformin ja Jenkinsin avustuksella. Projektin koodaus tehtiin Visual Studio Code -ohjelmalla, käyttäen Terraformin ja Jenkinsin omia ohjelmointikieliä.
Ohjelmaa voitaisiin vielä jatkokehittää esimerkiksi lisäämällä tapa poistaa tarpeettomat kooditiedostot ja Jenkins-artifaktit automaattisesti, jotta ne eivät veisi turhaa tilaa. Tämän lisäksi ohjelman käyttöön tarvittavien askelten määrää voitaisiin mahdollisesti vähentää automaation tunnun lisäämiseksi. Muuttujien ja Jenkins-parametrien määrää voitaisiin myös lisätä ohjelman muokattavuuden parantamiseksi.
Hankkeen sisältämät pääkohdat ovat Terraformin kyvykkyyksiin perehtyminen, Terraform-automaation testaaminen ja toteuttaminen tuotekehityksen virtualisointiympäristössä sekä ”proof-of-concept”-tasoinen toteutus Jenkins-automaatiota käyttäen.
Lopputuloksena on ohjelma, jolla voidaan luoda VSphere-virtuaalikoneita Bit-Bucketin, Terraformin ja Jenkinsin avustuksella. Projektin koodaus tehtiin Visual Studio Code -ohjelmalla, käyttäen Terraformin ja Jenkinsin omia ohjelmointikieliä.
Ohjelmaa voitaisiin vielä jatkokehittää esimerkiksi lisäämällä tapa poistaa tarpeettomat kooditiedostot ja Jenkins-artifaktit automaattisesti, jotta ne eivät veisi turhaa tilaa. Tämän lisäksi ohjelman käyttöön tarvittavien askelten määrää voitaisiin mahdollisesti vähentää automaation tunnun lisäämiseksi. Muuttujien ja Jenkins-parametrien määrää voitaisiin myös lisätä ohjelman muokattavuuden parantamiseksi.