Salil Wadnerkar wrote:I work in a typical backend heavy web application with apache solr and redis for quick searches, and DB caching. And our main web app calls services - all hosted in AWS. What benefit does AWS lambda offer in this setup, and secondly, how we can rearrange the pieces to derive greater benefit from AWS lambda service?
Well, this is a broad question, and I don't know the details of your app or where the new features are going, so I am taking an open approach. With AWS Lambda, you don't have to manage scalability and availability. For example, if there is a new component to be added, you can isolate it in a function so that scaling/managing a new feature (that can be successful, or not) is independent from the rest of the architecture.
In this way, you are setting the right path to adopt (or at least try) microservices. As an additional benefit, if you can easily react with you logic to event in your infrastructure (such as a new file is uploaded on an S3 bucket, or an item is written/updated on a DynamoDB table).
I have also seen a customers that have their architecture already in place, starting using Lambda functions to automate infrastructure-related activities, such as backups, data synchronisations, configuration management, etc. In those cases, you'd probably stay within the AWS Lambda free tier (1M invocations and up to 3.2M seconds of execution time per month).