Serverless on AWS Lambda: A Comprehensive Comparison Of Approaches (Serverless Framework vs SAM vs Terraform vs CloudFormation)

When it comes to working with Serverless and AWS Lambda there are many different tools and approaches to choose from. You may have heard about a few already and might be wondering about the differences. To be quite frank with you—there were some aspects I wasn’t event totally sure of myself.

Working with Serverless requires overcoming a few obstacles: How to run your functions locally? How to create your infrastructure? How to deploy your applications? Today we’ll take a look at five main serverless approaches that attempt to help with these obstacles: manually configuring, using Serverless Framework, Terraform, CloudFormation, and SAM.

By the end of this article you should understand what the main approaches to Serverless are and when to consider using them. 

3 Simple Serverless Beginner Projects Ideas

Are you looking to learn Serverless but need a little help in where to start? One of the best ways to get your head around a new technology is to dive in and build some example projects. But what are some nice and simple serverless beginner projects?

Dayum Llama

In today’s article we’ll go through three different simple examples of serverless functions you can build using AWS Lambda for your first trial with serverless.

By the end of this article you should have an overview of three serverless beginner projects, the steps you’d need to create them, and some ways that you can later extend them to learn more. 

Misconceptions of Serverless: 5 Things You Thought AWS Lambda Did… But It Doesn’t.

Ah Serverless… it’s the golden child of software engineering right now, and the internet is full of Serverless and AWS Lambda success stories. But actually the golden child of software engineer is harbouring a few secrets…

Lambda Koala saying "Wait Whut"

Yep, that’s right, Serverless isn’t as good as the marketing pages lead you to believe. That’s not to say Serverless is bad technology — I absolutely love Serverless. But on a few occasions whilst working with it, I felt kinda duped.

By the end of this article you’ll understand some of the limitations of AWS Lambda and how some features like, DDOS and memory leaks really work. 

How to Use AWS KMS in AWS Lambda

So you’re new to AWS Lambda and secrets management? Maybe you’ve just joined a team that’s using KMS and you want to know more about how KMS and Lambda work, or maybe you’re looking to use KMS as your preferred choice for Lambda secrets management.

Whatever your reasoning for investigating AWS KMS with Lambda, today we’re going to cover the in’s and out’s of how the two technologies work together, and show you how you can use them.

By the end of this article you’ll understand what KMS is, how KMS works with AWS Lambda and the alternatives to using KMS for AWS Lambda functions. 

Master the AWS Lambda Console: A Comprehensive Walkthrough.

I remember staring at the AWS Lambda console for the first time and feeling overwhelmed. There were so many things happening: qualifiers, actions, triggers, permissions. It’s like the cockpit of a fighter jet in there. And with new features the Lambda interface has only become more complicated.

But when you understand the different parts of the AWS Lambda console and everything you can achieve with Lambda it opens up your perspective and builds your confidence. When you know what all the parts do you can then focus your attention only on the features that matter for you.

By the end of this article you will be more confident using AWS Lambda after we explore and understand the AWS Lambda console. 

AWS Queues And Lambda Processing: A Simple, Quick Walkthrough.

Have you ever wondered what a queue is or how you could implement a queue in AWS? Perhaps you’re considering using a queue for a solution that you’re working on but you’re not fully sure how the pieces fit together?

SQS & Lambda Logos

If that’s you — you’re in the right place! Today we’ll remove the mysticism of queues in AWS. But how will we remove the mysticism? By walking step-by-step for how to configure an SQS queue and use Lambda to process it.

By the end of this article you’ll understand what a queues is, why you might need one and how to setup one up SQS and Lambda.

How To Setup AWS Lambda Scheduled Events with Terraform

Lambda functions on their own are pretty useless. Lambda’s need someone — or something — to initiate them. An important (and fun) trigger for Lambda is the CloudWatch event. With CloudWatch events we can trigger Lambda’s on a recurring schedule that we define.

AWS Lambda

Scheduled Lambda’s are useful for executing tasks like backups, or running security scanning. Today we’re going to go through what you need to do in order to Terraform Lambda Scheduled Event’s. We’ll cover everything you need to know about CloudWatch Events, CloudWatch Event Targets and Lambda permissions.

By the end of this article you’ll know how to execute a Lambda on a scheduled CloudWatch event (and write it all in Terraform). 

How To Get AWS Lambda Logs Into CloudWatch

Part 1: Monitoring AWS Lambda

Your AWS Lambda code is throwing errors in production. To defuse the situation, you need to pinpoint what’s going wrong and find the fix. It’s a good thing you already instrumented your Lambda with high quality, well structured logs, right?

Dashboard CloudWatch

There are many aspects to monitoring a distributed system. And a big part is understanding how, and what to log. But, fear not, you’re in the right place!

Today we’re going to talk about the first step: how you can get Lambda logs into CloudWatch for analysis. Once we’ve discussed that, in the next article, we’ll discuss how to analyse those logs to properly extract the data.

By the end of this article you’ll understand the three steps you’ll need to take to enable CloudWatch logging for a Lambda function.

Set Up AWS Lambda With An ALB (Load Balancer)

The marketing around Serverless likes to make it out like “spinning up” a function is a simple task with no other dependencies. However, Serverless functions have to be triggered somehow. And one of your options is to use AWS Lambda with an ALB.

Setup AWS Lambda Using An ALB

But if you’ve just learned AWS Lambda and want to set it up with an ALB you’re about to run face first into a ton of new jargon: target groups, listeners, listener rules, ports etc. So if you’re not already familiar with AWS ALB and it’s various ideas you’re going to need to get up to speed.

By the end of this article you’ll understand the main concepts related to AWS ALB’s so that you can expose your Lambda function publically. 

AWS Lambda on Github Actions: How To Send Zipped Artifacts to AWS S3

Recently I’ve been experimenting with Github Actions as a CI tool, specifically for setting up AWS Lambda on Github Actions.

Container based CI is awesome. And I’m really excited about the community that is building up around it. I hope with container based CI we spend less time fighting CI, and more time building apps.

But until we get there — I’ll try and make the CI fighting a little less painful by giving you a head start. And in this case, we’ll be pushing zipped artifacts for AWS Lambda on Github Actions.

YAML for pushing artifacts to S3

AWS Lambda works by associating artifacts with the running Lambda exectuion. Therefore it’s quite common to zip our artifacts and upload them onto S3 to be used by Lambda. Today I’ll walk you through a quick three step method to upload zipped artifacts onto AWS for later use with AWS Lambda.

By the end of this article you’ll know the first step towards working with AWS Lambda on Github Actions and that means setting up pushing of zipped artifacts to S3.