Build and deploy AWS lambda functions with python

By Carlos Rosão

Elevator Pitch

Serverless is one of the biggest buzzwords of the last few years, so in this workshop we’ll do a deep dive in this matter and understand how easy it is to create, test and deploy lambda functions with python in AWS.

Description

In this workshop we’ll do a deep dive in the serverless world by learning how to create, test and deploy lambda functions to AWS. We’ll also understand what serverless really means, the different AWS services that are needed to make a lambda function work and compare different serverless frameworks. The goal is to have a general overview of what this area comprises and a practical understanding of how to make use of it in the day to day job.

Agenda * Aws account creation, and aws-cli installation * What does it mean to be serverless? * Introduction to chalice * Build an hello world lambda function (and test it) * Deploy the lambda function * More complex lambda functions * What is needed to create a rest api using lambda functions? * How to trigger lambda functions by events * Compare chalice with other similar frameworks * Introduction to CI/CD for lambda functions * When should we use lambda functions? * Ending remarks

Notes

The idea for this workshop is to give people hands on experience with lambda functions in AWS (it can easily be extended to other cloud providers) using python.

The technical requirements for the workshop are a laptop with python3 installed, basic knowledge of virtual environment and how to install python packages. An aws account is something that is required, but at the beginning of the workshop I’ll teach people how to create a free AWS account and how to configure the laptop to use it. I’ve worked with lambda functions using python in the past 2-3 years by creating data pipelines for clients in different countries (Switzerland, US and Portugal), be it as http apis or triggered by events (a database change, for instance), so I have a solid knowledge in this area that helps me to be able to explain the concepts clearly.