As software developers, we have become increasingly dependent on cloud platforms and managed services in the last decade. Even so much so that we nearly forgot how to deploy our own applications. This reliance also affects our ability to understand the system and create reliable solutions, as system complexity continues to increase and software quality decreases.
Self-deployment for Software Developers addresses these knowledge gaps and helps you understand the system as a whole to let you deploy software on your own infrastructure. To achieve this, it starts with the basics and builds on them, showing real-world examples as you will encounter them in practice.
Across 750 pages and more than 40 code blocks (totaling more than 2,500 lines), you’ll progress from using essential Linux commands to creating a Dockerized application, deploying a Kubernetes cluster, extending PostgreSQL database, ultimately understanding each component of a multi-node cluster. This includes load balancing, TLS, CI/CD pipelines, and operational best practices.
It's designed for developers who:
- +Want a reference you can actually re-read, not just a tutorial to follow once
- +Are tired of paying for managed services you could run yourself for a fraction of the cost
- +Write backend or full-stack and want to own the whole deployment process
- +Have copy-pasted Kubernetes manifests without really understanding them
- +Prefer learning from real production scenarios over trivial examples

