PLAY PODCASTS
Michael Kennedy: Managing Your Own Python Infrastructure
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, &ldquo;Talk Python in Production.&rdquo;</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&rsquo;ll see a simple, non-concurrent approach and then look into why you&rsquo;d want threading, asyncio, or multiprocessing.</p> </div> <p>Topics:</p> <ul> <li>00:00:00 &ndash; Introduction</li> <li>00:01:28 &ndash; Welcome back!</li> <li>00:03:05 &ndash; Is this your first book?</li> <li>00:04:13 &ndash; A book that reads like a blog</li> <li>00:06:15 &ndash; Incentives to keep you locked in</li> <li>00:09:20 &ndash; Following the journey of the Talk Python sites</li> <li>00:11:47 &ndash; Audio reader briefs</li> <li>00:15:19 &ndash; Discussing Dev Ops as a topic</li> <li>00:18:31 &ndash; Background of developing for the web</li> <li>00:20:14 &ndash; Stack-Native vs Cloud-Native</li> <li>00:24:40 &ndash; Using Quart web framework</li> <li>00:25:50 &ndash; Embracing Docker</li> <li>00:32:39 &ndash; Sharing a single powerful machine allows for individual peaks</li> <li>00:37:04 &ndash; Video Course Spotlight</li> <li>00:38:30 &ndash; Minimal cloud lock-in</li> <li>00:40:04 &ndash; Using OrbStack for local builds and testing</li> <li>00:42:07 &ndash; Coolify as a Docker host</li> <li>00:47:14 &ndash; Moving away from Google analytics and a GDPR rant</li> <li>00:50:43 &ndash; Diving deep into web tech of ngnix, SSL, and CDNs</li> <li>00:54:33 &ndash; Talking about the prices for hosting</li> <li>00:59:09 &ndash; Creating static sites</li> <li>01:06:22 &ndash; Invitation to come back to discuss AI and agents</li> <li>01:10:06 &ndash; What are you excited about in the world of Python?</li> <li>01:16:19 &ndash; What do you want to learn next?</li> <li>01:17:34 &ndash; What&rsquo;s the best way to follow your work online?</li> <li>01:19:40 &ndash; 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 &ldquo;Cloud&rdquo; After a Fire: No Backups or Recovery Plan</a></li> <li><a href="https://orbstack.dev/">OrbStack: Fast, light, simple Docker &amp; 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 &amp; the Future of Cara: Artist Social &amp; 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&rsquo;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&rsquo;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&rsquo;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 &amp; 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 &amp; join our community of Pythonistas</a></p>