AWS Lambda is one of the most exciting services that AWS offers. Once you start using AWS lambda and get used to it, then you would always prefer using it since it is serverless. In this article, we are going to see what AWS Lambda is and how to get started.
- AWS Lambda – Definition
- Why AWS Lambda?
- Benefits of AWS Lambda
- How I used it
- Getting started
AWS Lambda – Definition
According to the documentation, “AWS Lambda is a serverless compute service that lets you run code without provisioning or managing servers, creating workload-aware cluster scaling logic, maintaining event integrations, or managing runtimes. With Lambda, you can run code for virtually any type of application or backend service – all with zero administration. Just upload your code as a ZIP file or container image, and Lambda automatically and precisely allocates compute execution power and runs your code based on the incoming request or event, for any scale of traffic. You can set up your code to automatically trigger from over 200 AWS services and SaaS applications or call it directly from any web or mobile app. You can write Lambda functions in your favorite language (Node.js, Python, Go, Java, and more) and use both serverless and container tools, such as AWS SAM or Docker CLI, to build, test, and deploy your functions.”
Why AWS Lambda?
So let us take Amazon EC2 which is a virtual server in the cloud. They are limited by RAM and CPU. Also, they run continuously (though it can be automated when to run). If you want to scale then you will need to add auto-scaling to scale up or scale down. Whereas Amazon Lambda is a virtual function where you need not manage the server. They are limited by time (short time execution). Also, the scaling is automated.
Benefits of AWS Lambda
- Low cost – Pay for what you use
- Integrates with whole AWS services
- Supports many programming languages (python and nodejs are most commonly used)
- Can be monitored through AWS cloudwatch
How I used it
Lambda is something that I use often. So there is something called layers in lambda where you can store your commonly used code or modules (which are not built-in). Even if I need an API, I will go with lambda along with API Gateway. Personally, I have used lambda for many projects. But there were some huge data migrations that I did recently (from Amazon DynamoDB to elastic search). Since it easily integrates with other services like Amazon SNS, Amazon SQS, Amazon S3, etc. it made my life easier.
You can get started using this official documentation provided by AWS.
AWS Lambda is one of the services which is fun to use. Once you get used to the environment, it is going to save you a lot of time. Happy coding!!