Python Web Apps that Fly with CDNs Transcripts
Chapter: Integrating Static Content
Lecture: Local is always fast
0:00 When we just ran that app, I bet it felt super zippy and really fast. You know why?
0:06 Because local is always fast. It doesn't really get much faster than I need to download that image
0:13 So let me just read it right off of disk basically or run it over local loop back on the network. It's always fast and
0:20 We're not concerned about using a CDN to make local code fast
0:25 we're trying to use the CDN to make the stuff at the far edges of the globe compared to our
0:31 server but not our users, we wouldn't make that fast. And so we need to do something other than
0:37 run it locally in order to actually test that. Now we could go and set up an actual web server
0:44 topology in one of our data centers. We could create a virtual machine or use a platform as
0:49 as a service and say, well, here's Nginx and here's g unicorn or micro wsgi, and we're
0:55 going to do all the trouble to set that up and manage a server. Now we're not going to
1:00 do that I'm going to show you something that will actually simulate the same thing and
1:04 is kind of properly slow, but not so slow that it's terrible. It'll be great. So we're
1:09 going to use this thing called ngrok. ngrok if you have not heard of this is a super cool
1:15 tool. What it does is you run your code locally, you never ever put it on the internet. So
1:21 for example, notice up here that it says localhost colon 10001. That's where our code is running.
1:30 But what it does is it creates a reverse SSH tunnel back to our system and it puts that
1:35 on the internet at cdn-talk.ngrok.io. We can share that. So we're going to share that with
1:43 our CDN so it can get to the static resources and stuff that it needs to sort of begin the process of seeding the whole network with them.
1:52 But this is great if you're just working on a project and you're doing some kind of meeting
1:56 with a client or your team members, you say, "Hey, look at it running on my machine."
2:01 And instead of just screen sharing, you just give them that link and you let them explore it live and you can even debug it.
2:07 I've used this to debug API interaction with our Talk Python mobile app and our backend API. So really, really cool.
2:16 And we're gonna use ngrok for setting up a slower public interface to our web app.