- Daily Devops Tips
- Posts
- Golang For DevOps
Golang For DevOps
👋 Hi! I’m Bibin Wilson. In each edition, I share practical tips, guides, and the latest trends in DevOps and MLOps to make your day-to-day DevOps tasks more efficient. If someone forwarded this email to you, you can subscribe here to never miss out!
Coding has become a necessary skill for DevOps engineers. Either in interviews or projects, a good DevOps profile needs coding skills, especially in product companies.
In this edition, we will look at:
Golang for DevOps
DevOps/SRE Tooling with Golang
Write Once, Run Anywhere Concept
Golang Learning Resources
List of Golang DevOps Tasks to Try
Portal for DevOps Golang Jobs (Full-time & Remote)
Golang Stats & Case Studies
Lets get started.
Golang for DevOps
When we talk about programming or scripting for DevOps, the primary language that is most discussed is Python. This is because it is easy to get started with, and you can write many system scripts for automation needs.
However, if you look at the DevOps ecosystem, most of the popular tools we use today are built around Go.
Kubernetes, Terraform, Docker, Helm, Istio, and many other CNCF tools are written in Go.
Why? Speed, simplicity, and efficiency.
Go was designed to address Google's need for fast compilation (solving C++ build time issues), efficient concurrency (for large-scale distributed systems), and static binaries (for easier cloud deployments).
This made Go an excellent choice for cloud infrastructure, backend services, and distributed systems, which is why it became the language behind projects like Kubernetes, Docker, and Prometheus.
Also, many cloud-native projects are developed in Go, making it the preferred language for DevOps tooling.
Additionally, a large number of developers contribute to the ecosystem, leading to more libraries and packages for automation.
DevOps/SRE Tooling With Golang
As a DevOps Engineer or SRE, what can you build using Golang?
Golang’s standard library supports many common operations, such as handling HTTP requests, file I/O, JSON and YAML parsing, and more.
Since we often write scripts for day-to-day tasks, Golang is a great choice for building CLI tools and APIs.
Personally, I have developed a CLI tool in Golang to automate a repetitive task in a project.
You can also extend Kubernetes using Kubernetes Operators and build extensions, such as custom controllers and admission webhooks.
Additionally, you can create kubectl
plugins using Golang.
Overall, Go is great for backend systems, networking, and cloud-native applications. Because of this, you can use Golang for DevOps and Site Reliability Engineering to build tools and utilities, thanks to Go's performance and the CNCF tooling built around it.
Write Once, Run Anywhere (WORA)
Write once, run anywhere” (WORA) means that a program can be written once and executed on different platforms without needing modifications.
Go allows developers to compile code for different operating systems and architectures using environment variables (GOOS
and GOARCH
).
For example,
If you write a Go program on a Linux machine, you can compile it for Windows, macOS, or even ARM-based devices without having to rewrite the code.
Unlike Python or Java, which require interpreters or virtual machines (JVM) to run, Go compiles everything into a single binary.
This means you don’t need to install extra libraries or dependencies on the target system. Just copy the final Golang binary and run it.
This sort of makes Go tools easy to distribute, especially in cloud environments, CI/CD pipelines, and containerized applications.
Golang Learning Resources
So how do you get started with Golang?
Like any other programming language, you need to begin with the basics.
You can start with,
If you are looking for a structured course where you can read and try out Go in the same browser, you can check out the Educative Golang course.
Other than that, you will find O'Reilly books, many free YouTube videos, and Udemy courses to learn Golang.
Golang DevOps Tasks
Once you learn the basics, you need to build apps to strengthen your learning.
The more you build, the better you understand Golang (Concurrency with Goroutines, Error Handling, Structs and Interfaces, HTTP Servers and APIs etc).
You can try the following tasks related to DevOps. With AI you can easily understand and build it if you have the bacis string.
Build a CLI that pings services/endpoints and reports their status.
Develop a simplified command-line tool that performs common cloud operations
Create a utility that reads and validates YAML/JSON configuration files before deployemnt.
Develop a simple scheduler that runs tasks at specified intervals
Create an API that exposes system metrics like CPU, memory, and disk usage
Develop a utility that synchronizes files between directories or systems
Build a tool that generates traffic to test application performance
Create a program that parses log files and extracts useful information or statistics
Following are some kubernetes specific tasks.
Create a simple operator that manages a custom resource.
Build a webhook that validates or mutates Kubernetes resources before they're created or updated
Develop a controller that watches specific resources and takes actions when they change
Create a CLI tool that analyzes and visualizes RBAC permissions across your cluster, identifying overprivileged service accounts
Develop a tool that identifies unused service accounts and tokens that should be cleaned up.
Build a CLI that validates security contexts on pods and containers against your organization's security policies.
Portal for DevOps Golang Jobs
I found this interesting portal that lists all the Golang-related jobs.
Interestingly, there are many DevOps-based Golang requirements.
Check it out: golangprojects.com/golang-jobs/devops
Golang Stats & Case Studies
As per Go Developer Survey 2024, almost half of respondents (50%) deploy Go programs to Amazon Web Services followed by on prem servers.

Netflix adopted Go for parts of its infrastructure that needed extreme performance. By using Go, Netflix achieved the low-latency, high-concurrency service they required without sacrificing developer speed.
Cloudflare heavily relies on Go for building high-performance, scalable, and secure networking solutions. Many core Cloudflare services, such as their reverse proxy, DDoS protection, and firewall rules, are written in Go.
These are just a few examples. Companies like PayPal, Riot Games, Twitch, and Uber have similarly reported using Go to achieve scalable, reliable systems. You can read all the case studies here.
Wrapping Up!
I highly recommend DevOps engineers to focus on coding (Golang or Python) and start building tools or utilities.
Even if you don’t have the option to do that in a project, work on hobby projects or create open-source utilities.
It will help you in a great way. You can also contribute to open-source projects written in Go, like Kubernetes or related CNCF tools.
Reply