Lambda is a compute service which lets you runs the code in a response to event without provisioning or managing servers. It executes the code only when needed. AWS automatically scale horizontally from few hundred to thousands request in second. You pay for the time your functions runs. You do not have to pay when your function is not running.
Lambda functions are stateless. It means each request is independent and not related to the earlier request.
You can divide your application into different functions which carried out specific, targeted tasks which can be callable through neutral-language protocol i.e REST.
Owning Server Means Dealing With -
Operation & Management
Provisioning & Utilization
Availability and Fault tolerance
AWS Lambda Benefits
No Infrastructure Management, Capacity, Scaling, Disaster Recovery, Monitoring, Security Planning. It means companies can focus on their core business and development team can focus on writing business logic.
Cost effective and efficient – You have to for what you use and AWS has subsecond metering for computing time.
Bring Your Own Code – You can bring your own custom libraries and reference that. AWS currently supports Node.Js, Python, Java and C#.
AWS Lambda Best Practices
Create single purpose function
Limit your function size
Limit your function execution duration ( no more than 300 seconds)
Don’t assume underlying compute infrastructure and write infrastructure dependent code
Use built-in cloud watch monitoring and optimize the function.
Delete old Lambda functions that you are no longer using.
Common Use Case
Using AWS you can pretty much write any application. i.e.
Content Management System
Mobile App Backend
At Sunflower Lab, we are helping our clients to migrate from traditional monolithic apps to serverless microservice app architecture.