# AWS Architecture
BriteLines uses the following AWS Services when in production:
- API Gateway - Accepts all API requests and delegates to the BriteLines API Lambda.
- API Lambda - The main Lambda function which handles API requests.
# Data Storage
- RDS - RDS is the main database BriteLines uses. BriteLines uses an Aurora MySQL 5.6 compatible database in production.
- S3 - S3 is a hosted object storage service. BriteLines uses S3 to store rate tables.
- ElastiCache - ElastiCache is a managed caching service. BriteLines uses a Redis compatible ElastiCache cluster. BriteLines uses ElastiCache to cache Risk Type States and store Rate Preview scenarios.
# Background Tasks
- SQS - SQS is a managed message queue service. BriteLines publishes task messages to SQS.
- Task Lambda - The Task Lambda uses our SQS queue as an event source. As new messages are published, the Task Lambda is invoked and runs the underlying task function.