A global operation is a blessing in disguise. Some things are not easy to solve. But if you do, you have the opportunity to achieve the next level of Resilience and Reliability.
AWS offers two services you can use for global delivery. It has CloudFront, their Content Distribution Network, and it has Route 53, a global DNS network.
A full treatise of CloudFront is beyond the scope of this book. We use it in several different ways.
We use CloudFront to expose objects in S3 buckets. This is easy, and it automatically distributes the objects to multiple locations all around the world.
You can also use CloudFront on a Custom Origin. This basically means that you point the CloudFront distribution to a site (which can be an S3 bucket), and then you can set a default object, for example
index.html, and you are good to go.
With the introduction of more caching flexibility it is quite feasible to have your dynamic content pass through CloudFront as well. We do not do this very often yet.
CloudFront has another remarkable feature, and that is streaming. The feature itself is not that sophisticated, but it is offered at the same price as normal content delivery.
For live streaming there are several examples. But for the Concertgebouw (the concert hall in Amsterdam) we had to do something else. One of the requirements was to stream at multiple bit rates, dynamically chosen by client. And one other requirement was that we had to deal with ...