
Episode 272
Michael Kennedy: Managing Your Own Python Infrastructure
The Real Python Podcast · Real Python
October 31, 20251h 20m
Audio is streamed directly from the publisher (dts.podtrac.com) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.
Show Notes
<p>How do you deploy your Python application without getting locked into an expensive cloud-based service? This week on the show, Michael Kennedy from the Talk Python podcast returns to discuss his new book, “Talk Python in Production.”</p>
<p>Michael runs multiple Python applications online, including a training site, blog, and two podcasts. While searching for the best solution for hosting his business, he documented his findings in a book. We talk about containerizing Python applications, generating static sites, preparing for traffic spikes, and avoiding cloud service lock-in.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/speed-python-concurrency/">Speed Up Python With Concurrency</a></p>
<p>Learn what concurrency means in Python and why you might want to use it. You’ll see a simple, non-concurrent approach and then look into why you’d want threading, asyncio, or multiprocessing.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:01:28 – Welcome back!</li>
<li>00:03:05 – Is this your first book?</li>
<li>00:04:13 – A book that reads like a blog</li>
<li>00:06:15 – Incentives to keep you locked in</li>
<li>00:09:20 – Following the journey of the Talk Python sites</li>
<li>00:11:47 – Audio reader briefs</li>
<li>00:15:19 – Discussing Dev Ops as a topic</li>
<li>00:18:31 – Background of developing for the web</li>
<li>00:20:14 – Stack-Native vs Cloud-Native</li>
<li>00:24:40 – Using Quart web framework</li>
<li>00:25:50 – Embracing Docker</li>
<li>00:32:39 – Sharing a single powerful machine allows for individual peaks</li>
<li>00:37:04 – Video Course Spotlight</li>
<li>00:38:30 – Minimal cloud lock-in</li>
<li>00:40:04 – Using OrbStack for local builds and testing</li>
<li>00:42:07 – Coolify as a Docker host</li>
<li>00:47:14 – Moving away from Google analytics and a GDPR rant</li>
<li>00:50:43 – Diving deep into web tech of ngnix, SSL, and CDNs</li>
<li>00:54:33 – Talking about the prices for hosting</li>
<li>00:59:09 – Creating static sites</li>
<li>01:06:22 – Invitation to come back to discuss AI and agents</li>
<li>01:10:06 – What are you excited about in the world of Python?</li>
<li>01:16:19 – What do you want to learn next?</li>
<li>01:17:34 – What’s the best way to follow your work online?</li>
<li>01:19:40 – Thanks and goodbye</li>
</ul>
<p>Links:</p>
<ul>
<li><a href="https://talkpython.fm/books/python-in-production">Talk Python in Production Book</a></li>
<li><a href="https://quart.palletsprojects.com/en/latest/index.html">Quart documentation: Documentation</a></li>
<li><a href="https://www.docker.com/">Docker: Accelerated Container Application Development</a></li>
<li><a href="https://cloudnews.tech/south-korea-loses-its-government-cloud-after-a-fire-no-backups-or-recovery-plan/">South Korea Loses Its Government “Cloud” After a Fire: No Backups or Recovery Plan</a></li>
<li><a href="https://orbstack.dev/">OrbStack: Fast, light, simple Docker & Linux</a></li>
<li><a href="https://coolify.io/">Coolify</a></li>
<li><a href="https://blog.cara.app/blog/finances-and-future-of-cara">Finances & the Future of Cara: Artist Social & Portfolio Platform</a></li>
<li><a href="https://github.com/awesome-selfhosted/awesome-selfhosted">awesome-selfhosted: A list of Free Software network services and web applications which can be hosted on your own servers</a></li>
<li><a href="https://umami.is/">Umami: Modern analytics platform</a></li>
<li><a href="https://github.com/mikeckennedy/umami-python">umami-python: Umami Analytics Client for Python by Michael Kennedy</a></li>
<li><a href="https://gohugo.io/">Hugo: The world’s fastest framework for building websites</a></li>
<li><a href="https://github.com/mikeckennedy">mikeckennedy - Michael Kennedy: GitHub</a></li>
<li><a href="https://mkennedy.codes/">Michael Kennedy’s Thoughts on Technology</a></li>
<li><a href="https://mikeckennedy.gumroad.com/l/talk-python-in-production-book/3s9o1s3">Talk Python in Production Book - Link With Discount Code</a></li>
</ul>
<p>Michael’s Recommended Hosting Locations:</p>
<ul>
<li><a href="https://www.digitalocean.com/">DigitalOcean - Cloud Infrastructure for Developers</a></li>
<li><a href="https://www.hetzner.com/">Hetzner - Dedicated Server, Cloud & Hosting aus Deutschland</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/deploy-python-script-web-flask/">Deploy Your Python Script on the Web With Flask</a></li>
<li><a href="https://realpython.com/courses/speed-python-concurrency/">Speed Up Python With Concurrency</a></li>
<li><a href="https://realpython.com/courses/create-scalable-flask-web-app/">Creating a Scalable Flask Web Application From Scratch</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>