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

Building, testing, and deploying on AWS Lambda


We described the basic uses of Zappa with some basic commands in the previous chapter. Using these commands, we can build the deployment package, deploy the application, and perform other basic operations.

Once you have the zappa_settings.json file in place with all of the valid attributes, you can start the deployment process by using the zappa deploy <stage_name> command. As per our zappa_settings.json file, we have one stage defined as dev, so, to start the deployment, we can run the deploy command, as shown in the following code:

$ zappa deploy dev

The following screenshot describes the deployment flow:

Once the Zappa deployment is complete, it generates a random API gateway endpoint. Zappa configures AWS Lambda with API Gateway based on the zappa_settings.json file.

 

Now, the Flask application is available through the previously generated API. Let's test it to see the Hello World! response from the Flask application. You can hit the URL...