Book Image

Building Serverless Python Web Services with Zappa

By : Abdulwahid Abdulhaque Barguzar
Book Image

Building Serverless Python Web Services with Zappa

By: Abdulwahid Abdulhaque Barguzar

Overview of this book

Serverless applications are becoming very popular these days, not just because they save developers the trouble of managing the servers, but also because they provide several other benefits such as cutting heavy costs and improving the overall performance of the application. This book will help you build serverless applications in a quick and efficient way. We begin with an introduction to AWS and the API gateway, the environment for serverless development, and Zappa. We then look at building, testing, and deploying apps in AWS with three different frameworks--Flask, Django, and Pyramid. Setting up a custom domain along with SSL certificates and configuring them with Zappa is also covered. A few advanced Zappa settings are also covered along with securing Zappa with AWS VPC. By the end of the book you will have mastered using three frameworks to build robust and cost-efficient serverless apps in Python.
Table of Contents (20 chapters)
Title Page
Dedication
Packt Upsell
Contributors
Preface
Index

Enabling secure endpoints on API Gateway


Securing API access is an essential criterion. You can limit and restrict the access for your customers who are going to consume the API. Amazon API Gateway does support several mechanisms to secure, limit, and restrict API uses. This will help to maintain the API usages as per your customer base. The following are three types of implementations that are supported by API Gateway:

  • API key
  • IAM policy
  • API Gateway Lambda authorizer

Let's look at each implementation in more detail.

 

 

Enabling the API Key

As we described in Chapter 1Amazon Web Services for Serverless, regarding Zappa's deployment workflow, where Zappa configures the API Gateway to invoke the AWS Lambda with a proxy pass mechanism, this creates an API on the API Gateway interface. Each API supports various stages. In our case, we have created a dev stage while deploying the application. Therefore, the following screenshot shows the state of the API Gateway console:

API Gateway supports API keys...