Engineering the Future of Software
29–31 Oct 2018: Tutorials & Conference
31 Oct–1 Nov 2018: Training
London, UK

Applying the principles of chaos to serverless

Yan Cui (DAZN)
15:5016:40 Monday, 29 October 2018
Location: King's Suite - Sandringham
Secondary topics:  Overview, Theoretical
Average rating: ****.
(4.20, 5 ratings)

Who is this presentation for?

  • Senior developers, architects, and DevOps engineers

Prerequisite knowledge

  • Experience running applications in the cloud
  • A working knowledge of serverless technologies, such as AWS Lambda

What you'll learn

  • Understand chaos engineering
  • Learn where and how to inject faults into a serverless architecture (e.g., how to inject latency to AWSSDK/HTTP requests or to the function invocation directly) and how to control the fault injection process via configurations


Chaos engineering is a discipline that focuses on improving system resilience through controlled experiments that expose the inherent chaos and failure modes in your system, before these failure modes manifest themselves like a wildfire in production and impact your users. (Netflix is undoubtedly the leader in this field.) However, much of the publicized tools and articles about chaos engineering focus on killing EC2 instances, and efforts to implement chaos engineering in the serverless community have been largely limited to moving those tools into AWS Lambda functions.

But how can we apply the same principles of chaos to a serverless architecture built around AWS Lambda functions?

Serverless architectures have more inherent chaos and complexity than their serverful counterparts, and you have less control over their runtime behavior. In short, there are far more unknown unknowns with these systems. So can we adapt existing practices to expose the inherent chaos in these systems? If so, what are the limitations and new challenges that we need to consider?

Join Yan Cui to learn how to apply the principles of chaos to a serverless architecture.

Photo of Yan Cui

Yan Cui


Yan Cui is a principal engineer at DAZN and an AWS serverless hero. Over his career, he has been an architect and lead developer with a variety of industries ranging from investment banks, ecommerce to mobile gaming. In the last two years, he has worked extensively with AWS Lambda in production, and he has been very active in sharing his experiences and the lessons he has learned.

Yan is polyglot in both spoken and programming languages and counts C#, F#, Scala, Node.js, and Erlang among the programming languages he has worked with professionally. Yan is a regular speaker at user groups and conferences internationally and is the instructor of Production-Ready Serverless and a coauthor of F# Deep Dives. In his spare time, he keeps an active blog at