Skip to Content
FastAPI
book

FastAPI

by Bill Lubanovic
November 2023
Intermediate to advanced
277 pages
4h 55m
English
O'Reilly Media, Inc.
Content preview from FastAPI

Chapter 13. Production

If builders built buildings the way programmers wrote programs, the first woodpecker that came along would destroy civilization.

Gerald Weinberg, computer scientist

Preview

You have an application running on your local machine, and now you’d like to share it. This chapter presents many scenarios on how to move your application to production, and keep it running correctly and efficiently. Because some of the details can be very detailed, in some cases I’ll refer to helpful external documents rather than stuffing them in here.

Deployment

All the code examples in this book so far have used a single instance of uvicorn running on localhost, port 8000. To handle lots of traffic, you want multiple servers, running on the multiple cores that modern hardware provides. You’ll also need something above these servers to do the following:

  • Keep them running (a supervisor)

  • Gather and feed external requests (a reverse proxy)

  • Return responses

  • Provide HTTPS termination (SSL decryption)

Multiple Workers

You’ve probably seen another Python server called Gunicorn. This can supervise multiple workers, but it’s a WSGI server, and FastAPI is based on ASGI. Luckily, there’s a special Uvicorn worker class that can be managed by Gunicorn.

Example 13-1 sets up these Uvicorn workers on localhost, port 8000 (this is adapted from the official documentation). The quotes protect the shell from any special interpretation.

Example 13-1. Use Gunicorn with Uvicorn workers ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Practical MLOps

Practical MLOps

Noah Gift, Alfredo Deza
FastAPI Cookbook

FastAPI Cookbook

Giunio De Luca
Learning Go

Learning Go

Jon Bodner

Publisher Resources

ISBN: 9781098135492Errata Page