AWS Lambda for Python Developers

A short course on AWS Lambda for Python Developers

Pre-requisites

  • Beginner skills in Python (you know what list and dicts are)
  • AWS Account
  • Github Account
  • Desire to learn :)

Let's Go!!

Why Python

There's a lot of content on AWS Lambda out there in the wild wild west of the internet -- but a lot of it is focused on Node & Javascript, with a very small percentage focused on Python, even smaller for other languages like Java, Rust and Ruby -- but honestly nobody cares about them anyway.

This is frustrating, because while Node.JS was the first runtime to be supported when Lambda launched in 2014, Python support came just 1 year later, and we've now had 5 glorious years of Python support in Lambda -- so it's high time it gets some attention.

Python is pretty popular in AWS, the aws-cli is written in Python, more projects on AWSLabs are written in Python then are in Java and Javascript combined!!

So what gives? Why isn't Python more popular in Lambda?

Maybe a one year head-start for something as game-changing as lambda creates a long-tail effect that last years. And, while many developers look at Javascript with derision -- it really is a slick and cool language.

But the real reason is this concept of 'Full Stack Developer', having developers being able to code front-end and back-ends is an efficient approach for teams of any size, and from a developers perspective learning just one language to do it in (Javascript), makes an enourmous amount of sense.

That doesn't mean Python isn't suited for Lambda -- it just means Javascript will always be the more popular choice for certain workloads. But as Lambda grows to become more than just an API endpoint, it enters into the world of scripting, a domain that Python historically excelled at.

So if you have existing Python knowledge and want to code in Lambda, without learning a whole new language, this is written for you.

Philosophy

The book has a few 'philosophical' approaches as well:

  • We use GitHub actions to deploy our code to AWS, this eliminates frustrating installations of these tools on your local machine. All you need on your machine is a browser.
  • We teach one core concept per chapter -- that's why we have many. I find short, concise and focused chapters to be best reading experience.
  • We will try to ensure each chapter is independent -- therefore you can skip through chapters without taking them in order. But this is only aspirational -- let's see!
  • To ensure code snippets in the book are readable -- code snippets are limited to 88 character long lines, with a maximum of 20 lines per snippet.
  • This book is written by 'me' -- hence my attitude, bias, and even lame jokes will flow out. It's meant to add flavour to the experience. I hope as a result of this, reading the book will be fun for you, if it doesn't -- well too bad!