What's the difference between using Akamai NetStorage vs. Akamai's Edge Service? Below are the concepts that I believe differentiate them but I'd like more details from more experienced people.
NetStorage
This is literally a high performance hosting place for things like images, JS, CSS, XML, videos, other static assets, etc. You literlally FTP files to a specific location and retreive them from a specific Akamai URL. These assets are all really fast since they're cached and globally distributed.
Edge service
This is not a hosting option but rather a caching option for existing hosting. So you tell it what to cache (file types, paths, etc.) and for how long. It goes to those items hosted on your origin server and caches them globally to its servers, then you have your live site point to Akamai's edge to "host" them to the public.
- Are my assumptions above correct?
- Why would you use one vs. the other?
- What would be the benefit to ever use NetStorage over the edge service?
- What are the cost comparisons? Are they about equal? Is NetStorage about x many times more expensive than edge?
- Are there any other contrasting features that I should be aware of?
(Sorry it's been a little while since the question was posted, but hopefully this info will be useful to the OP and/or future visitors ...)
Your assumptions above are generally correct. NetStorage is a hosted origin service, in Akamai's cloud, on their backbone.
Re cost, I believe NetStorage is a free option, at least with a certain level of service, but you'd need to ask them to be sure.
The company I work for gets about 4M requests per day for our static objects, and we use Akamai. We're currently switching to NetStorage and I've done a fair amount of measuring and testing on their staging network in anticipation of the switch. To us, the basic considerations have been:
Edge-to-origin speed and cache hit ratio -- which is really a function of traffic. The difference in user experience can be big or negligible depending on (1) how quickly Akamai's edge servers can reach your origin, and (2) how often each edge server gets requests for your objects.
If an edge server has to request an object from your origin, it matters how fast your origin can respond. NetStorage will almost always respond faster than your origin server, because NetStorage is on Akamai's network and optimized for exactly this.
And/but: the more your objects are cached at their edge servers, the less it matters how quickly your origin (or theirs) responds to those edge servers' requests. So if your objects get a lot of traffic (and/or your origin is on a fast server and has a very fast connection to Akamai's edge network), it might not make much difference at all. But if you're a small-to-medium traffic site, and Akamai's edge servers frequently clear your objects out of their caches to make room for other objects, then it can make a big difference. It's true that Akamai has a lot of edge servers and that they sometimes can get cached objects from neighboring edge servers, but if your objects aren't in those neighbors' caches, either, you could still end up with a lot of hits on your origin.
For reference, we have a pretty aggressive browser cache policy for most of our objects, but our origin still gets requests from Akamai's edge servers for around 25%-30% of those 4M+ requests each day.
Admin. Without NetStorage, you obviously need to host (or arrange hosting for) your own origin server, which means config, maintenance, monitoring, budget, etc. NetStorage is basically free hosting. Depending on your gig, this could be a big win in some ways. BUT ...
The Other Admin. NetStorage comes with its own hassles and some limitations. For instance:
If you care about your URLs being case-insensitive but have mixed-case filenames and filepaths, you'll need to convert them to all-lower or all-upper whenever you upload them.
NetStorage file management leaves a LOT to be desired. There's no scripting to speak of; you can upload and download, but deleting any large # of files takes forever.
Folder size is essentially limited to 10,000 files per folder (notwithstanding the documentation, which says the limit is 50,000).
One other thing you may want to know about is the "Midgress" option. If you don't want to use NetStorage, and need the better cache hit ratio and fewer hits to your origin, you can pay extra for a middle tier of cache servers inserted between the edge servers and your origin. This virtually guarantees a lower round-trip time (the edge server asks a more local midgress server instead of going straight to your origin server) and a high cache hit ratio. We tried it once and it worked pretty well, but the cost was more than we wanted to pay.
Cheers,
Aaron
Your assumptions are correct. Except one place where I think they wouldn't be distributing the netstorage content globally by default. Logically it should be ondemand.
Secondly, performance wise you shouldn't see a difference between the two. If you set the correct caching headers then your static content would anyway be cached on the edge server. The only difference between the two would be that if you use netstorage then you would offload the remaining very small number of HTTP request for static content to akamai. One area where Netstorage can help if the origin server is down.
In short Akamai is more or less a reverse proxy.
Some definition in case they help.
Origin server is your server.
Edge server is akamai server.
Apache<---->|Edge Server--Akamai_Network--->Edge Server<---->|Customer
The cost of netstorage would depend upon what you can negotiate :)
Some things to clarify... NetStorage DOES in fact replicate content globally by default. This is not an on-demand service, it is handled automatically. The NetStorage platform is a separate network overlay from the content caching infrastructure.
You can configure the business logic to ignore case sensitivity for objects being requested. Alternatively you can have NetStorage convert the names of the objects upon upload.