Go and DevOps
Understand the structure and prerequisites for the course.
We'll cover the following
DevOps is a concept that has been floating around since the early 2000s. It is a popularization of an operations discipline that relies on programming skills with development psychology popularized by Agile. Many of today's DevOps shops used Python heavily in DevOps as C++ was too painful for many
But, Python came with more than compile-time and service-scaling issues. Simply moving to a new version of Python in the fleet might cause a service to stop working. The Python version run on Google machines would often get upgraded and expose bugs in your code that the previous version did not. Unlike a compiled binary, you could not just roll back to an old version.
Now, Go has become the de facto language for cloud orchestration and software in the larger world (from Kubernetes to Docker). Go comes with all the tools we need to make huge strides in the reliability of our tooling and ability to scale.
Because many of these cloud services are written in Go, their parts are available to us by accessing their packages for your own tooling needs. This can make writing tooling for the cloud an easier experience.
Prerequisites
This course is for anyone who would like to use Go to develop their own DevOps tooling or to integrate custom features with DevOps tools such as Kubernetes, GitHub Actions, HashiCorp Packer, and Terraform.
The primary audience for this course is those with some programming experience but not necessarily with Go. A basic understanding of command-line tools for any supported operating systems will be
required. It may also be helpful to have some DevOps experience.
Course structure
This course will be split into 15 sections, all of which are divided into 3 subsections. The course structure is depicted below: