For a while now, I have been really passionate about the idea of creating the world’s first Chaos Engineering certification. There is a lot of information I wanted to help everyone learn and understand. I also like the idea of providing a reward in the form of a certificate for completing an exam. I’m a big fan of education, my mum really instilled this in me at a young age.
“Your education is something that nobody can take away from you” — my mum
We launched the world’s first Chaos Engineering Certification. This was my first time creating a…
G’Day Mate, this is part 2 of a book review for Accelerate. Pull up a chair and let’s get cracking. If you’re looking for part 1 you can find it here.
In Part 2 we’ll start with reducing deployment pain.
In Accelerate there are several recommendations to reduce deployment pain. For example:
G’Day Mate, how are you? I hope you’re having a beaut day today. My name’s Tammy Bryant Butow and you’ve stumbled across my Medium blog. Welcome, sit down, grab a coffee and let’s chat about a book called Accelerate. Get your copy of the Accelerate book.
Accelerate was published in 2018 by Nicole Forsgren, Jez Humble and Gene Kim. The evidence collected prior to the release of the book refuted the bimodal notion in tech that you have to choose between speed and stability.
They discovered that speed actually depends on stability, so good tech practices give you both.
After 6 years of working on keeping internet banking, mortgage broking, and foreign exchange trading up and running for over 1 million users I’ve seen many interesting, unusual and unexpected failure stories. Missing transactions, incorrect balance, duplicate transactions, lost transactions, lost mortgages and much more. Here’s a repo for fintech failure stories if you’d like to learn more: https://github.com/tammybutow/Fintech-Failure-Stories/
For the demo, we’ll be using the Bank of Anthos repo. It’s an open-source project from Google Cloud Platform.
This is the architecture of our Bank of Anthos demo:
We recently released Webhooks here @ Gremlin. Here’s a quick guide to using Gremlin Webhooks to create your desired integrations.
One of the most common requests I hear is “how do I easily share updates of the current Gremlin Attacks that we are running”… Today I’ll show you how to make your own Chaos Engineering bot with Gremlin!
For demonstration purposes, I’ll be sharing how to do this with Zapier.
First login to app.gremlin.com and navigate to Team Settings:
In this tutorial, we will demonstrate how to use Jenkins to create an automated chaos gauntlet. This will be done using Jenkins Pipelines and Stages to inject a controlled amount of failure with Gremlin. We then add a final stage that allows you to optionally halt the attack from the pipeline, rather than having to wait for the full duration of the attack.
In this step, you’ll enter your gremlin-api-key credentials into the Jenkins instance.
Open the following in your browser:
From Jenkins > Credentials > System > Global credentials (unrestricted), set the Kind and Scope as shown here. Then…
In this tutorial, we will demonstrate how to use Drone to create an automated chaos gauntlet for our services and applications. This will be done using Drone to inject a controlled amount of failure with Gremlin while building new services. We’ll then also share how to use Gremlin to automatically run a Chaos Guantlet when deploying new services to Staging and Production environments.
Gremlin can be easily integrated with Drone using the Gremlin API.
Before you begin this tutorial, you’ll need the following:
In this step, you’ll choose a repository. For example…
This collection of short videos demonstrate how to run the following attacks in 60 seconds. This is a quick and simple way to share the why, how, and what of these various Chaos Engineering attacks.
Turn your sound on 🔊
Questions? Join gremlin.com/slack and ask in the #questions channel.
In this tutorial, we’ll be using Gremlin to run a blackhole attack that blocks an external address. In this example, we’ll block access to example.com.
First, we’ll launch our container, a simple ubuntu container:
sudo docker run -l service=curl --name curl -d nginx
Obtain the container id, in this example it is 30d570653c9f
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
30d570653c9f nginx “/docker-entrypoint.…” 22 seconds ago Up 21 seconds 80/tcp curl
Now we’ll hop in the container to run curl and confirm the blackhole is working as expected:
docker exec -it 30d570653c9f /bin/bash
Curl to get example.com