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

AWS DevOps Agent
8. joulukuuta 2025
AWS:n DevOps Agent on autonominen virtuaalinen on-call-tiimikaveri, joka tutkii häiriöt automaattisesti, kokoaa tilannekuvan useista järjestelmistä ja ehdottaa korjauksia keventäen SRE-tiimien kuormaa.
4. joulukuuta 2025
AWS tuo uudenlaista joustavuutta palveluihin yhdistämällä serverless-mallin ja perinteisen instanssihallinnan. Uudistus hämärtää rajaa Lambdan ja EC2:n välillä, kun funktiot voidaan ajaa valituilla instanssityypeillä AWS:n edelleen hoitaessa skaalauksen ja ylläpidon.
24. marraskuuta 2025
Deploying software on EC2 instances nowadays feel like going backwards in time - most of the applications would be usually preferably deployed as Docker containers or serverless functions.
18. kesäkuuta 2025
Kesäkuun alussa suuntasimme aurinkoiseen Tukholmaan AWS:n järjestämään Partner Summitiin ja sitä seuranneeseen Summit -päätapahtumaan.
Lisää kirjoituksia