1

Given the relatively recent support for POST/PUT/etc. (http://aws.amazon.com/about-aws/whats-new/2013/10/15/amazon-cloudfront-now-supports-put-post-and-other-http-methods/), if you don’t require any other protocol support (WebSockets, for example), what would be the downside to putting all your requests through it?

I’m trying to understand the caveats of using CF for my entire site.

andybons
  • 113
  • 3

2 Answers2

2

The answer is mostly reliability and performance. CloudFront's SLA is only 99.9% so while its real world reliability may be higher than that according to Amazon, the truth is that you really have no assurance at all that your site will be available any more than that. You might think 99.9% is good but compare that with S3 at 99.999999999%. A well architected multi-AZ load balanced web server might be more durable.

As far as performance is concerned, especially in the case of uploads where the user sending the data is already very close to the AWS region to which the data will go, the extra hop may make latency worse.

RibaldEddie
  • 303
  • 2
  • 8
  • Is there data anywhere that backs up the extra hop latency you note? I know it’s a bit wishy-washy, but they say CloudFront will send the upload request back to the origin web server over an optimized route that uses persistent connections, TCP/IP and network path optimizations. – andybons Nov 15 '13 at 20:03
  • It's absolutely true that there's a persistent connection back to the origin, but there is some latency involved regardless. The best thing for you to do is to measure the different scenarios with a model that reflects your real world usage. – RibaldEddie Nov 15 '13 at 21:08
  • You're welcome. I think if I had to guess now, so this is just opinion, I'd say that CloudFront handling your PUTs and POSTs could make more of a positive impact if you had some older web infrastructure of some kind, say with old versions of the Apache web server that would fork a single process to handle a single request, and you were not using a load balancer. There are I'm sure tons and tons of small web sites all over the world just like that. In those situations, using CloudFront for uploads would be a great choice regardless of latency. – RibaldEddie Nov 16 '13 at 04:59
-1

To add to the above - any kind of non-http tcp protocol is not supported. Websockets being the most common one.

Ashtonian
  • 99
  • 4