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

  1. Use a website backed by any reasonable content and datasource (i.e. the Drupal site from an earlier exercise).
  2. Given this endpoint, setup a CloudFront CDN accessed by an appropriate site name.

Deployment features

  1. The entire CDN should be able to be deployed automatically with a single command.

Documentation

  1. All code and artifacts should be put into a single GitHub repository, unless pulling in code from external sources.
  2. Document your code layout and build process
  3. Document how to deploy, update, and destroy the running service using CloudFormation or similar orchestration.
  4. Document settings and tuning needed to ensure graceful failover.
  5. Ensure that sensitive data and configs are kept separate from code and artifacts, in keeping with 12 Factor standards.

Demonstration of Resiliency & Update Behaviors

  1. Demonstrate the response of the CDN cache to
  • a 404 error on the website
  • a non-accessible website
  1. 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.
  2. Demonstrate the optimal procedure for pushing critical changes to the CDN in as fast a time as possible.
  3. Document there results.