0

We(our company) is hosting a asp.net C# Cloud Services with a Web Role for a Reporting WebSites. Unfortunately, usage of the reporting Website is growth that original is only hosting with Medium Size VM and find out its having a memory leak that cause the Cloud Services is always down and stop working. End up we move to A7 VM(Okay, thats expensive) that solved our problem for 2-3 month.Somehow, new stuff develop new function develop that end up the memory is more than enough(its 56GB RAM) but the process is not really can fulfilled such expensive usage in the same time.

Looking for solution on the web and found out there was a shared cache that can be used. We decided to move from A7 to XM VM (A7 not supported shared cache) and with a Dedicated Roles For Shared cahce.

What we wish to achieve is load balance between few instances(if one down, it will redirect to another instances) and having the dedicated roles stored all of our session stuff.Am i going the correct direction for this?

And if yes, how to achieve this? I look into this and is that really need to sign up a preview program for cache services for using this?

Appreciate for the advice and please point out my mistake if any.

**Somehow, after reading stuff from web i found out the above mention method is a new method and the old ways is In-Role Cache that i can see it from here. Is that possible to used this method for sharing Session State among multiple instances even if one of the instances is down and route to another instances that are available and used back the session?

Worgon
  • 1,557
  • 5
  • 22
  • 27
  • Worgon, instead of using bigger VMs, why not fix the memory leak? – kwill Sep 18 '13 at 14:56
  • @Kwill thanks for the reply, yes we did that but found out the problem cause is from the component we bought. Somehow it provided solution that needed to made a major change on the code and required quite of effort to do so, For eg creating SSAS. End up we decided to made the change on this. – Worgon Sep 19 '13 at 07:24

1 Answers1

1

The best option for you is to use the Windows Azure Cache Service (Preview). This will let you share session state among multiple instances of your application.

You will need to sign up for the preview service. the cache core is mature and customers are encouraged to use this service in their production applications.

This service lets you use the cache from multiple cloud services, allowing you to share data across applications too. Also, this removes the dependency for you to use XL VMs just because In-Role Cache wasn't supported on A7.

Also, to be clear, Cache has 3 flavors - 1. Shared Caching - This is a multi-tenant service and is being deprecated 2. In-Role Caching - Here the cache is deployed in your cloud service and can only be used from within the cloud service. This is of two types - Co-Located & Dedicated. 3. Cache Service (preview) - The newly released service.

There is nothing called Dedicated Shared Cache. :)

  • Dedicated (or role based) caching can be shared among multiple instances as long as they are in the same hosted service. There is no need to use the managed cache service for this scenario. – kwill Sep 18 '13 at 14:56
  • @Abhinav Gupta, thanks for the reply. do you using the cache service now? hows was the stability? btw, thank for pointing my mistake. – Worgon Sep 19 '13 at 07:30
  • @kwill, properly will go ahead with the cache services because we do provide some other application that are able to share a single sign on. Thanks – Worgon Sep 19 '13 at 07:31
  • @Worgon, I am in the said Azure Cache team at MSFT! The core is very stable indeed, we are actively encouraging users to use our Preview with their production apps! – Abhinav Gupta Sep 19 '13 at 14:23
  • @AbhinavGupta okay will order my boss to put R&D on this ASAP and sorry for the insult. – Worgon Sep 20 '13 at 02:51