Tekniska ämnen

Vad är Chaos Engineering?

Illustration av IT-artiklar med fokus på en glödlampa

Översikt

Fråga vilken projektledare, utvecklare eller teamledare som helst. Flera saker kan gå fel under livscykeln för programvaruutveckling, t.ex. fel, cyberattacker och systemavbrott. Oväntade misslyckanden är oundvikliga, vilket kan störa hela processen, begränsa resultaten och slösa bort viktiga resurser.

Kaosteknik

Chaos engineering är en disciplin som studerar hur dessa misslyckanden kan uppstå och tillhandahåller metoder för att undvika dem. Genom att förstå grundorsaken till misslyckanden kan kaosingenjörer utveckla planer för att förhindra eller mildra dem.

Chaos engineering handlar inte om att skapa kaos, utan om att med hjälp av kontrollerade experiment identifiera potentiella felkällor i ett system innan de orsakar problem. Genom att göra detta kan kaosingenjörer proaktivt förhindra avbrott och andra störningar.

Vad är egentligen Chaos Engineering?

Chaos engineering är en metod där man avsiktligt injicerar fel i ett system för att testa dess motståndskraft. Målet är att identifiera potentiella felpunkter och korrigera dem innan de orsakar ett faktiskt avbrott eller annan störning.

Det finns många sätt att skapa kaos i ett system, men det viktigaste är att ha en plan. Utan en plan är det lätt att skapa fler problem än man löser. När du skapar din plan måste du bestämma dig för vad du vill testa och hur du ska göra det. När du har en plan kan du börja experimentera.

Programvaruutvecklare kan enkelt införa chaos engineering i sina arbetsflöden genom OpenText™ LoadRunner™ Professional. Den här lösningen utnyttjar inte bara belastningstestning av prestanda, utan gör det också enkelt att köra andra kaostekniska experiment direkt i programvaran.

Genom att skapa dessa händelser i en kontrollerad icke-produktionsmiljö kan du testa hur ditt system reagerar och identifiera eventuella problem.

När du har identifierat potentiella felkällor kan du börja arbeta med att minska dem. Det kan handla om att lägga till övervakning eller loggning för att hjälpa till att identifiera problem när de uppstår eller att ändra din design så att den blir mer motståndskraftig mot fel.

Vilka är principerna för Chaos Engineering?


Principerna för kaosteknik är:
Planera: Bestäm vad du vill testa och hur du ska göra det. Målet här är att skapa en hypotes. Vad kan gå fel i ett system? Vilka är de potentiella sårbarheterna som kan utnyttjas?
Experimentera: Injicera fel i systemet och se hur det reagerar. Felinjektion är helt enkelt processen att införa ett problem i ett befintligt system för att avslöja en sårbarhet. Det är i princip vanan att "kasta in en skiftnyckel" i ett system med flit för att se vad som händer.
Analysera: Använd data från dina experiment för att identifiera potentiella felpunkter.
Begränsa: Om du hittar ett problem kan du avsluta ditt experiment för att fokusera på att mildra det. Annars kan du skala upp ditt experiment tills du är framme vid problemets kärna.

Vilka är fördelarna med Chaos Engineering?

Så varför skulle något företag förstöra saker med flit? Att avslöja systemfel är nödvändigt för att göra det mer robust. Chaos engineering kan hjälpa dig att undvika avbrott och andra störningar. Genom att identifiera potentiella felkällor och korrigera dem innan de orsakar problem kan du proaktivt förebygga störningar.

Dessutom ger chaos engineering flera fördelar för kunder, företag och tekniker. Den största fördelen är att företagen kan skapa starkare produkter som påverkar deras resultat och uppfyller kundernas förväntningar.

Hur skiljer sig Chaos Engineering från testning?

Chaos engineering skiljer sig från testning på några viktiga sätt. Chaos engineering fokuserar på att hitta potentiella felpunkter innan de orsakar problem. Testning, å andra sidan, fokuserar på att verifiera att systemet fungerar som förväntat. Kort sagt är kaosteknik proaktiv medan testning är reaktiv.

Kaosingenjörer arbetar för att förhindra avbrott och andra störningar genom att införa och korrigera kontrollerade fel innan de kan orsaka problem i en skarp miljö. Dessa kontrollerade fel hjälper till att identifiera vilka delar av systemet som är mer motståndskraftiga och vilka som behöver mer arbete. Testning kan bara verifiera att systemet fungerar efter att det är färdigt.

Hur liknar Chaos Engineering OpenText LoadRunner Professional

LoadRunner Professional är ett verktyg som främst fokuserar på en viss typ av prestandateknik. Med LoadRunner Professional kan du använda avancerad belastningstestning som simulerar verkliga användningsförhållanden, vilket kan hjälpa dig att identifiera potentiella problem med belastningsprestanda innan de orsakar problem.

Men LoadRunner Professional är inte bara ett verktyg för prestandateknik som kör belastningstester i en stabil miljö; det är ett verktyg som kombinerar både prestandateknik och kaosteknik i en och samma plattform.

LoadRunner Professional fungerar direkt med Gremlin, en känd FaaS-plattform (failure-as-a-service) som gör att du kan skapa olika typer av kaoshändelser som CPU-spikar, nätverkslatens och diskfel. Du kan enkelt organisera och initiera Gremlin-kaosexperiment direkt i LoadRunner Professional -plattformen och köra belastningstester baserat på onormala förhållanden.

Sammantaget gör LoadRunner Professional det möjligt för dig att proaktivt förhindra belastningsstörningar under olika typer av kaoshändelser. Genom att identifiera potentiella felkällor innan de orsakar problem kan det här verktyget hjälpa till att spara tid, pengar och värdefulla resurser.

Sätt Chaos Engineering i kraft med OpenText LoadRunner Professional

I slutändan är chaos engineering drivkraften bakom alla framgångsrika mjukvaruprojekt. Mjukvaruutvecklare kan implementera chaos engineering för att genomföra projekt som står sig över tid.

Genom OpenText:s partnerskap med Gremlin kan LoadRunner Professional testa systemens prestanda under belastning och olika kaoshändelser samtidigt, vilket gör att du kan hitta potentiella felkällor och åtgärda problem proaktivt.

Hur kan vi hjälpa till?

Fotnoter