Kysy konsultilta: Mihin chaos engineering -työkaluja käytetään?

7. joulukuuta 2023

Mihin chaos engineering -työkaluja käytetään?

Chaos engineering on Netflixin alunperin kehittämä filosofia, jolla pyritään parantamaan isojen hajautettujen järjestelmien vikasietoisuutta ajamalla erilaisia "kaaoskokeita" (chaos experiment) suoraan tuotantoympäristössä. Netflix aloitti tämän kehittämällä Chaos Monkey nimisen työkalun, joka toimii tuotantoympäristössä ja sammuttaa virtuaalikoneita sattumanvaraisesti. Tämä käytännössä pakottaa tiimit kehittämään palveluista sellaisia, että ne toipuvat tällaisista vikatilanteista. Myöhemmin vastaavia työkaluja on kehitetty lisää ja ne pystyvät injektoimaan ympäristöihin paljon erilaisia vikatilanteita, esimerkiksi verkkotason latenssia tai katkoksia, pakettihävikkiä ym, ja virtuaalikonetasolla kasvanutta CPU-kuormaa, muistin kulutusta tai muita suorituskykyyn vaikuttavia ongelmatilanteita. Hallitusti injektoitujen vikatilanteiden kautta järjestelmien vikasietoisuutta voidaan testata ja sitä kautta pyrkiä korjaamaan havaitut ongelmat. Chaos engineerig -filosofian ydin on ajaa testejä nimenomaan tuotantoympäristössä, jolloin voidaan varmistua siitä, että testit mahdollisimman tarkasti toistavat tosielämän vikatilanteita.


Chaos engineering -kokeiden suorittaminen tuotantoympäristössä vaatii pitkäjänteistä kehitystä ja kokeiden tarkkaa suunnittelua ja valmistelua. Tätä ennen pitää tietenkin olla suhteellisen hyvä käsitys siitä miten järjestelmä tulee käyttäytymään vikatilanteissa, ja yleensä kokeilla halutaankin testata jotain tiettyä järjestelmän osa-aluetta. Järjestelmien vikasietoisuuden parantumisen lisäksi toinen tärkeä hyöty on siinä että sovellustiimit oppivat toimimaan paremmin myös todelllisissa vikatilanteissa kun vikatilanteiden selvittelyä harjoitellaan hallitusti chaos engineering kokeiden kautta.


Vaikka chaos engineering -filosofian tavoitteena onkin pyrkiä tilanteeseen, jossa luottamus järjestelmän toimintaan on sillä tasolla, että kokeita voidaan ajaa tuotantoympäristössä riittävällä varmuudella siitä, että kokeet itsessään eivät aiheuteta isompaa hallitsematonta vikatilannetta, tähän ei ole tietenkään välttämätöntä pyrkiä heti alkuvaiheessa. Chaos engineering -työkaluista voi olla paljonkin hyötyä osana normaalia järjestelmien testausprosessia, jolloin mahdolliset ongelmat havaitaan mahdollisesti jo testausvaiheessa ja voidaan korjata ennen kuin tuotannossa vastaavia ongelmia edes ilmenee.


Chaos engineering -kokeiden hallintaan ja suorittamiseen löytyy useita avoimen lähdekoodin sovelluksia ja myös maksullisia apuvälineitä, esimerkiksi ChaosMesh, LitmusChaos ja Gremlin. Toimittaessa AWS-ympäristössä voidaan käyttää AWS:n omaa Fault Injection Simulator (FIS) -työkalua joka integroituu suoraan AWS-resursseihin ja pystyy simuloimaan useita erilaisia vikatilanteita.

A man wearing a white polo shirt and a watch is standing with his arms crossed.

Jussi Lehtiniemi

Senior Cloud Architect

Viimeisimmät kirjoitukset

Pulvipulssi_webscale
17. huhtikuuta 2025
Pilvipulssi tuo ajankohtaiset uutiset julkipilvimarkkinoilta suoraan asiantuntijoiltamme. Tutustu SST-kehykseen, joka helpottaa full stack -sovellusten rakentamista omalle infrastruktuurille. Se tarjoaa selkeän ja abstraktoidun tavan määritellä koko sovelluksen rakenne.
Max Niskanen, Webscale Head of Sales
8. huhtikuuta 2025
Webscalen myyntitiimi vahvistuu, kun Max Niskanen liittyi joukkoomme Head of Sales -roolissa. Max tuo mukanaan yli kymmenen vuoden kokemuksen IT-alan myynnistä ja liiketoimintajohdosta. Teknologian lisäksi Maxin intohimoihin kuuluvat hapanjuurileivonta, historia ja vaellukset luonnossa.
Pilvipulssi
20. maaliskuuta 2025
Pilvipulssi tuo ajankohtaiset uutiset julkipilvimarkkinoilta suoraan asiantuntijoiltamme. Serverless Framework v3 on elinkaarensa päässä ja organisaatiot joutuvat nyt pohtimaan päivittävätkö seuraavaan versioon vai siirtävätkö softat kokonaan toiseen työkaluun.
21. helmikuuta 2025
Pilvipalvelut mahdollistavat niin nopeamman innovoinnin, resurssien tehokkaamman hallinnan kuin joustavammat liiketoimintamallitkin. Jotta pilven tarjoamat liiketoimintaedut pystytään hyödyntämään, tarvitaan pilven käyttöön kuitenkin suunnitelmallisuutta ja järjestelmällisyyttä.
Lisää kirjoituksia