AWS Lambda & Serverless FAQ
Following up on my first article here on Codementor.io: Getting Started with Serverless.
I want to thank everyone for the love and messages I got and secondly, I'd like to address some of the questions that people asked me. So I decided I'd neatly wrap up the answers in a simple to follow article addressing the most frequently asked questions about AWS Lambda.
AWS Lambda FAQ
Curious about what AWS Lambda is, what it can do for you, and how much it will cost you and your business? Well, we're here to help! Here's a breakdown of frequently asked questions about this system, so you can determine if it's the right option for you.
What is AWS Lambda?
AWS Lambda is an Amazon serverless computing system that runs code and automatically manages your underlying compute resources. It lets you automatically run code in response to many types of events, such as HTTP requests from Amazon API gateway, table updates in Amazon DynamoDB, and state transitions. It also enables you to extend to other AWS services with custom logic, and even create your own back-end services.
The service works by running your code on a high-availability computer infrastructure. It then performs all the administrative duties of that compute resource, like providing maintenance on your server and operating system, automatically scaling and managing your capacity provisions, and handling security patch deployment and code monitoring and logging.
The only work required on your end is supplying code for it to run.
How Does AWS Lambda Work?
While AWS Lambda may seem confusing at first, it really isn't. In fact, it's actually just a 4-step simple process.
Start off by uploading your code to AWS Lambda. From there, set up your code to trigger from other AWS services, HTTP endpoints, or mobile apps. AWS Lambda will only run your code when it's triggered and will also only use the computing resources needed to run it.
What's better? You only have to pay for the compute time you use!
What are the Advantages of AWS Lambda?
AWS Lambda offers a variety of benefits to its users. Here are 3 of the biggest benefits you should know about when deciding if AWS Lambda is right for you:
It Doesn't Require You to Manage Any Servers
Since AWS Lambda automatically runs your code there's no need for you to manage the server. Simply write your code and upload it to Lambda and you're good to go.
It Empowers You to Easily Scale
AWS Lambda runs code in response to each trigger, so your application is automatically scaled. Your code also runs in parallel and processes each trigger individually, so scaling is done precisely with the size of your workload.
It's Affordable
With AWS Lambda, you don't pay anything when your code isn't running. You'll only be charged for every 100ms your code executes and the number of times your code is actually triggered.
What Can You Build with AWS Lambda?
AWS Lambda can build a variety of things. Here's a quick list of just a few use cases for it:
- Data processing
- Real-time file processing
- Data validation
- Filtering
- Sorting
- Real-time stream processing
- 3rd-party API requests
You can find more uses cases or case studies if you checkout the dashbird.io blog.
How Much Does AWS Lambda Cost?
As previously mentioned, with AWS Lambda you only pay for what you use, factoring in the number of requests and duration of your code. Lambda considers a request to be each time it starts executing in response to a trigger such as an event notification or an invocation volume.
The duration of the code is calculated from the moment your code begins executing until it returns or is terminated.
If you're unsure about whether AWS Lambda is right for you, there is a free tier option available to try. This option includes 1M free requests per month, and 400,000 GB-seconds of compute time per month.
If you'd like to learn more about AWS Lambda, check out Amazon's handy AWS Lambda FAQ.
Final Thoughts on AWS Lambda
If you're looking to streamline processes and cut back on your coding efforts, you should absolutely invest in AWS Lambda. By reviewing the AWS Lambda FAQ, you can orient yourself on the ins-and-outs of this computing system and determine if it's right for you.
Once you have finished going through the frequently asked questions you will probably start to wonder about the observability aspect of your serverless app or to better put it, the lack thereof. You wouldn't be the first one to think like that, but luckily there are a number of services that can help you in that regard. Take Dashbird.io for example, they can help you monitor your serverless environment, set up alerts and keep track of costs without adding any strain to your application. Furthermore, they have a pretty decent free tier that is more than enough to get you started.
That's about it for today but I look forward to hearing any follow up question you might have.