Amazon CloudFront is best suited when there is a need of speed in serving static and dynanic web contents of a web application. If the content is already in that edge location, CloudFront delivers it immediately. If the content is not currently in that edge location, CloudFront retrieves it from an Amazon S3 bucket or an HTTP server. Amazon CloudFront is not appropriate in case users can tolerate some delays or servers are present near to the location of user. It also Integrates through the W3 Total Cache plugin. Amazon CloudFront Pricing based on bandwidth usage that's the best part of it.
Azure CDN has at hand an infinity of applications and tools to implement in your system and have better control of your data in a clean and secure platform on the web, we recommend this program since the percentage of solutions provided by this program is very high and find a way to make each user's job easier.
Lots of configuration options, which allow for different setups and pricing strategies
Lambda@Edge integration allows for really quite complex behaviours to be executed in the cloud at the edge node itself. This means there are a huge amount of possibilities for shaping and altering traffic close to the viewer.
Simple integration to other AWS services (e.g. S3)
For the longest time they didn't have a robust SDK. They have one now, but it could be better.
The different flavors of Azure CDN (Akamai, Verizon, etc) have different costs, but not well differentiated features. Might be confusing to new users.
I'm not overly familiar with it, but AWS does have a programmability in their CDN offering (Lambda @ Edge) and Azure doesn't seem to have an equivalent (Azure Functions is region-specific).
CloudFront is a good CDN solution. It can be a bit complicated to implement depending on your needs, but AWS tech support is great. You get to avoid a ton of upfront costs by going with CloudFront. It works best in conjunction with other AWS services in your infrastructure. Once you set it up, you won't need to do much to maintain it. It just works.
Great support from the team whenever we're stuck. Very proactive in resolving issues and also making changes as per the requirements of the organization.
Have used the IBM Cloud Content Delivery Network for a very short time span like a couple of weeks. Both the setup as well as interactions with other services are a little complicated or not straightforward when compared to AWS. Also, IBM cloud has less number of edge locations than AWS Cloudfront.
We did not evaluate any other CDN's before we selected Azure. We heavily use Azure for our development and infrastructure efforts so choosing the Azure CDN was easy. The only thing we compared it to was standing up a Windows Server VM and pointing a CDN URL to it allowing it to serve as a file server, which was much more cumbersome.
Azure CDN reduced origin instance load by removing the need to constantly serve large numbers of static files, meaning applications can be deployed with smaller/fewer instances.
Azure CDN reduces apparent load times to customers by serving cached files out of POPs in the local region of those clients, instead of requiring those clients to make multiple, lengthy requests through to the origin servers.