Learn everything you need to know to deploy Python web applications to a server. In each chapter, we'll perform a manual deployment to fully understand what we're doing, then automate each step with Ansible.
Throughout the book we'll take an example open source Python web application through a complete deployment on a virtual private server.
Note: this book is in the process of being completely rewritten. There is a beta copy of the first several chapters found in the "deploying_flask_web_apps.pdf" file that was uploaded on April 10, 2019. New drafts will be uploaded as work continues on the rewrite.
Full Stack Python Guide to Deployments Chapters
Chapter 1: Introduction
Chapter 2: Servers (DigitalOcean)
Chapter 3: Operating Systems (Ubuntu, Ansible)
Chapter 4: Web Servers (Nginx)
Chapter 5: Source control (Git)
Chapter 6: Databases (PostgreSQL and Redis)
Chapter 7: Application Dependencies (virtualenv, pip & PyPI)
Chapter 8: WSGI Servers (Gunicorn)
Chapter 9: Task Queues (Celery)
Chapter 10: Continuous Integration (Jenkins)
Chapter 11: What's Next?
Appendices: Technical Terms, Resources and App Code Tutorial
Check out the current full table of contents (pdf) that shows every section within each of the chapters.
Find out more about the book on deploypython.com.
What you'll receive
In this bundle you'll immediately receive PDF and EPUB versions of both the new Full Stack Python Guide to Deployments book and the Full Stack Python book. If you don't want the ebook version of Full Stack Python there's a less expensive option for $24 that just has the new book.
Frequently Asked Questions
How is this new book different from the Full Stack Python website?
The book is entirely new content with specific step-by-step instructions and explanations for performing deployments. When you read Full Stack Python you will understand deployments at a high level, but will not know the exact commands to, for example, configure an Nginx web server or set up continuous integration.
The Full Stack Python Guide to Deployments teaches you the specific commands and explains what you're doing so you can understand how deploying a web application works. Each chapter first shows you how to deploy a part of the infrastructure manually and then shows you how to automate the deployment with Fabric and Ansible so you can repeat them without re-typing the commands on subsequent deployments.
What skill level is this book intended for?
The book is intended for people who have some basic experience building Python web applications and have either never deployed their web apps or only deployed to a platform-as-a-service like Heroku. The book lays out every necessary step to perform the deployment and does not assume any pre-existing knowledge about purchasing and provisioning virtual infrastructure for hosting.
I just built my first Python web application and want to deploy it. Should I buy the book?
Yes. This book is written with you in mind and you will get a ton of value out of it.
I am very experienced with deploying Python web applications. Should I buy the book?
No. This book contains specific steps for deploying web apps intended for people who have limited or no experience with deployment.
Do I need to have already built an application for this to be useful?
No, you do not need to have built your own application to deploy. The book uses the open source Choose Your Own Adventure Presentations Flask web app as an example throughout each chapter. However, if you do already have an application you want to deploy, you will be able to follow along and use the book to deploy that app instead.
Will there be updates to the book?
Yes, there have several updates to the book since it was released in July 2015. The latest edition, uploaded on April 20, 2019, is a complete rewrite that uses the latest versions of Ubuntu, Ansible and other tools. This draft is not yet finished but will be updated regularly as the rewritten chapters are written.