Using Go in DevOps
Looking at recent observability and operations tools, many are written in Go like Docker, Kubernetes or Prometheus. But why Go? Natalie Pistunovich explains in this DevOpsCon session.
Go is not a language traditionally used in SysOps. However, as SysOps transforms to DevOps and systems complexity keeps increasing, the need for scalability is increasing as well.
Scalable systems need generalized support, less scripting, and more software development, ideally using a cross-platform language that supports concurrency and parallelism. This is a great time to refresh the toolbox. Looking at recent observability and operations tools, many are written in Go: Docker, Kubernetes, Prometheus, CoreOS, Istio, Grafana, Jaeger, Moby, etc.
In this talk, Natalie Pistunovich goes over the general characteristics of the language, when its use makes sense and what features make it a good choice, e.g. type safety, clear syntax designed for concurrency, built-in support for parallelism, and the built-in cross-platform and cross-architecture support that doesn’t require dependencies management.