Cloud-native essay dives into our infrastructure
TL;DR: I coined the term “stack-native” as the opposite of cloud-native. It means building your app with just enough full-stack building blocks to run reliably with minimal complexity. Talk Python runs 28 apps handling 9 million monthly requests on a single server for $65/month. An equivalent AWS setup would cost an estimated $1,226/month.
I just wrote an article entitled “Opposite of Cloud Native is?” It’s inspired by how we’re running things here at Talk Python:
There seems to be a lot of contention lately about whether you should go all-in on the cloud or to keep things as simple as possible. Those on the side of “build for the cloud” often frame this as cloud-native. By that, I believe they mean you should look at every single service offered by your cloud provider when architecting your application and generally the more services you pull together the better. … In this essay, I’ll define a new term for the modern opposite of cloud-native. I think you’ll find it appealing.
What is stack-native?
Stack-native is building your app with just enough full-stack building blocks to make it run reliably with minimal complexity. Instead of weaving together dozens of proprietary cloud services, you use well-understood open-source components. Docker, a Python web framework, a database, and a reverse proxy, all deployed on affordable VM infrastructure.
How Talk Python runs stack-native
Our entire infrastructure looks like this:
- Application framework: Flask (via Quart for async)
- Containerization: Docker and Docker Compose
- Web server: Granian (Rust-based WSGI/ASGI server)
- Reverse proxy: NGINX
- Database: MongoDB
- Hosting: Hetzner (single CPX41 server: 8 CPU, 16 GB RAM)
This handles 9 million monthly requests across 28 applications. Theoretically, the setup could handle 100+ million monthly requests.
Cloud-native vs stack-native: What does it cost?
| Stack-native (Hetzner) | Cloud-native (AWS estimate) | |
|---|---|---|
| Monthly cost | ~$65/month | ~$1,226/month |
| Vendor lock-in | Minimal | Significant |
| Migration effort | Low (standard Docker) | High (proprietary services) |
The full essay goes much deeper into the philosophy, the specific tradeoffs, and why “complexity merchants” push hyperscale cloud services. Read the full article at mkennedy.codes.