S3 technically doesn't qualify as a CDN as its only a storage service. You can use S3 as storage in conjunction with using many CDNs out there, including EdgeCast. You should be aware, though, that transactional costs can add up with S3 depending on the nature of your traffic and using the CDN origin can benefit your performance as well as cost.
Cloudfront is a CDN service that is Global, but does not provide a full range of CDN services to be considered in the Tier1 of CDNs. Services such as Streaming capabilities, Analytics and included 24/7 support as well as 100% uptime are part of the offerings of EdgeCast and other CDNs that are considered a more premium service. Additionally, 3rd party tests have shown EdgeCast performance considerably better than Cloudfront as well as other CDNs.
But I recommend you simply run tests yourself with accounts from both companies.
Amazon CloudFront is designed to work well with other Amazon Web Services. The next few sections describe how you can use other AWS services with Amazon CloudFront to further optimize your website performance. Amazon Route 53 is AWS’s reliable and cost-effective Domain Name System (DNS) web service.
Similar to Amazon CloudFront, Route 53 is designed to be fast and answers DNS queries with low latency by using a global network of DNS servers. You can use Amazon Route 53 to map domain names to your Amazon CloudFront distributions using a CNAME record. CNAMEs allow you to use a custom domain name for your Amazon CloudFront URLs instead of the abc123.cloudfront.net domain name.
Amazon Route 53 DNS records can be configured and managed using the same AWS Management Console that you use for configuring your Amazon CloudFront distributions. This makes it easier to set up and update the CNAME records for your Amazon CloudFront distribution. You can also use Amazon Route 53’s Weighted Round Robin (WRR) functionality to slowly move traffic from your origin infrastructure to Amazon CloudFront.
You do this by assigning relative weights (e.g. Share of traffic) to each endpoint – your origin resource and your Amazon CloudFront distribution – that you want to send viewers to. Amazon Route 53 will then use these weights to return different DNS responses to your viewers. As you become comfortable with your Amazon CloudFront configuration, you can start sending more viewers to your Amazon CloudFront distribution.
Amazon S3 is a durable object store for the Internet. Amazon CloudFront is optimized to use Amazon S3 as its origin server to store the original versions of your static files. Amazon CloudFront works well for delivery of static objects that are frequently accessed – “popular” objects.
With Amazon CloudFront, copies of your popular objects are cached in a network of edge locations around the world. Because these edge locations are close to your viewers, your objects can be served more quickly than if they were served from one of Amazon S3’s central locations. This improves your viewers’ experience for frequently accessed static content: they get lower latency and faster data transfer rates.
Delivering your popular objects using an Amazon CloudFront edge location can also reduce your costs, as Amazon CloudFront’s rates for data transfer are lower than Amazon S3’s at higher usage tiers. However, when space is needed at an edge location, the Amazon CloudFront will remove less popular objects in order to make room for more popular ones. This means that your static objects that aren’t accessed frequently are less likely to remain in Amazon CloudFront’s edge locations’ caches.
Thus, for less popular objects, delivery out of Amazon S3 (rather than from Amazon CloudFront) may be the better choice. Amazon S3 will provide strong distribution performance for these objects, and serving them directly from Amazon S3 saves you the cost of continually copying less popular objects from Amazon S3 to the edge locations in Amazon CloudFront. Amazon EC2 provides compute capacity in the AWS cloud.
When using Amazon EC2 as your Amazon CloudFront origin server, you get the benefit of working with the same set of tools to configure and manage the delivery of your entire web application. In addition, Amazon EC2 offers the same pay-as-you-go and pay-for-use pricing model as Amazon CloudFront does. Plus, the routes between Amazon CloudFront edge locations and Amazon EC2 data centers are constantly monitored and optimized for performance and availability.
Any issues with these network routes are quickly detected and fixed or viewers are automatically routed to another Amazon monitored network route, minimizing impact to viewers of your applications. When running multiple Amazon EC2 instances, you can also use Elastic Load Balancing to automatically distribute incoming application traffic from Amazon CloudFront edge locations. Elastic Load Balancing helps you achieve greater fault tolerance in your origin infrastructure, increasing the overall availability of your web applications delivered through Amazon CloudFront.
Elastic Load Balancing can be enabled within a single Availability Zone or across multiple zones. To achieve even higher availability and further improve the performance of Amazon CloudFront origin connections, you can run instances of your application across multiple AWS Regions with an Elastic Load Balancer endpoint in each region. Then, you can use Amazon Route 53’s Latency Based Routing (LBR) feature to route Amazon CloudFront origin requests to the AWS Region that provides the lowest possible latency to the Amazon CloudFront edge location making the request.
Amazon Route 53 is integrated with Amazon CloudFront to collect latency measurements from each Amazon CloudFront edge location, resulting in optimal performance for origin fetches. Amazon CloudFront is designed so you don't have to pay any upfront fees or commit to how much content you’ll deliver through the network. If you use Amazon S3 as your origin, you pay normal Amazon S3 storage charges to store files in your bucket; these charges appear in the Amazon S3 portion of your AWS statement.
Similarly, if you use Amazon EC2 as your origin, these charges will appear on the Amazon EC2 portion of your statement. When Amazon CloudFront receives a request for an object it doesn’t already have at an edge location, it makes a standard GET request back to your origin. If that origin is in Amazon S3 or Amazon EC2, you incur the normal AWS charges for data transfer out plus Amazon S3 rates for GET requests; these charges appear in the Amazon S3 or Amazon EC2 portion of your AWS statement.
Amazon CloudFront copies an object to an edge location based on the cache control headers you’ve set on that objects and if there is demand for that object at that edge location. You incur Amazon CloudFront charges for HTTP requests, HTTPS requests and data transfer out. The data transfer charge is lower than the corresponding Amazon S3 and Amazon EC2 charges for data transfer.
The Amazon CloudFront charges appear in the Amazon CloudFront portion of your AWS statement. You incur Amazon CloudFront charges for each object you include in your invalidation request. Each month, you can invalidate up to 1,000 objects at no additional charge.
After that quantity, a charge applies for each additional object that you request to be invalidated.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.