Best Practices for Production Environments
summary
SoundCloud runs Go in production for over two years across about half a dozen teams and a dozen or so Go developers, builds services like bazooka and a new stream backend to replace Cassandra, and ships a homegrown Telemetry system and Prometheus integration. Operations use a single GOPATH, gofmt, package flag for env-derived config, plain log package and a pull-based metrics model. Tests favor table-driven testing and reflect.DeepEqual, vendoring uses subtrees, builds use Makefiles and a Heroku-like push/scale workflow.
AI-written summary · about
chapters (12)
- 0:00SoundCloud and Go adoption
- 3:33Go best practices evolution
- 4:16Go development environments
- 5:40Go repository structure
- 7:04Code formatting guidelines
- 9:12Configuration management
- 11:17Logging and telemetry
- 14:26Testing workflows
- 19:44Dependency management
- 23:58Building Go services
- 26:47Service deployment types
- 27:50Go's structural simplicity
related talks
37mBest Practices for Cloud-Native Go Services
47mUsing Go in DevOps
46mSimplifying Scalable Cloud Application Development with Go
30mHow Go Helped Accelerate Software Delivery at the BBC
37m"Using Golang for Platform Engineering"
13mDevOps automation with Go
31mGo From Dev to Prod
30mBuilding Cloud Native applications with Go
