Front a Website with CloudFront CDN - huit/cloud-boot-camp GitHub Wiki
Description
This exercise models a website with a CloudFront CDN placed in front of it. The exercise will also investigate the cache timeout and invalidation aspects of the CDN.
Features of Solution
The solution will automatically build a static cache of a website given a URL.
Architectural features
- Use a website backed by any reasonable content and datasource (i.e. the Drupal site from an earlier exercise).
- Given this endpoint, setup a CloudFront CDN accessed by an appropriate site name.
Deployment features
- The entire CDN should be able to be deployed automatically with a single command.
Documentation
- All code and artifacts should be put into a single GitHub repository, unless pulling in code from external sources.
- Document your code layout and build process
- Document how to deploy, update, and destroy the running service using CloudFormation or similar orchestration.
- Document settings and tuning needed to ensure graceful failover.
- Ensure that sensitive data and configs are kept separate from code and artifacts, in keeping with 12 Factor standards.
Demonstration of Resiliency & Update Behaviors
- Demonstrate the response of the CDN cache to
- a 404 error on the website
- a non-accessible website
- Demonstrate the TTL of content in the CDN, the timeframe for cache-invalidation, and the expected time it takes site content updates to propagate to the CDN.
- Demonstrate the optimal procedure for pushing critical changes to the CDN in as fast a time as possible.
- Document there results.