12 Factor Applications with Docker and Go (Engineer)
This book is 95% complete
Last updated on 2018-02-24
About the Book
Using Docker to solve scaling issues, ideally before they occur. Scale your Go service from the start!
- About me
- Who is this book for?
- How should I study it?
- Linux and Docker
- Additional requirements
I. Codebase - One codebase tracked in revision control, many deploys
- Multiple deploys
- Structuring your code
- Improving deployments
II. Dependencies - Explicitly declare and isolate dependencies
- Caveats about vendoring
- System dependencies
III. Config - Store config in the environment
IV. Backing services - Treat backing services as attached resources
- Data resources
- Example backing services
V. Build, release, run - Strictly separate build and run stages
- Building Go applications
- Building Docker images
- Continuous integration with Codeship
VI. Processes - Execute the app as one or more stateless processes
- Data caching
- Backing service: Running a highly available Redis instance
- Realistic example of a stateless application
VII. Port binding - Export services via port binding
- The none network
- The bridge network
- Custom bridge network
- Multi-host network
- Host networking
- Exposing your service ports
- Debugging docker network connectivity
- Using your own DNS
- Sending e-mails from docker
VIII. Concurrency - Scale out via the process model
- Basic process management
- Advanced process management
- Docker swarm
- Scaling our service with Docker Swarm
- Rolling updates for our service
- Scaling to a 1000 containers!
IX. Disposability - Maximize robustness with fast startup and graceful shutdown
- Disposing of containers
- Docker Chaos Monkey
- Health checks
X. Dev/prod parity - Keep development, staging, and production as similar as possible
- It worked on my machine
- Upgrades and testing
- Many moving parts
XI. Logs - Treat logs as event streams
- A note on backing services
- Logging Docker to Papertrail
- Logging as a backing service
XII. Admin processes - Run admin/management tasks as one-off processes
- Running backups
- Console access to your containers
- Orchestrating your management tasks
The Leanpub 45-day 100% Happiness Guarantee
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
Free Updates. Free App. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets), MOBI (for Kindle) and in the free Leanpub App (for Mac, Windows, iOS and Android). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.