DevOps engineering (Release engineering) is a relatively new profession. There is a very high demand for experienced DevOps engineers, because more and more large corporations want to migrate their data centers into the Cloud. In this series I will introduce you to the tools of the trade through the development of a Chef cookbook.
The tools of the DevOps engineers are new and most of them are in the active development phase with frequent releases. Some of the new versions have show stopping bugs in them, so it is a good idea to test all new versions of the tools before you uninstall the old one.
To work as a DevOps engineer you need a development environment with multiple tools. Luckily all of them are available for free and easy to set up.
- The Chef Development Kit to write and test your Chef cookbooks and recipes,
- Vagrant, the orchestrator, to contain the virtual machines to test the scripts,
- Virtual Box to launch the virtual machines,
- Chef needs Ruby to run,
- Git, the version control system.
You can do all development and testing on your workstation for free, but to see your scripts running in a real cloud, you can set up an account at a cloud provider. Amazon Web Services (AWS) offers a free tier where you can launch small server instances for free.
In this guide, I will use a Macintosh and a Windows computer as workstations. I have separated the Macintosh and Windows development tool setup, but I will try to keep the rest of the lessons together indicating the differences between the Mac and Windows commands.
- Part 1. (Mac) Install the DevOps development tools on Macintosh
- Part 1. (Win) Install the DevOps development tools on Windows
- Part 2. Set up the DevOps development environment
- Part 3. Working with AWS
- Part 4. Connect to the Chef server
- Part 5. Create an enterprise cookbook
- Part 6. Infrastructure as code
- Part 7. Launching production instances in the cloud
Multiple application versions on your workstation
Chef script development
- Generate a GUID in Chef with Ruby
- Chef custom resource is using the same property name as the called resource
Keeping secrets in Data Bags
Debugging Chef Cookbooks
Windows in Vagrant
- How to edit the GitHub README.md file
- Custom Git Status and Git Pull commands to work with all of your repositories
- How to enable SSH key access to a GitHub repository
Continuous Integration, Continuous Delivery (CI/CD)
Cloud Management Platforms (CMP)
Monitoring and reporting
- How to migrate the DevOps development environment to another workstation
- Minimum Windows workstation setup to work with Windows servers