Tools & Platforms
Beyond the Simian Army, what types of capabilities do modern chaos engineering tools like Gremlin, LitmusChaos, and AWS FIS generally provide at a conceptual level?
Conceptually, how would you implement chaos engineering in a Kubernetes environment?
How would you approach chaos engineering for serverless or fully managed cloud services where you don't control the infrastructure?
How would you conceptually implement a basic chaos experiment using Chaos Monkey?
What are some of the tools available to support Chaos Engineering at a conceptual level?
What are the trade-offs between using open-source chaos tools (like LitmusChaos or Chaos Mesh) versus commercial platforms?
What does 'failure-as-a-service' mean, and what does a tool like Gremlin provide at a conceptual level?
Production Vs Non Production
Can chaos testing be applied in a non-cloud environment?
What are the trade-offs and considerations of running chaos experiments in staging/pre-production environments versus production?
When would it not be appropriate to run chaos experiments on a system?
Why do chaos engineers start in non-production environments and then extend to production?
Why is it often recommended to run chaos experiments in production, and what are the critical considerations when doing so?
Myths Automation & Security
Can you briefly explain the concept of Security Chaos Engineering?
How can chaos experiments be used to verify that your monitoring and alerting actually detect failures when they occur?
How should the results and learnings of a chaos experiment be documented and shared across the organization?
How would you implement chaos engineering in a CI/CD pipeline?
Is it possible to simulate attacks on a system using chaos engineering, and can you give examples?
What are common misconceptions about Chaos Engineering?
What is the importance of automating chaos experiments to run continuously?
What is the myth of the chaos engineer going around breaking things randomly?
What is the role of monitoring and observability in Chaos Engineering?
Why don't you always need a sophisticated chaos platform like Chaos Monkey for effective chaos engineering?
Fault Injection Types
Can you describe different categories of faults or failure injection types that can be introduced in a chaos experiment, with examples for each?
Can you explain what a failure injection framework is?
Explain how you would implement fault injection in a microservices architecture.
How do you prioritize which chaos experiments or failure scenarios to run first?
How does chaos engineering help uncover cascading failures across a distributed system?
How would you design a chaos experiment to test network latency resilience?
How would you use chaos experiments to inject resource exhaustion faults like CPU, memory, or disk saturation, and what would you expect to learn?
What are the trade-offs between randomized fault injection (like Chaos Monkey's random termination) and targeted, hypothesis-specific experiments?
What is a network partition or split-brain scenario, and how would you design a chaos experiment to test a system's tolerance for it?
What is clock skew or 'time travel' fault injection, and why would you inject it into a system?
What is the difference between hardware-level, network-level, infrastructure-level, and application-level fault injection?
What is the difference between injecting a dependency failure and injecting a network latency fault, and when would you choose each?
Principles & Comparisons
Can you describe the scientific method as applied to a Chaos Engineering experiment and the key steps in the lifecycle of a chaos experiment?
Can you list and explain the core principles of Chaos Engineering?
Explain the key principles of Chaos Engineering and how they differ from traditional testing.
How does chaos engineering differ from disaster recovery planning and testing?
How does Chaos Engineering differ from traditional testing methodologies like unit, integration, or performance testing?
What are some of the Chaos Engineering approaches?
What is 'continuous verification' and how does it relate to continuous chaos experimentation?
What is the relationship between "fault injection" and "Chaos Engineering"?
What should be the primary goal or question when designing a chaos engineering program?
Why can't traditional testing fully account for real-world variables and uncover unknown-unknowns, making Chaos Engineering necessary?
Why is it important to simulate real-world events in chaos experiments?
Fundamentals & Concepts
Can you explain the concept of Netflix's Simian Army and its various "monkeys" like Chaos Monkey, Latency Monkey, and Chaos Kong, and what their purpose was?
What are the origins of Chaos Engineering, and how did tools like Chaos Monkey contribute?
What are the primary goals or benefits of practicing Chaos Engineering?
What is antifragility, and how does the concept relate to (or differ from) the goals of chaos engineering?
What is Chaos Engineering and how do you implement it?
What is Chaos Engineering, and how does regularly testing a system for failures help identify and fix weak points?
What is Chaos Engineering, and why is it important for modern distributed systems?
What is Chaos Engineering?
What is Failure Injection Testing (FIT), and how did it evolve chaos engineering practices at Netflix?
What kinds of issues can be discovered after running regular chaos experiments?
What was Chaos Kong designed to test, and why is region-level failure simulation important?
Why is chaos engineering especially important for applications where high uptime is required?
Resilience Patterns & Recovery
How can chaos experiments validate graceful degradation and fallback behaviour in a service?
How does Chaos Engineering help validate the effectiveness of resilience patterns like circuit breakers, retries with backoff, and timeouts?
How would you design chaos experiments for stateful systems?
How would you test disaster recovery procedures using chaos engineering?
How would you use a chaos experiment to validate that a bulkhead pattern is isolating failures correctly?
Game Days
How can you start with Game Days before injecting failures into production?
How do Game Days help identify weak points within a team or improve preparedness?
How would you plan and facilitate a Chaos Engineering Game Day, and who typically participates?
What are the prerequisites for your GameDay?
What are the typical steps involved in running a Chaos Engineering GameDay?
What is a GameDay in Chaos Engineering and why is it important?
Blast Radius & Safety
How do canary deployments and progressive rollouts relate to the practice of expanding blast radius in chaos experiments?
How do you define and implement "abort conditions" or a "big red button" for a chaos experiment?
How do you ensure a chaos experiment cleanly reverts the system to its original state after it completes?
How would you handle a chaos experiment that causes an unexpected critical system failure?
In what sense are humans and teams part of the blast radius, and how do socio-technical factors matter in chaos engineering?
What are some anti-patterns to avoid in Chaos Engineering?
What are the risks of chaos engineering and how can they be mitigated?
What is blast radius in Chaos Engineering, and what strategies would you use to minimize it during an experiment?
What role can feature flags play in safely running and controlling chaos experiments?
What strategies and safety measures would you employ to minimize the blast radius of a chaos experiment?
Why is it important to start small and gradually scale chaos experiments?
Organizational Adoption & Culture
How do the findings from chaos experiments feed into continuous reliability improvements and SRE practices like error budgets?
How do you gain organizational buy-in and foster a blameless culture to effectively implement Chaos Engineering?
How does chaos engineering fit within the broader discipline of Site Reliability Engineering?
How would you measure the success of a chaos engineering program?
What are the essential prerequisites a system and organization should have in place before starting Chaos Engineering?
What is a Chaos Maturity Model, and how can an organization use it to advance its Chaos Engineering practice?
Who is the best set of people to start chaos engineering in a team, and whose responsibility is it?
Why is organizational buy-in and a collaborative culture important for Chaos Engineering?
Ethics & Responsibility
How do you ensure transparency when communicating about chaos engineering experiments?
How would you address a situation where a chaos engineering experiment causes unintended harm?
How would you balance the need for system resilience with the potential risks to customers?
What is your understanding of the ethical considerations involved in chaos engineering?
What steps would you take to mitigate potential ethical issues during chaos engineering practices?
Steady State & Hypothesis
How do you formulate a hypothesis for a chaos experiment?
What does it mean to "disprove your hypothesis" in a chaos experiment, and what is the outcome if you succeed or fail to disprove it?
What is a "steady state" in Chaos Engineering, why is defining it the first crucial step, and how would you define one?
What is a steady-state hypothesis in the context of Chaos Engineering, and why is it crucial?
What is the difference between a business-level steady-state metric and a system-level steady-state metric, and why might a business metric be preferable?
What is the role of a hypothesis in a Chaos Engineering experiment?
Why do teams sometimes struggle to define a steady state, and what are the implications?
Why is assuming that the steady state can sustain not a good approach in chaos engineering?
Why is defining a 'steady state' crucial in Chaos Engineering?
Why is the steady-state hypothesis the most important step in Chaos Engineering?