Everyone has heard of Amazon, they are the largest e-commerce site in the world and the second biggest employer in the US. What is less well-known is that they also run the largest cloud computing platform. This is called Amazon Web Services and is used to power many popular services which you probably use on a day-to-day basis without knowing they run on Amazon’s cloud platform.
Amazon Web Services
Amazon Web Services (AWS) is a pay-as-you-go cloud hosting service operating from many different server locations around the world. They offer a range of services from their server farms as required by the customer.
The customer can pay for a single virtual computer, a physical computer or clusters of either one of these as needed.
They are then charged according to their usage. This is great for startups and small business who can avoid the large costs typically associated with setting up infrastructure.
AWS offers customers over 90 different services including storage, analytics, management, developer tools, networking and databases. Some of the most popular of these services are Amazon Elastic Compute Cloud, Amazon Simple Storage Service and Cloudfront.
What is Amazon Cloudfront?
Amazon Cloudfront is a service offered by Amazon Web Services to give their customers access to a large content delivery network.
But what is a Content Delivery Network?
Content delivery networks or CDNs provide a high performance and reliable option for website owner’s to improve the performance of their websites. This will have a positive impact on their visitor’s experience and make sure that vital website services are more resilient.
If you want to learn more you can check out this beginner’s guide to free CDN at Collectiveray.
The way this is achieved is through a distributed network of servers located in data centers around the world. The servers host a cached version of content such as graphics, text, videos, documents and applications from the website.
Distribution of AWS Cloud servers
The location of these data centers is planned so that they are closer larger population centers.
This means that when a visitor’s browser sends a request to the website, they can be served the content they want from the nearest geographical server to them, speeding up the delivery of this content. If the closest part of the CDN is experiencing problems, their request will be sent to another part of the network seamlessly.
An algorithm is used to decide which server will fulfill the visitor’s request and can be optimized in many ways. This optimization could be the nearest server, the fewest number of steps the data has to take, the server with the lowest user load, among other options.
CDNs are made up of a varying number of servers. Some have a large number of servers, sometimes reaching into the tens of thousands in these server farms or points of presence (PoP) as they are also known. Other CDNs operate with a small global network of PoPs.
The PoPs will be located depending on where there is more demand. The closest PoP to the end user is known as the edge server because it is the nearest part and the very edge of the network to the user.
The Amazon Cloudfront CDN
Amazon’s Cloudfront service was launched in 2008 has since grown to operate from a large number of worldwide edge locations. Cloudfront has edge locations in 63 cities across 29 countries worldwide. They have PoPs on every continent and every major city, making sure that your content can be distributed quickly and efficiently to your visitors.
The way it works is; you first configure the origin server, this is where the files you want to distribut are located.
You then upload your files to these origin servers. A distribution file has to be created which will tell Cloudfront which servers to get the data from and whether you want the distribution of the files to happen immediately. A domain address will be assigned to your distribution and your distribution configuration will be populated to all Cloudfront’s edge servers where the cached copies of your files will be kept.
Cloudfront uses a multi-tiered system which means that if the requested content can’t be found at the nearest edge location, a regional location will be used. If the content still can’t be located, it can be taken from the origin servers, as a persistent connection is maintained.
Pricing and Performance
Cloudfront has a great offer for new customers, giving them 50GB of free traffic every month for a year. After that, the pricing gets very complicated and depends on how much data is transferred in different regions.
Cloudfront does very well when it comes to uptime, their service manages 99.89% uptime. They are not quite as good when it comes to speed, however. In July 2017, they were only rated 10th worldwide, with speeds averaging 57ms. This doesn’t mean they are slow, but there are services out there which might be better. Of course, the strength of Amazon comes from the fact of how they integrate tightly with the rest of Amazon services.
Amazon’s Cloudfront provides a large network of edge locations and is very customizable. The speed of the service isn’t as quick as it could be, but since they offer a free plan it should be a great place to start.