Mless enables running AWS Lambda functions in a dev-accessible environment, using the full context (events and triggers) available in the Lambda framework. It is designed to greatly improve the development and testing process of serverless functions.
Using Mless you can execute Lambda functions in a lab environment optimized for development purposes, yet run the code in full context of the actual Lambda environment:
With mless the functions under test are triggered by actual AWS lambda events and triggers such as:
- Calls from API gateway
- Any AWS Lambda supported event sources such as
- Changes in S3 buckets
- Kinesis Streams events
This allows a full simulation of an application flow involving serverless functions, while allowing developers to have full access to the serverless code they work on.
The solution involves a small serverless proxy inside AWS lambda. It enables redirection of events and triggers into an accessible lab environment where the code can be developed more easily and efficiently. Once the Lambda function concludes it’s processing, the flow of the application it is part of, continues as if the code runs in Lambda. A single test flow may include multiple simulated Lambda functions.
Running the function will use the role configured for the lambda function, and its configured environment. Yet using the Minute Lab framework the lambda function itself will run in a preconfigured lab environment, that enables:
- Using the latest code requiring no extra deployment steps of the new code
- For scripted languages (python, node) you can simply save the code in the IDE which will trigger the auto-deployment of the code
- Enabling debugging of the serverless code using your local IDE
Though handling the code will look and feel as if it runs locally, it will actually run in AWS, which grants it access to resources in the private VPC.
Read more here