Description
You’re ready to launch your Python app. You want it to FLY of course. Static resources can be a huge portion of that equation. Leveraging a CDN could save you over 75% of your server load and make it way faster. This course with show you how in a step by step guide. It’s way easier than you think.
What students are saying
Let me say that your courses are tremendous and I am a huge fan. I had tried a few different online learning platforms (edx, datacamp), so when I found your Python Jumpstart, I decided to finally give a paid course a try. Your courses strike an excellent balance between hand-holding and DIY, and they suit my learning style perfectly.[…] I’m a lifetime customer. Thank you for the great content, I appreciate the work you’re doing.
— Josh
Source code and course GitHub repository
github.com/talkpython/fast-python-webapps-with-cdns
It’s not just server-side Python performance that matters
Building a high performance Python web app requires many key elements. First you likely focus on your Python code and making the database fast. But on my web page requests, that Python HTML response is a small, although important, portion. It’s common to have 30, 40, 50, or more requests per page. In production, the frequent guidance is to host these behind nginx or similar server. Often that is enough. But by bringing a CDN into the mix to globally replicate and localize all those requests can seriously improve the perceived speed of your app for a global user-base. But did you know that these static resources can put a massive load on your server too? This course will give you a step by step guide with live code demos on how to incorporate a CDN (Bunny CND specifically) with a Flask application. You will also see the before and after performance stats from Talk Python’s web infrastructure from last year’s Black Friday week of traffic.
What will you learn?
In this course, you will
See how CDNs work and interplay with your web application
Leverage the CDN to deliver globally-scaled, geo-replicated content
Use the CDN for your static content (images, css, javascript, etc.)
Avoid stale cache content while 100% caching static content on the CDN and clients
Host large, user-generated content (audio, video, documents, etc.)
Use storage zones to serve large content globally
Debug issues with CDN content at the CDN level, web app level, and browser level
Test user-percieved performance for your web app (full page loads, not just Python paths)
Replace Google fonts with GDPR / privacy friendly alternatives
And lots more
View the full course outline.
Who is this course for?
- For anyone who has or is building a Python-based we application and wants the best experience for their users.
As for prerequisites, we assume
- Basic familiarity with the Python programming language and core tools (e.g. pip)
- That you know how web applications work and are familiar with HTTP and HTML
- We do use Flask, but you don’t need a deep understanding of it to be successful
- The tools chosen and featured during this course are 100% free and most of them are open source or have free and solid alternatives.
Concepts backed by concise visuals
While exploring a topic interactively with demos and live code is very engaging, it can lose the forest for the trees. That’s why when we hit a new topic, we stop and discuss it with concise and clear visuals.
Here’s an animation presenting the multiple levels of caching that add performance but also introduce cache staleness. We then go on to present several options for avoiding stale cache content entirely without sacrificing performance.
Released 4/2023
Download Links
Direct Download
Python Web Apps that Fly with CDNs Course.zip (730.6 MB) | Mirror