Get acquainted with L³ before you dive dive head-first into the fire 🔥
L³ is an extremely simple/lightweight Node.js serverless application framework that was designed to meet the following requirements:
- Lightning fast application development.
- Easy to audit (no code bloat or dependency hell - KISS)
- TDD (test-driven development) by design.
- Scales indefinitely at a very low cost.
The framework, which is nothing more than a collection of dependencies, consists of a router and related middleware, server emulator, and common tools (e.g. ESLint, JSDoc, Swagger) to further application development using latest coding standards.
- Request/Response handling API.
- Routes and URI Resource support.
- Local/Globally scoped Middleware.
- Visual Studio Code integration.
- Open Source, MIT licensed, FREE.
- Lightweight (no dependencies).
You want to build complex web applications that leverage both AWS CloudFront caching and Lambda@Edge global accessibility without:
- Complex CloudFormation setups that includes fragmentation of Lambda tasks and services.
- L³ handles HTTP path translation (i.e. route handling) which maps the request to an existing Lambda function.
- Paying through the nose for idle services (e.g. EC2 servers, ElastiCache, API Gateway).
- L³ can help minimize your application footprint without sacrificing availability or stability.
- Coupling to a single Cloud/SASS provider.
- You can run your L³ application in your own Node.js PM2 server using the lambda-edge-server emulator.
In its most basic form the library provides helper methods that translate the CloudFront Lambda@Edge origin-request
allowing you to handle response processing without the need to construct complex Lambda dependent responses.
To better visualize how L³ fits in the current AWS ecosystem the following high-level graph describes the HTTP Request/Response lifecycle and role of each AWS provided service.