Chaos testing a microservices application with xk6-disruptor
This post presents how xk6-disruptor, a k6 extension for fault injection, can be used to improve the reliability of applications by “shifting left” chaos testing.
This post presents how xk6-disruptor, a k6 extension for fault injection, can be used to improve the reliability of applications by “shifting left” chaos testing.
We’ve all heard about the significant WhatsApp breakdowns that have happened in the recent past, during which the app was unavailable for the public for an hour. However, from a technical standpoint, WhatsApp returned in less than an hour. What would have enabled the engineers at WhatsApp to quickly restore the services? Technically speaking, the team experienced an extremely stressful production failure because of this.
As engineers and architects, we automatically build resilience into platforms as far as possible. But what about the unknown failures? What about the unknown behavior of your platform? The philosopher, Socrates, once said “You don’t know what you don’t know”. What if I could tell you there is a way to turn these unknowns into knowns – a way to understand how your platform will behave to specific failure events…
Software development is entirely different today than it was a few years ago. Back then, we usually had a big monolith running on our own hardware. We mainly did performance tests to see if the hardware resources were sufficient to handle the load. Today, we develop software in a distributed environment with multiple services which may even run on different cloud platforms. With performance testing, we try to identify performance and resilience issues in these kinds of environments.
In this episode of Kongcast, I spoke with Jason Yee, director of advocacy at Gremlin, about the concept of chaos engineering, why even the best engineers can’t control everything, and tools and tactics to help build app resiliency. Check out the transcript and video from our conversation below, and be sure to subscribe to get email alerts for the latest new episodes.