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 a Python web service using Zappa


We are going to create a simple hello world program as a microservice using Python's Bottle framework. Let's follow some basic steps to configure a small project using the Bottle framework:

  1. First, we will create a new project directory named lambda_bottle_poc:
    $ mkdir lambda_bottle_poc
  2. Let's create a virtual environment inside the lambda_bottle_poc directory:
    $ virtualenv env -p python3.6
  3. Here is the basic hello world program using the Bottle framework:

Now it's time to deploy the program as serverless on AWS Lambda and expose the /hello API via API Gateway. In the previous chapter, we described the manual process to deploy the Python application, using AWS console and AWS CLI, which was a really big challenge.

But with the help of Zappa, all manual processes of the AWS console and AWS CLI are automated and provides a rapid process to deploy and maintain your application in a serverless environment.

Building the deployment package...