AWS Lambda
Lambda is a cloud service that Amazon Web Services (AWS) provides, which allows developers to run serverless code. Similar to Google's Functions and IBM's OpenWhisk, Lambda works by letting users upload source code that gets triggered in their applications. In a way it is analogous to database triggers for general applications. By using Lambda, companies need not provision and maintain servers for performing certain computationally intensive tasks within their web and mobile apps. They simply write triggers in their code, which will then call the Lamda code. Amazon only charges users for the computation resources used.
- Eliminates the need to provision and maintain servers for performing certain computationally intensive tasks
- Integrates well with other AWS services
- Works within the scope of a wide variety of applications, such as web and mobile apps
- Very easy to set up and use
- Comes with excellent customer support
- Is cost efficient
- Scales automatically, regardless of the load
- Has a poor UI
- Documentation needs improvement
- Functions only a have a limited time to execute
- Amazon idles functions if they are not used often
Lambda may be one of the least known of the many useful cloud services AWS provides, but that does not mean that it is one of the least important. What it does is basically eliminate the need to have virtual machines that exist to perform some computational function. For example, a web app that lets users upload photos may need to scale these photos and also convert and compact them. With Lambda, whenever a user uploads an image, the web app can call a Lambda function to perform the image processing. This means that instead of running (and paying for) a server to perform this processing on a continual basis, you only utilize resources when you actually need them, which can potentially save you lots of money. What's more, Lambda is very easy to set up and use, and it comes with excellent customer support that effectively eliminates downtime. It also easily scales. If overnight your application becomes hugely popular, you do not have to worry whether you will be able to handle the uptick in transactions. It is all done for you automatically. Lambda further integrates well with other AWS services and it is affordably priced. That is not to say that Lambda is without flaws. Amazon has worked hard to improve the UI, but it still could be better, and the documentation needs improvement as well. Also, functions only have a limited time to complete, and functions can be slower to execute if they are not executed often because Amazon will idle the process.