A chaos engineering platform for Microsoft Azure

Proofdock’s Chaos Engineering Platform for Azure and Azure DevOps

Proofdock.io
Proofdock
3 min readJun 2, 2020

--

Growth of complexity

Distributed software architecture has allowed us to build systems that we couldn’t have dreamt of before. By splitting our monolithic system into loosely coupled services, we have gained flexibility and opportunity to work on parts of a big system without even knowing the rest of it. We have removed a single point of failure but introduced new types of failures and challenges that did not exist before.

  • How does the service that you depend on behave in case of failure?
  • How does your service behave in case of connection issues to the databases, file shares or other services?
  • How does your system affect other services in case of failure?

The knowledge about your system may allow you to answer these questions. You will have to assume that all the rules that your organization had set up were followed during the development. You can’t, however, guarantee that your answers are right without disrupting a part of your system, and verifying whether it behaves as expected.

Birth of chaos engineering

The technique of fault injection dates back to the 1970s. It was used primarily for injecting failures at hardware level, in an attempt to simulate hardware failures within a system. It was subsequently extended to software systems in the form of memory, CPU or hard drive fault simulation, as well as interruption of program execution.

This topic has recently become important in distributed software architecture. One of the first companies that picked up on it was Netflix with its ChaosMonkey. The conundrum, however, is that their solutions are specific to their needs and cannot simply be extrapolated to other systems, with their own architecture and level of complexity. This has in turn left a niche for a simple yet versatile chaos engineering platform that could appeal to a wider audience.

The Proofdock Chaos Engineering Platform for Microsoft Azure

The Proofdock team consists of a couple of software engineering enthusiasts who make software systems better by breaking them. Our team is even more thrilled to bring the concept of chaos engineering closer to you. Our goal is crystal clear: help you, fellow software engineers, practice chaos. The main goals of the Proofdock Chaos Engineering Platform are:

  1. Seamless integration: We don’t want to introduce yet another site dedicated to management of your chaos experiments. Why not stay in the Azure DevOps space? In comparison to disintegrated portal solutions, Proofdock’s Chaos Engineering Platform integrates neatless in Azure DevOps itself.
  2. Automate with Azure DevOps Pipelines: Practice chaos engineering with the tools you are already familiar with and love using. Minimize learning expenses. How does running chaos experiments using Azure DevOps Pipeline sound to you?
  3. Agent-less: Proofdock has a focus on Microsoft Azure. Proofdock leverages the Azure REST API while performing disruptive actions — without installing agents in your environment.
  4. Data protection: Originating from the European Union, we’re taking data protection very seriously. Don’t provide us with any secrets or access tokens to your environment. Chaos experiments are executed on the hosted DevOps agent or your local machine. We only expect that your chaos experiment is stored in a Git repository, that is, at your place and not ours.
  5. Stick to standards: Standards are good, when adhered to. In the jungle out there, a bunch of people have already invested a lot of time and energy in chaos engineering. We aren’t here to create a new standard, therefore we’re following in the footsteps of Chaos Toolkit and the Chaos Open API.

What next?

We’re coming up with a series of blog posts and elaborate on how you can practice chaos engineering. Learn how to use it and improve your system reliability.

Who we are

We are Proofdock, a software tech company located in Germany helping engineers build more resilient and robust software products. Check out the Chaos Engineering Platform for Microsoft Azure DevOps and our homepage.

--

--