ARC DevOps Hour
2025-12-11
Go’s standard library includes everything you need1:
os, io, fmtlog, log/slognet/httpdatabase/sqlencoding/json, encoding/xml, encoding/csverror is just another typeGo has excellent performance right out of the box. By design, there are no knobs or levers that you can use to squeeze more performance out of Go
Go has excellent performance right out of the box. By design, there are no knobs or levers that you can use to squeeze more performance out of Go
Typical image sizes of an API written in Python (with Flask) or Go:
| Image | Base | Final Size | Reduction |
|---|---|---|---|
python-api |
python:3.14-slim | ~160MB | baseline |
go-api |
golang:1.25 | ~950MB | +9x larger (includes runtime) |
go-api-multistage |
scratch | ~8MB | 20x smaller |
go before a function callA non-concurrent example
func checkHealth(url string, results *[]string)
func main() {
services := []string{"http://api1.com", "http://api2.com", "http://api3.com"}
results := make([]string, 0, len(services))
for _, service := range services {
checkHealth(service, &results) // Run health checks sequentially
}
for _, res := range results {
fmt.Println(res)
}
}Making it concurrent
func checkHealth(url string, results chan<- string)
func main() {
services := []string{"http://api1.com", "http://api2.com", "http://api3.com"}
results := make(chan string, len(services))
for _, service := range services {
go checkHealth(service, results) // Run health checks concurrently
}
for range services {
fmt.Println(<-results) // Collect results
}
}Making it concurrent
func checkHealth(url string, results chan<- string)
func main() {
services := []string{"http://api1.com", "http://api2.com", "http://api3.com"}
results := make(chan string, len(services))
for _, service := range services {
go checkHealth(service, results)
}
for range services {
fmt.Println(<-results)
}
}Books:
More code examples available at https://github.com/milanmlft/talks/tree/main/2025-12-11-DevOpsHour-Go/examples
Go: Your New Go-To DevOps Language | https://milanmlft.github.io/talks/