We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
"Resillient Microservices without the Chaos" by Christopher Meiklejohn (Strange Loop 2022)
Discover how to build resilient microservices without chaos, as Christopher Meiklejohn shares his development-first approach and introduces new tools like Filibuster, Workload characterization, and more.
- When building microservices, it’s crucial to manage failures, even though it’s difficult.
- Fault tolerance techniques like retries, circuit breakers, and delayed retries can help.
- Instead of relying on academics to solve problems, Christopher Meiklejohn focused on development-first resilience tools.
- Microservices require deeper complexity, making it more challenging to develop, deploy, and operate.
- Communication between components can lead to unclear error handling, making it difficult to distribute applications.
- Automated fault injection can help identify bugs, but shouldn’t replace manual testing.
- Development-first resilience involves thinking about failures early in the process and developing systems that can handle errors.
- Filibuster, a tool developed by Meiklejohn, helps automate fault injection testing and supports integration with existing workflows.
- Workload characterization is important for understanding the complexity of systems, and APIs that support dynamic reduction can help reduce this complexity.
- Failure injection can reveal bugs and help developers understand how their systems respond to failures.
- Microservices testing requires unique approaches, such as replaying error messages to ensure the system handles failures correctly.
- Service level fault injection testing helps identify issues with specific services and can be used in conjunction with existing testing strategies.
- Automated instrumentation simplifies the process of instrumenting RPC libraries and other components, making it easier to test systems.
- Error handling can be difficult due to complex interactions between components, but automated testing can help identify issues.
- Microservices development requires a focus on resilience, as single points of failure can bring down entire systems.
- Chaos engineering is a technique used to identify fault tolerance issues in microservices by inducing failures in production-like environments.