Book Image

Building Serverless Microservices in Python

By : Richard Takashi Freeman
Book Image

Building Serverless Microservices in Python

By: Richard Takashi Freeman

Overview of this book

Over the last few years, there has been a massive shift from monolithic architecture to microservices, thanks to their small and independent deployments that allow increased flexibility and agile delivery. Traditionally, virtual machines and containers were the principal mediums for deploying microservices, but they involved a lot of operational effort, configuration, and maintenance. More recently, serverless computing has gained popularity due to its built-in autoscaling abilities, reduced operational costs, and increased productivity. Building Serverless Microservices in Python begins by introducing you to serverless microservice structures. You will then learn how to create your first serverless data API and test your microservice. Moving on, you'll delve into data management and work with serverless patterns. Finally, the book introduces you to the importance of securing microservices. By the end of the book, you will have gained the skills you need to combine microservices with serverless computing, making their deployment much easier thanks to the cloud provider managing the servers and capacity planning.
Table of Contents (13 chapters)
Title Page

Strategies to reduce the API's latency

There are many strategies to reduce latency. We will look at two, both of which are set in the SAM template:

  • Increasing the Lambda RAM size: Currently, it is set to the minimum of 128 MB
  • Increasing the DynamoDB Read Capacity: Currently, it is set to the smallest value of 1 unit
What I really like about DynamoDB is that you can change the capacity per table, and change the write capacity independently of the read capacity. This is very interesting and cost-effective for me in read-heavy use cases, where I can set the read capacity higher than the write capacity. There are even options to have the table autoscale based on the read/write utilization, or have the capacity purely based on demand, where you pay per read/write request.

We will start by increasing the DynamoDB read capacity for the table from 1 to 500 read units (keep the write...