Serverless

Simply: AWS Lambda

Why should I use AWS Lambda and how does it work? In this blog post I provide you with a practical hands-on guide of how to create your first AWS Lambda service and explain why you should use it to create awesome customer value.

What is AWS Lambda?

With AWS lambda we can write code and execute it without caring about configuring servers.

Why should I use it?

It enables you to quickly develop business relevant code and deliver value for your customers and stakeholders.

How do I start?

First you’re gonna need an AWS account, follow this guide.

Creating our first Lambda

From the AWS console head to Services and search for Lambda select the first option.

Click Create Function

Enter your name for the lambda and select runtime (I’m going with Node.js) Leave everything else default.

Writing code

When your lambda is created you’ll be taken to that lambdas page where you can see and setup lots of information and options about your lambda, let’s not worry too much about that right now and just scroll down to “Function Code”.

Using the inline editor (you are of course able to write code with any IDE you want and deploy it to AWS but I’ll cover that in another post) let’s enter some code, this is what I used.

exports.handler = async (event) => {
console.log('event', event); // initiate animals array
const animals = ['cat', 'dog', 'tardigrade']; // get input
const input = JSON.parse(event.body).input; // concatinate animals with input
concatAnimalsInput(animals, input) // create a response object and return it
const response = {
statusCode: 200,
body: JSON.stringify(animals),
};
return response;
};const concatAnimalsInput = (animals, input) => {
if(typeof input === 'string') {
animals.push(input);
} else {
animals = animals.concat(input);
}
}

Testing our code

At the top of the screen click configure test event and create an event to execute the function with.

The event in JSON format

Hit Create and finally click the “Test” button.

After its execution you’ll see the result and the output by clicking Details in the green result box, you can also click (logs) to enter CloudWatch Logs and get a better look into all executions of your lambda.

Good job!

You’ve just created a lambda and the possibilities with it are endless, in future posts I’ll discuss how we can connect an API to our lambda via API Gateway and how we can store our data in the NoSQL database DynamoDB.

Discussion: what about the price?

With Lambda the first million requests each month are alway free after that you pay $0.20 per 1M requests and $0.0000166667 for every GB-second, read more here. Lambda is usually used together with other AWS services that might also incur cost such as Cloudwatch logs which we touched upon in this post, Cloudwatch logs also offer a free tier, 5GB of Log Data Ingestion and 5GB of Log Data Archive, which means nothing we did in this post will result in any cost even if you do no cleanup.
Read more about the economics of cloud here “Cloud is expensive”

I don’t want to use the inline code editor!

Great, me neither, I suggest as a first step either looking into exporting your code to zip and uploading to the lambda

or exploring the Serverless framework, a tool that makes it easy to deploy serverless applications such as Lambda!

You’re welcome to contact me if you have any questions.

Mail: filip.pettersson@tiqqe.com
LinkedIn: Filip Pettersson

Read more articles in this series:

Simply: AWS DynamoDB

Filip Pettersson

Leave a Reply

Your email address will not be published. Required fields are marked *