What is our primary use case?
Our primary use case for Lambda is for serverless computing in our project. We have an environment in AWS with Lambda, EC2, S3, SQS, RDS, and Redshift. Our Lambda function is triggered whenever a new object is put into S3. It will validate, extract data from S3 then input metadata into MySQL and put the main data into Redshift as the data warehouse. An SQS message will be created so our Application in EC2 is alerted that there is new data to have processed.
How has it helped my organization?
With AWS Lambda, we found it easy to integrate with other AWS services such as S3, SQS, RDS, etc. This allows us to scale our services in an almost unlimited fashion, as data input into S3 sometimes peak up to a thousand objects and need to be processed as soon as possible.
What is most valuable?
This solution is easy to integrate with other AWS services, making our job easier and more effective. Lambda is lightweight and we can quickly develop our functions. The ability to scale up and down very quickly helps because we can maintain our system performance and business at a low cost.
What needs improvement?
There are several things that can be improved, including:
- It has limited access to disk space, as it does not have full access to underline VM
- Lamba functions have cold-starts that can cause some delay
- It is hard to troubleshoot and monitor Lambda functions
For how long have I used the solution?
Less than one year.
What do I think about the stability of the solution?
Our Lambda functions are very stable, despite the fact that we have scaled up and down frequently. This means our functions run in the different underlying hosts, but their behavior is still the same.
What do I think about the scalability of the solution?
This solution can scale up to thousands of instances in a very short time without any delay. It is very fast.
Which solution did I use previously and why did I switch?
We have just started with Lambda and it is great.
How was the initial setup?
Setting up AWS Lambda is simple and AWS provides great documentation that includes installation details, as well as guidelines and best practices. The coding of Lambda functions is simple and straightforward with our developer.
What about the implementation team?
We implemented using our in-house team.
What was our ROI?
With Lambda, we can reduce the time to deliver our project to production and can provide our clients with a scalable, reliable, and high-performance system.
Which other solutions did I evaluate?
We considered deploying our functions in EC2 with Auto Scaling but decided on Lambda as we need a lightweight function that is able to scale up and down quickly. Also, the overall cost is much lower.
What other advice do I have?
Implementing this solution is easy, with just a few clicks your function will be ready. I suggest reviewing your requirements and choosing a suitable Lamba function size. Also, have a good strategy on how to trigger your functions.