EuroPython 2016

Deploying Django at scale: what happens inside the cloud

Speaker(s) Jonathan Stoppani

Aldryn is used daily to execute hundreds of Django based website-deployments. It consists of a control panel to help backend developers, frontend developers, project managers and content-editors collaborate to successfully build and maintain web apps, coupled to a scalable and highly available Docker-based build and deployment infrastructure currently used to host more than 6000 django-cms based websites.

While the control panel is oriented mainly towards the Django/django-CMS match, the structure of the single projects and the deployment infrastructure allow to continuously deploy, upgrade and scale any type of HTTP service.

The goal of this talk is to share some insights into the various components that intervene to deploy a Django project from its git repository to the cloud.

This talk will discuss some of the problems we faced, and the solutions we adopted, to deploy Django projects at scale to the cloud. I’ll share the lessons we learned and present the tools we built to reach our goal. I’ll be covering topics like: - Using a PyPI proxy to both build platform-specific wheels, on order to both to withstand PyPI downtimes and cut on deployment times; - Dynamic traffic re-routing for zero-downtime deployments and horizontal scaling; - Massive TLS termination on a custom built Twisted/PyPy reverse proxy; - Live server and datacenter migrations for both apps and their data.

Do you have some questions on this talk?

New comment