Havaittuja virheitä Ansiblen käytössä : Ansiblen perusteet ja mahdollisia virheitä ratkaisuineen
Nupponen, Ville (2022)
Nupponen, Ville
2022
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-05-11
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202205104596
https://urn.fi/URN:NBN:fi:tuni-202205104596
Tiivistelmä
Tässä työssä perehdytään eri tutkimuksissa ilmenneisiin virheisiin, joita esiintyy, kun käytetään Ansiblea keinona toteuttaa infrastruktuuri. Ilmenneistä virheistä esitellään muutama eniten esille tulleista, jotta saadaan käsitys minkälaisia virheet voivat olla. Virheisiin esitetään myös ratkaisuja, joita käyttämällä vältyttäisiin kyseisiltä virheiltä.
Tarkastellut virheet voidaan jakaa kahteen eri kategoriaan; tietoturvahajuihin ja huonoihin käytäntöihin. Tietoturvahajut ovat mahdollisia virheitä, jotka mahdollisesti heikentävät toteutuksen tietoturvaa. Huonot käytännöt puolestaan on yleisesti määritelty huonoksi tavaksi toteuttaa kyseinen asia. Näistä selvästi kriittisempiä ovatkin juuri tietoturvahajut, jotka voivat aiheuttaa merkittäviä ongelmia, kun huonot käytänteet puolestaan ovat enemmän kehittämisen ja ylläpidettävyyden kannalta häiritseviä.
Tietoturvahajuissa selvästi eniten esille on tullut salaisuuksien kovakoodaaminen. Dokumentaatiossa lähes poikkeuksetta näytetään esimerkit kovakoodatuilla salaisuuksilla, jotta dokumentaatio saadaan pidettyä mahdollisimman yksinkertaisena ja selvänä. Toinen useasti esille noussut tietoturvahaju oli eheystarkistuksen puuttuminen.
Huonoissa käytänteissä esille nousivat riittämätön modulaarisuus ja idempotenssin rikkominen. Riittämättömän modulaarisuuden ongelma tulee vastaan sovelluksen laajentuessa, eikä sitä ole aluksi välttämättä helppo havaita. Projektin lähtiessä huonosti liikkeelle sitä voi olla myöhemmin hankala lähteä korjaamaan. Idempotenssin rikkomisella voidaan aiheuttaa ympäristöihin yllättäviä ongelmia, joita ei välttämättä pystytä toistamaan ja sen myötä korjaaminen voi olla haastavaa.
Esitellyt virheet ovat vain pieni osa pienestä joukosta tutkimuksia eikä kaikkien löydettyjen ongelmien käsittely ole mitenkään mielekästä. Ei ole myöskään oletettavaa, että kukaan pystyisi tiedostamaan ja hallitsemaan kaikkia mahdollisia ongelmia. Automaattiset työkalut virheiden tunnistamiseen eivät ole vielä kovin kattavia, mutta joitakin ongelmia on mahdollista tunnistaa. Yhtenä vaihtoehtona työn loppupuolella on esitelty Ansible Lint -ohjelma, joka kykenee huomauttamaan joistakin huonoista käytänteistä.
Tarkastellut virheet voidaan jakaa kahteen eri kategoriaan; tietoturvahajuihin ja huonoihin käytäntöihin. Tietoturvahajut ovat mahdollisia virheitä, jotka mahdollisesti heikentävät toteutuksen tietoturvaa. Huonot käytännöt puolestaan on yleisesti määritelty huonoksi tavaksi toteuttaa kyseinen asia. Näistä selvästi kriittisempiä ovatkin juuri tietoturvahajut, jotka voivat aiheuttaa merkittäviä ongelmia, kun huonot käytänteet puolestaan ovat enemmän kehittämisen ja ylläpidettävyyden kannalta häiritseviä.
Tietoturvahajuissa selvästi eniten esille on tullut salaisuuksien kovakoodaaminen. Dokumentaatiossa lähes poikkeuksetta näytetään esimerkit kovakoodatuilla salaisuuksilla, jotta dokumentaatio saadaan pidettyä mahdollisimman yksinkertaisena ja selvänä. Toinen useasti esille noussut tietoturvahaju oli eheystarkistuksen puuttuminen.
Huonoissa käytänteissä esille nousivat riittämätön modulaarisuus ja idempotenssin rikkominen. Riittämättömän modulaarisuuden ongelma tulee vastaan sovelluksen laajentuessa, eikä sitä ole aluksi välttämättä helppo havaita. Projektin lähtiessä huonosti liikkeelle sitä voi olla myöhemmin hankala lähteä korjaamaan. Idempotenssin rikkomisella voidaan aiheuttaa ympäristöihin yllättäviä ongelmia, joita ei välttämättä pystytä toistamaan ja sen myötä korjaaminen voi olla haastavaa.
Esitellyt virheet ovat vain pieni osa pienestä joukosta tutkimuksia eikä kaikkien löydettyjen ongelmien käsittely ole mitenkään mielekästä. Ei ole myöskään oletettavaa, että kukaan pystyisi tiedostamaan ja hallitsemaan kaikkia mahdollisia ongelmia. Automaattiset työkalut virheiden tunnistamiseen eivät ole vielä kovin kattavia, mutta joitakin ongelmia on mahdollista tunnistaa. Yhtenä vaihtoehtona työn loppupuolella on esitelty Ansible Lint -ohjelma, joka kykenee huomauttamaan joistakin huonoista käytänteistä.
Kokoelmat
- Kandidaatintutkielmat [8452]