What is Lambda

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.

Serverless App

What is primitive of an application

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.

Application components of serverless app

Owning Server Means Dealing With -

  • Operation & Management
  • Scaling
  • Provisioning & Utilization
  • Availability and Fault tolerance
  • Security
  • Monitoring

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.

  • Live Dashboard
  • Content Management System
  • Mobile App Backend
  • Bots
  • WebHooks
  • IOT
  • ETL
  • Autonomous IT

At Sunflower Lab, we are helping our clients to migrate from traditional monolithic apps to serverless microservice app architecture.