The Quest for the Fastest Deployment Time
summary
Starts at 28s with a simple Docker build; vendoring drops it to ~12s local and ~44s remote, Docker layer-caching to ~12s/40s. Adding Go build flags trims binary size; using Go compiler cache helps locally but hurts remote (large many-file IO). Keeping a container alive and using live sync plus compile-in-place (enter) yields ~2.0s local and ~2.5s remote. Compiling locally and syncing the binary gives ~1.8s local but ~9.9s remote; compressing the binary with UPX cuts that remote time to ~6s. Tradeoffs: CPU/memory and network bandwidth.
AI-written summary · about
chapters (18)
- 0:00Introduction to fastest deployment
- 2:29Why CI shouldn’t drive development
- 3:53Use MDX tools for automation
- 4:55Benchmark setup explained
- 9:29Basic deployment baseline
- 10:13Optimizing with vendoring
- 11:39Leveraging Docker layer caching
- 13:02Removing debug artifacts
- 15:50Compiler cache benefits
- 18:40Challenges with compiler cache
- 19:23Hot reloading in containers
- 21:28Achieving two-second feedback
- 22:09Trade-offs of hot reloading
- 23:34Impact of limited resources
- 23:55Local compile and sync binary
- 25:39Final remote cluster results
- 27:44Choosing the right approach
- 29:08Further optimizations and resources
related talks
49mThe Quest for the Fastest Deployment Time
27mOptimizing CI/CD Pipelines for Faster Time to Market
05m3 Weird Tricks to Make Docker Builds Go Vroom
50mBuilding on Key – Keeping your Actions and Remote Executions in Tune + Q&A
32mBoost your Cloud Foundry Edit-Build-Deploy-Test-Debug Speed!
54mHowto: Options Galore to Get from Source Code to Container
24mSpeeding up Your Docker Image Build
46mWrite Once, Run Anywhere? Building Perfect Docker Images for Java Apps
