Hear about how folks are running their web apps in production. We'll cover tech choices, why they chose them, lessons learned and more.
Divio Is a Cloud Platform for Managing Web Applications
In this episode of Running in Production, Daniele Procida walks us through their cloud platform to manage web apps using Django. 10s of millions of web requests flow through their client’s applications. It’s running on multiple cloud providers and has been up and running since 2015.
Daniele covers the importance of a stable platform when you’re dealing with customers who have their own customers, writing upwards of a million lines of Python across their services, being vendor neutral with hosting infrastructure and more.
Topics Include
- 3:08 – Publicly available since 2015 but it was in development for years beforehand
- 8:43 – Motivation for using Django and Python
- 11:08 – The control panel is mainly a Django app with a React front-end
- 13:54 – Nearly everything is written in Python and Django (over 500k lines of code)
- 19:25 – Using Django Rest Framework and a few other Python libraries
- 24:24 – Using Docker, Celery and PostgreSQL
- 30:04 – Uncovering a bit more on how Divio works and what it supplies developers
- 33:39 – Web servers, custom load balancers and SSL certificates with Let’s Encrypt
- 37:13 – Being vendor neutral when it comes to their hosting infrastructure
- 40:16 – How their server infrastructure is set up
- 46:10 – Using various automation tools such as Ansible, Helm and Terraform
- 50:58 – Deploying to a large amount of servers with a rolling restart strategy
- 53:18 – The deploy process when they roll out new features to their platform
- 1:02:09 – Database / user media backups along with alerting and monitoring
- 1:06:59 – Using Stripe for processing payments
- 1:10:23 – Best tips? Reduce miscommunication and try to use your own services if you can
- 1:13:44 – Check out https://www.divio.com/
Links
📄 References ⚙️ Tech Stack- django →
- python →
- react →
- ansible →
- aws →
- azure →
- cloudflare →
- docker →
- docker →
- gcp →
- gitlab-ci →
- kubernetes →
- lets-encrypt →
- nginx →
- pagerduty →
- postgres →
- redis →
- stripe →
- terraform →
- https://github.com/encode/django-rest-framework
- https://hypothesis.readthedocs.io/en/latest/
- https://github.com/boto/boto
- https://github.com/celery/celery
Support the Show
This episode does not have a sponsor and this podcast is a labor of love. If you want to support the show, the best way to do it is to purchase one of my courses or suggest one to a friend.
- Dive into Docker is a video course that takes you from not knowing what Docker is to being able to confidently use Docker and Docker Compose for your own apps. Long gone are the days of "but it works on my machine!". A bunch of follow along labs are included.
- Build a SAAS App with Flask is a video course where we build a real world SAAS app that accepts payments, has a custom admin, includes high test coverage and goes over how to implement and apply 50+ common web app features. There's over 20+ hours of video.