Bring Chaos into your Development Environment

ChaosWheel

About the speaker

Ramiro Berrelleza

Ramiro Berrelleza

Founder & CEO,

Okteto

Ramiro Berrelleza is one of the founders of Okteto. He has spent most of his career (and his free time) building cloud services and developer tools. Before starting Okteto, Ramiro was an Architect at Atlassian and a Software Engineer at Microsoft Azure. Originally from Mexico, he currently lives in San Francisco.

About the talk

Chaos Engineering is a must if you're building Cloud Native applications. If you unit test your code, you should chaos test it. Join us to learn how open-source tools like LitmusChaos, Okteto, and Kubernetes help make Chaos Engineering a core part of your entire team's development environment.

When most organizations think of Chaos Engineering, they visualize it as a stage that happens at the end of the software development cycle. You build, you test, While this is a good way to start, is far from optimal.

Chaos Engineering, just like security or observability, is a tool that developers can leverage even before they write a line of code. In this talk, Ramiro will talk about how you can use open-source tools like Litmus Chaos, Okteto, and Kubernetes to bring Chaos Engineering into your entire's team development environment on day 1, instead of as a last-minute afterthought.

Transcript

Bring Chaos into your Development Environment

For yet another enlightening session on day 2 of Chaos Carnival 2021, we had Ramiro Berrelleza, the founder of Okteto, join us to talk about Bringing Chaos into your Development Environment.

Ramiro defines Chaos Engineering as, "The discipline of experimenting on a system to build confidence in the system's capability to understand turbulent conditions in production."

"I have been a developer for around 10-15 years and back then, we used to focus on these three main things, which are code, build, and test. This was back when we had no microservices, and used to work on monolithic applications; hence, very limited dependencies.

Therefore, it was very easy to check whether the system is working or not, and we used to focus on unit and end-to-end testing. But then, technologies evolved and microservices became the standard part of the system. Modern applications are no longer a single piece, they consist of codes, multiple microservices, but you are also going to have a database, third-party APIs, DNS entry in front of the orchestrator if you are using docker swarm or Kubernetes as your cloud provider. So, you see, over time complexities have increased in every system." Ramiro explains.

There is a very well-known statistical trend in this industry that, the later in your system you find a bug, the costlier it is going to be to fix it. For example, if you find a bug in ideas, requirements, or coding, it is going to cost much less than production or testing. Hence, starting Chaos Engineering as soon as possible will be beneficial for the infrastructure as it will test the system and point out the errors before a failure can happen.

BRINGING CHAOS TO YOUR DEVELOPMENT ENVIRONMENT

1. Kubernetes:

Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management. Today, it is the biggest open-source project in the world. It was started internally by Google and then was open-sourced, and every large vendor is now its user. It has become a standard way of running containers. It is mostly liked because of its huge ecosystem and because it allows you to get the computation immediately which is great when you are in the production stage. It's one of the key pieces of bringing Chaos Engineering into your development environment.

2. LitmusChaos:

LitmusChaos is also an open-source chaos testing tool that was created by MayaData, and now it's in spinoff Chaos Native. It's a cloud-native-centric way to do Chaos Engineering. LitmusChaos helps Kubernetes SREs and developers practice Chaos Engineering in a Kubernetes native way. It is easy to use and is manifest-driven, which is great when you are writing code. It fits into the paradigm of infrastructure as code and orchestration as code. It is a part of the CNCF Sandbox Project which means it has a lot of support from the community as well as vendors.

3. Okteto:

Okteto too is an open-source project. It helps you deploy a pre-configure DevOps environment on any Kubernetes cluster. You no longer have to install things locally and you can replicate your cluster by running all your services or calculations locally.

Ramiro then goes on to perform a demo on combining the above-mentioned three open-source projects to give the ability to spin-off Chaos Engineering tests easily with your code.

"I am gonna show you all the different pieces and how they run together and the code as well, but what I want you to most importantly focus on are the principles of why Chaos Engineering is important and how you can bring it down for your team. Even if you are not using these tools, it is important to understand the ideology and make your system resilient." Ramiro goes on to explain the demo and hence, concludes his talk.

Chaos Engineering is fun!
Chaos Engineering is fun!
Kennedy A Torkura
Chaos Engineering for Cloud Native Security

Sign Up

for our Newsletter

Get tips, best practices and updates on Chaos engineering in cloud native.

Videos

by Experts

Checkout our videos from the latest conferences and events

Our Videos

Related Blogs

Site Reliability Engineering: An Introduction

Read

July 29, 2021

7 Min Read

Prithvi's Blog