A kata is an exercise that a student repeats over and over to learn a skill. This concept started in martial arts, but has jumped over to development. There are hundreds of katas for dozens of languages.
But, there haven't been any katas for devops. Until now.
From all the definitions of devops, I like the following the best:
Devops is the development practice of writing applications whose business domain is operations.
These katas are a way of teaching devops engineers how to use the amazing tools that are out there while instilling the mindset of treating infrastructure as code.
Some of the katas have been designed with a specific order in mind and build upon each other. Where they do so, they will reference the appropriate katas. In all cases, you are welcome to start anywhere.
The ones without a link are planned. If you don't see one you'd like to have, please open an issue.
- Learn Vagrant
- Learn Chef
- Learn Puppet
- Learn Ansible
- Learn Salt
- Learn Packaging
- [Learn Packer] (https://github.com/greenfishbluefish/kata-vagrant-packer)
- Learn Terraform
- Multiple Machines
- Windows
- Build and manage Jenkins2
- Build and manage Kubernetes
- Build and manage ELK
Each of the katas has a very extensive README explaining:
- What you need to install.
- The steps you will take to see the problem(s) to solve.
- What you should expect to come away with.
Each kata also has a test suite already written and instructions on how to run it. The primary goal of the kata is to make the test suite pass.
Every file provided in the kata has extensive comments explaining every concept and, in most cases, each of the lines. The explanations include links to more documentation.