Surviving Chaos
  • Surviving Chaos
  • A Brief Intoduction to Chaos
    • Principles of Chaos
    • Kinds of Failure
    • Goals and Non-goals
  • Infrastructure Familiarization
    • Service Resilience
    • Monitoring and Logging
    • Generating Work & Data
  • Assembling Your Kit
    • Using a Cloud Node
    • Using a Private Node
  • A Menagerie of Tools
    • 1000 Ways to Die (`kill`)
    • Failing the Network (`ip`)
    • Controlling Traffic (`tc`)
    • Isolating and Parititioning (`iptables`)
    • A Fuzzy Schedule (`nmz`)
    • A Disfunctional Docker (`pumba`)
  • Failure as a Feature
  • Continous Chaos (CI/CD)
    • Example: Schrödinger
  • Resources / References
Powered by GitBook
On this page
  • Who is this for?
  • What do I need to know?
  • What's Inside?

Surviving Chaos

Psst! This guide is still in progress, you're welcome to help with improvements, or just enjoy!

This repository contains the guide and content for the "Surviving Chaos: A Field Guide" workshop hosted at Linux Foundation Open Source Summit 2018 in Vancouver, BC, Canada on August 29-31, 2018.

Who is this for?

This workshop is targeted towards people who want to:

  • Hunt the most obscure and unexpected bugs.

  • Improve their testing.

  • Build more robust services.

  • Find things they overlooked.

  • Deploy with more confidence.

  • Develop a deeper understanding of the sinister ways computers can fail.

  • Sleep soundly at night, without worrying about getting a page.

What do I need to know?

In order to get the most from this workshop you should be:

  • Comfortable navigating a machine via console.

  • Able to understand and work with simple bash scripts.

  • Proficient with editing text on the console. (With nvim, emacs, or whatever).

  • Familiar with some supervisor. (We'll use systemd)

  • Able to write code in some language. (We'll be using some simple Rust for our demos)

  • Not afraid to kill processes.

Not any of these things? You can still try, but you will need to access significant supplementary materials.

What's Inside?

  • This guide.

  • A copy of the reveal.js slides.

  • A terraform script to provision a laboratory for you.

  • A provisioning bash script for Ubuntu 18.04 that sets up all required tools.

  • Demo programs to use in your exploration.

NextA Brief Intoduction to Chaos

Last updated 6 years ago