DevOps

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.

You can use Macintosh, Windows, or Linux computer as a workstation. I have separated the Macintosh, Windows, and Linux development tool setup, but I will try to keep the rest of the lessons together indicating the differences between the Mac and Windows commands.

For beginners

Recommended utilities

Advanced topics

Multiple application versions on your workstation

Chef script development

Git

Package Managers

Windows

Continuous Integration, Continuous Delivery (CI/CD)

Cloud Providers

Cloud Management Platforms (CMP)

Monitoring and reporting

Databases

Web Servers

Networks

Workstations

Docker Containers

Virtual Machines on the workstation

Shell scripting

Security

Backups

Remote Desktop Access (RDP)

Operating Systems

Miscellaneous

User Interfaces

Document processing