Add Distributed Caching to Azure (i.e. like Velocity / memcached)
So that multiple web roles can share the same cache.
At PDC 2010, we announced Windows Azure AppFabric Caching – a distributed, in-memory cache for applications running in Windows Azure.
Based on Windows Server AppFabric Caching capabilities, it’s intended to significantly speed up access to data for your Windows Azure applications.
This feature is in CTP now, and should be generally available in 2011. You can find more details here:
It's being quite sometime now that AppFabric is in the market to face the real world. But still a lot of features are missing in it which others are offering. Take the example of NCache, which is an enterprise level distributed cache for .NET and also stores ASP.NET Session State. Check out the comparison between AppFabric and NCache from this link ,
Dedicated Cache is NOT the solution I voted for. It is very different.
1) Dedicated cache forces us to pay for an EXTRA set of hardware.
2) Dedicated cache does not make use of my existing hardware, and as a result does not scale with our applications. I am forced to upgrade (and pay) for increasing the size of the dedicated cache and hope it fixes my scaling issues.
In other words, dedicated caching is a waste of hardware and ultimately money out of our pockets. Applications are generally heavy cpu/IO bound, while caching is very high memory consumption/throughput, which makes for the most effective scaling. Caching is not "free" using this model by any means, but is far more efficient. In fact, 1 out of every N requests will be a same-machine hit, circumventing the network altogether, which is an even bigger win.
I'm fine with having a dedicated caching option, but please provide AppFabric for our existing VM's.
The cache is awesome, but the connection restriction is severely limiting. I'm caching some very small dropdown boxes for multiple web pages. It's a fairly high traffic site and I hit the cache connection limit all the time. My cache usage is only 0.3MB. Please increase the connection limit on the 128MB plan.
I am using several web role instances. They don't utilize much of the memory allocated to them. I would like the distributed cache to run in the same instances as the web roles and make use of the memory there. Is there any solution that does this?
Here I'd like to mention another distributed in-memory cache “NCache”. I have been using it from couple of months and I found that this is the mature solution than all. It is supported in windows and Linux as well.
This is now available...
Fantastic. Can't come soon enough. thanks
Kalep Kalepicus commented
Solved at PDC10 - AppFabric Caching
This has been announced at PDC 10. Caching is now available in the Windows Azure AppFabric CTP October Release for the South/Central US data center.
Caching: Windows Azure AppFabric Caching is a distributed, in-memory cache for applications running in Windows Azure.
It can significantly speed up access to data for your Windows Azure applications.
It is delivered as a cloud service, so it's simple and requires no administration on your part to setup or maintain.
It is based off of Windows Service AppFabric Caching capabilities, which means it is proven and uses a familiar programming model.
Signup at: https://portal.appfabriclabs.com/
Or find more information at: http://blogs.msdn.com/b/windowsazureappfabric/archive/2010/10/22/windows-azure-appfabric-ctp-october-release.aspx
Cannot believe Windows Azure still does not have support for Velocity... Talk about dropping the ball. Such a massive investment in Azure, and yet no reasonable caching support... I know it is "coming", but the process needs to be sped up.
Chris Cardinal commented
absolutely...MUST HAVE FOR SCALING. CAN'T BUILD LARGE services without it.
Should be Microsoft's #1 feature add priority. They're selling scalability but without the primary tool used to implement scalability.
This is really needed. Velocity is out, would be perfect. Also - it would be nice if we could double purpose a webrole + cache. A small azure instance gives you 1.7 gig of ram, most of which could be used for azure caching. 10 nodes could give me about 10 gigs of usable cache. I have a feeling when/if this launches they will put it in its own "role". I hope not.
Frederick Thompson commented
Absolutely needed. Agree with posters on the Azure Forum - without distributed caching ..... there is a real problem using Azure for any services but low-medium websites
@carl. distributed caching has nothing to do with output caching. Any decent website needs it (see memcached.org)
Microsoft announced that windows app fabric CTP would be available in azure by EOY. (View the virtual windows server app fabric videos, was mentioned there)
I take that as including Velocity.
Carl Hörberg commented
Suggestion: Write a OutputCacheProvider which utilities the blob storage w/ CDN and you got something which probably is easier to maintain and cheaper than velocity.
this is absolutely needed - i would say as huge priority. any sort of serious web app needs this as a priority - just view the sites using http://memcached.org/ - it would be impossible to build the next "facebook" or "digg" or "youtube" on azure without full support for this as soon as possible.
Steven Nagy commented
+3 Finally a feature request that makes sense for highly scalable applications. They brought this to Windows AppFabric; I'd really like to see this in Azure AppFabric as well.
Also adding support for SQLCacheDependency and something similar for Azure table storage would be welcome. Currently windows app fabric (to the best of my knowledge) does not support SQLCacheDependency.