Hear about how folks are running their web apps in production. We'll cover tech choices, why they chose them, lessons learned and more.
10Web Is an Automated WordPress Hosting Platform
In this episode of Running in Production, Tigran Nazaryan covers building a WordPress hosting platform with Laravel, Python and Node. It’s hosted on GCP for their clients’ sites and OVH for their core services. It’s been up and running as a hosting platform since late 2020.
Tigran talks about working with a team of 34 engineers, using both MongoDB and MySQL, creating a bunch of services with a very well thought out architecture while keeping it simple enough for it to all run on a developer’s laptop. He covered a lot of ground.
Topics Include
- 1:49 – Thousands of customers have their site hosted there
- 3:00 – A break down of their stack (there’s a lot going on)
- 4:38 – Motivation for choosing a mixture of programming languages and frameworks
- 7:10 – All of the services are independent and live in their own git repo
- 9:23 – The image optimizer service is written with Laravel
- 12:34 – MongoDB is quite heavily used by a number of services
- 15:40 – How to optimize CSS and JS bundles with many WordPress plugins
- 21:13 – The hosting service is written in Python with MySQL for a DB (hosted on GCP)
- 23:52 – It’s mostly Linux containers being used but Docker is used in some spots
- 25:11 – End customers don’t need to worry about things like nginx and SSL certs
- 30:30 – Other tech components that’s in their stack
- 32:00 – Payments are handled monthly or annually with Stripe and PayPal
- 33:12 – Client sites are hosted on Google Cloud and their services are on OVH
- 37:33 – Some of the servers are pretty beefy with 32GB of memory and 8+ CPU cores
- 39:56 – Developers can run everything on their own laptops
- 44:27 – The developers who build a service are responsible for deploying it
- 45:26 – The process to set up a server is documented and automated when possible
- 48:46 – Customers can access their hosted sites very quickly after signing up
- 51:13 – The deployment process from development to production
- 56:55 – Databases are backed up and core services are load balanced
- 59:04 – Keeping track of errors, monitoring and alerting
- 1:03:45 – Cloudflare is sitting in front of the core services
- 1:06:42 – Best tips? Really focus on getting a good architecture designed early on
- 1:10:36 – Check out https://10web.io/, Tigran’s LinkedIn and their Engineer blog
Links
📄 References ⚙️ Tech Stack- laravel →
- php →
- python →
- node →
- angularjs →
- cloudflare →
- docker →
- gcp →
- lets-encrypt →
- mongodb →
- mysql →
- nginx →
- ovh →
- paypal →
- redis →
- sentry →
- slack →
- stripe →
- ubuntu →
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.