Most AWS frontend journeys begin with the same honest instinct: keep the first version simple. A build pipeline pushes static assets, S3 holds the files, CloudFront handles TLS and caching, and the team ships. For a genuinely static site, that decision is still excellent.
It is cheap to operate, easy to explain, and fast all over the world. The problem appears later. The frontend starts asking for
