Serverless architecture has a serious following and is key to the next gen of disruptive services on AWS. Today we introduce you to AWS Lambda - which in the minds of many is the most compelling service for green field startups. It’s extremely cost efficient, scalable, incredibly robust and supports familiar languages.
What is AWS Lambda?
AWS Lambda is code run on demand - either in response to an event, such as an API call or a time and date scheduled action. There is no concept of a machine, server, CPU or otherwise. Just code and memory required to run the code. Lambda is a game changer for those building new SaaS solutions and because it’s managed by AWS there’s no need for you to manage a server farm - simply pay for what you use and use it when you need to.
Proven and supremely cost effective
AWS Lambda has been on the market for just over two years and is the brainchild of the giant of cloud, Amazon. Currently it powers services such as Amazon's Echo and the A Cloud Guru (acloud.guru) service. Companies like Temando are moving to Lambda and are already realising the benefits - reducing 30k USD monthly costs to, in their own words, an almost "free tier".
So how does Lambda do it?
Put very simply, AWS Lambda only charges you for the time your code is actually executing. So if your code takes 900ms to run that is what you pay for resulting in zero AWS overhead.
No longer do you have to set up a server, or configure drive space, or even set up and install services. You simply upload your code, request a memory size and tell Lambda which method to call.
Same Programming Language - Different Thinking
There will be a shift in the way you think about a project and how you architect an application backend. For example, you’ll want to work with Lambda’s sister services, such as AWS API Gateway and a database such as DynamoDB to construct a full and scalable application layer.
The API Gateway will also be very handy to create and expose endpoints. For example, you could map the www.domain.com/users endpoint to a Lambda function called Users which in turn will trigger the “exports.handler” Handler method in your NodeJS code.
Disruption on a budget
You only pay for what you use. So if you use a Lambda Function once a day, you only pay for it once a day, billed to the 100ms.
What we’re seeing today, is that those who are using Lambda to build new SaaS products, are able to do so with very little upfront infrastructure investment. Oh, and did we mention that because it’s an AWS product, Lambda scales endlessly? This has a knock-on effect, reducing the cost of services and ultimately allowing you to undercut others on more traditional infrastructure
If you are not doing the disrupting, you might want to look over your shoulder.
Curious to know more? Head here.