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 system needs 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 (Fraugster) talks about 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.