Make it easier for me to scale up or down my Windows Azure hosted service.
Opstera recently shipped a zero install SaaS service called AzureOps to perform smart scaling for Windows Azure applications. Check it out here http://www.opstera.com/products/Azureops/
Rafael Staib commented
I need a more convinient way to do Autoscaling like using the service configuration file and without extra scaling role. Please vote for this feature too: http://www.mygreatwindowsazureidea.com/forums/34192-windows-azure-feature-voting/suggestions/2603265-autoscaling
Grigori Melnik (Producer) commented
Update (Dec 1, 2011): The Autoscaling Application Block final release is now available: http://bit.ly/v6A1aU
Among supported scenarios:
1.Autoscaling both web and worker roles in Windows Azure by dynamically changing instance counts or performing application throttling.
2.Autoscaling Windows Azure roles based on timetables.
3.Autoscaling Windows Azure roles based on metrics collected from the application and/or Windows Azure but constrained by upper and lower bounds on the instance count per role.
4.Preventing fast oscillations in the number of role instances with the stabilizer. The stabilizer can also help to optimize costs by limiting scaling up operations to the beginning of the hour and scaling down operations to the end of the hour.
5.Monitoring and logging autoscaling activity.
6.Sending notifications to preview any scaling operations before they take place.
7.Encrypting the rules and other configuration in Windows Azure blob storage or in local file storage.
8.Managing the autoscaler configuration by using Windows PowerShell.
AVG Mobilation commented
This is top item on my list - a feature that is provided built-in part of the platform on GAE and AWS - a glaring miss on Azure!
Grigori Melnik (Producer) commented
Microsoft patterns & practices team is developing a new application block that will address various auto-scaling scenarios. See http://blogs.msdn.com/agile/archive/2011/08/23/autoscaling-windows-azure-applications.aspx
This is very much needed since we don't want to monitor our load and scale up manually. The system should auto scale depending on load. I understand there would be different charge setup for that.
Bill Wilder commented
A special (and very useful) case of easier scaling is ability to set a Role Instance Count to Zero. Consider also voting for this related feature which is separately listed: http://www.mygreatwindowsazureidea.com/forums/34192-windows-azure-feature-voting/suggestions/743252-allow-a-role-instnace-count-of-0
Igor Papirov commented
Just wanted to let you all know that a service dedicated to monitoring and dynamic scaling of Windows Azure instances is about to be unveiled. We've been working non-stop on this offering since spring of 2010 and will soon be able to take registrations for the beta program.
Using our service called AzureWatch, you would be able to monitor your Azure instances, get notifications and scale them up or down based on your users rules that are in turn based on aggregate statistics generated by your Windows Azure instances (things like performance counters, queue lengths)
Chris Auld commented
Worth taking a look at this sample that the we put together with the folks in DPE
"This documentation included in this project discusses and demonstrates the concept of dealing with variable load through rule based scaling and explains in detail the architecture, implementation and use of the provided sample code. It also mentions extensions to the framework to support other scenarios."
Feedback gladly taken.
Gaurav Mantri commented
You may want to look at Azure Diagnostics Manager we just released in private beta. More information and sign up sheet available at http://www.cerebrata.com/Products/AzureDiagnosticsManager.
Andy Green commented
I definitely added my 3 votes for this one; something that allows you to also monitor the bandwidth you're consuming - with our particular site, if there's a certain type of news incident, traffic spikes tremendously, and having some kind of bandwidth indicator to be able to judge the spike and increase capacity to handle the load would be very useful. Even just an overall usage dashboard (requests, CPU load and memory, as described above) would be helpful.
Bicheng Cao commented
I have checked the video and the dashboard looks cool. But I suppose to get an easier way for developers to achieve autoscaling. My idea is that we just need to specify a minimum instance number and maximum instance number, and Azure will autoscale my instance number in this range.
I don't really care how Azure can acheive that as a developer, you may check the CPU, latency, Queue length, etc. All I need is that I don't need to know status of any of my instances and the app can serve different volumn of requests cost effectively.
being able to see how my setup is running.... do I need to add instances? do I have too many instances running?
I've moved a simple IIS service that basically performs a large number of database inserts - running on a standalone box I was able to see what the CPU load, memory usage, request queue, open tcp connections to the DB server etc and work out if I needed to add another web front end or upgrade the database box...
with azure it's unfortunately totally transparent unless I research and write additional code to provide me a monitoring service :(
exposing the capability in the console would be good - I can only guess it's coming. having hidden features you need to watch 53 minutes of video to find isn't the most discoverable :(
Excellent, thanks for letting me know. Glad we were able to help.
I wouldn't have found that video based on the title, excellent news, yes thats exactly what is needed
Thanks for the suggestion here. I wanted to make sure everyone is aware of this session that was held at PDC '09. Check out the video here, fast-forward to 52:20 for a discussion about autoscaling with Windows Azure. http://microsoftpdc.com/Sessions/SVC25
What's your feedback about this?
Thanks - Mike
Smart limits would be great, if resource load rose above 85% start another instance or if load drops to below 50% shut down an instance