a full stack (frontend, backend, infrastructure) experiment.
- The AWS infrastructure is built and continuously updated using Terraform.
- The application deployment is delivered through GitHub action and Packer.
- The application built using Laravel framework.
Build front-end, back-end, and infrastructure all in a single code repository.
- a web interface
- a queue worker to process job from queue
- a schedule worker to process job
- A VPC
- A private subnet for queue and schedule workers.
- A public subnet for web.
- A database for data storage.
- A queue.
The application serves behind a load balancer. It scales up or down depending on the web traffic.
The queue workers scales up or down depending on the size of the queue.
The process worker scales up or down depending on the job schedules. A complicated schedule job should move to queue worker.