Reviews (26-37 of 37)
- It scales endlessly. We chose AWS's serverless architecture specifically for its ability to start small and scale as needed.
- Its always available. AWS's geographic redundancy and serverless architecture mean there's no server downtime. Ever.
- From a PM's perspective, there's a learning curve. We've had to either hire out experience engineers, or absorb the not-insignificant orientation of not-yet-initiated engineers. But I suppose the same is true of anything.
- Your organization is fairly well established (see: runway)
- You're married to AWS Infrastructure
- You hate servers
- You aren't utilizing AWS's manages services
- Your organization is still in the boot-strapped stage (trying to run as lean as possible)
- Easy to deploy
- Easy to integrate with DynamoDB
- SQS Support makes it easier to monitor and integrate
- Easy to scale
- Pay for what you use, not idle time
- Focus on your business logic
- Some errors are hard to track
- Hard to plan for costs
- Maximum of 5 minutes of execution time per invoke
- AWS Lambda is great for inexpensive, sometimes free, short term processing.
- AWS Lambda integrates very well with AWS S3 Storage.
- Since it is possible to store log files on S3, it is possible to easily process AWS website log information.
- I think the biggest problem with AWS Lambda are the small number of languages that it currently supports. This number is, however, getting bigger.
- AWS Lambda would be a bit better if it were possible to have your function run a little longer, however, since it real purpose is to supply fast functions to all who need some short processing, this if too big of a con.
- It is possible to have the charging kick in on AWS Lambda just because your website or functions get popular or someone is trying to attack you. It would be good if a cap could easily be placed on the chargers so you couldn't go over a set limit.
- Very reasonable prices with billing down to the 100ms
- Super easy to deploy functions and set up triggers from other AWS services
- Plenty of examples and code snippets (from Amazon and around the web)
- Vendor lock-in: While a basic function or microservice might be platform independent, when you start to use AWS APIs and interact with other AWS services, your microservice now relies on the AWS ecosystem
- A bit intimidating at first, however there are a lot of resources. Amazon could offer more templates and examples though
Easily deploys functions/microservices without a server. Deploy code in several different languages (For instance: Your main app is Node.js but you want to launch a Python microservice? Simple!). Automate small tasks between different AWS services.
When not to use:
When you don't really have a microservice and you actually need a server! Or when you're not going to rely on other AWS services to make up for the lack of a server.
- One of the best serverless cloud based functions out there
- Deep integration with Amazon Web Services
- Support for a variety of programming languages
- Deployment of Lambda functions could be a bit more intuitive
- Amazon could provide more examples of Lambda functions to help get started
- A Lambda based workflow can be more complex to debug because of all the different functions that may be called as a result of your workflow
- Pay for only what you use. Because Lambda is billed by the 100ms of execution time, you can run low volume services extremely cheaply.
- Scalability. Lambda will spin up as many concurrent executions on demand as required to fulfil the triggers (up until a soft limit at least). This means for unpredictable workloads we get reliable execution with minimal costs.
- Ease of integration with other AWS services - Lambda can be plugged into just about everything and anything within the AWS ecosystem and also can be trigger via APIs from external systems making it very easy to integrate with.
- Language support is OK, but could be improved. In particular it would be nice to see native support for PHP, given its prevalence, and possibly Ruby.
- It would be great if there was a way of doing scheduling with a better granularity than 1 minute. For example, if you want to poll something every 15 seconds, it is not straight forward to do this using Lambda and the associated triggers as things stand.
On the other hand, if you need something where you are doing polling operations, particularly if its more frequent than once a minute, then there are probably better solutions for you.
- No need for specialist deployment engineer
- It do not require any additional cost for server to debugging a code
- Time-saving activity
- We are not fully aware of its use but if it has functionality likewise we have in Unix like operating system where we can schedule deployment then it will be very good.
- As of now, no one is trained in using any of AWS functionality fully in our team, it requires special skills to use LAMBDA.
- It also requires setting up of node.js environment, which most of us found difficult.
- AWS Lambda is great at responding to triggers from events within the AWS ecosystem. This is important and useful if you use other AWS products.
- AWS Lambda uses the same policies/permissions system used for users, which makes it easy to limit the scope of the script.
- AWS Lambda allows you to create scripts in a variety of programming languages, often eliminating the need to learn a new programming language.
- The version of node.js available on AWS Lambda wasn't up to date, requiring our organization to research older language conventions. It was later updated.
- There were few official examples of how to interact with S3 from AWS Lambda. We resorted to examples/tutorials found elsewhere online.
- parsing data
- log processing and forwarding
- monitoring the contents of an S3 bucket and performing an action when the contents changes
- more languages supported
- cleaner interface
- better list of example code
High latency transaction speeds were achieved and the autoscaling meant spikey traffic is dealt with.
AWS Lambda Scorecard Summary
Feature Scorecard Summary
About AWS Lambda
AWS Lambda is a serverless computing platform that lets developers run code without provisioning or managing servers. With Lambda, users can run code for virtually any type of app or backend service—all with zero administration. It takes care of requirements to run and scale code with high availability. Users pay only for the compute time they consume—there is no charge when their code is not running.
Developers uploading to Lambda don’t have to deal with their code’s environment. It’s a “serverless” service which lets outside code or events invoke functions. Lambda doesn’t store data, but it allows access to other services which do. Users can set up their code to automatically trigger from other AWS services or call it directly from any web or mobile app.
AWS Lambda Technical Details