

This setup combines dynamic content management with static content generation for optimised performance and scalability across a global user base.
Host (Amazon EC2)
Craft CMS: The central content management system (CMS) running on AWS EC2, where administrators manage the content.
Admin: Administrators interface with the CMS to add, update, and manage content. This action is done through a browser-based admin panel.
SQL Database (Amazon RDS): The data that powers the content managed within the CMS is stored in a relational database on Amazon RDS.
Storage (Amazon S3)
File Storage: Images, videos, and other media assets such as SVGs, JPGs, PNGs, PDFs, and MP4 files are stored in an optimised format on Amazon S3.
Compiler
The Compiler converts the content managed in Craft CMS into static files (HTML, CSS, JavaScript) that are ready to be served to end users.
Triggers: Content updates, Scheduled intervals, Manual triggers.
Repository (GitHub)
Static Files Storage: The static HTML, CSS, and JavaScript files are stored in a version-controlled repository, GitHub.
GitHub Actions: Automation and deployment processes are handled by GitHub Actions.
CDN (Cloudflare)
CDN: The static files are sent to a CDN, Cloudflare, which caches the content in multiple locations worldwide.
Geographically Distributed Users (AU and US): The CDN serves content to users based on their geographical proximity.
End Users
AU and US Users: End users access the content via their browsers, and the content is delivered from the CDN closest to their physical location.