Gone are the days when AzureWatch was the only option for auto-scaling of Windows Azure cloud services. Today, basic auto-scaling support is also offered in Windows Azure itself (free while in beta) and is available as a WASABi Enterprise Library for the do-it-yourself and host-it-yourself types.
This article examines the Pro's and Con's of each approach and explains when using AzureWatch's advanced features makes sense. A quick reference guide is provided toward the end that documents the differences between three offerings in a side-by-side comparison table.
When it comes to ability to auto-scale, manage, heal and monitor various Windows Azure resources, Enterprise Library WASABi, native Windows Azure monitoring and autoscaling and AzureWatch all offer different features to satisfy different needs.
- WASABi is great for folks who like to have complete control over their scaling implementation, do not mind tinkering with settings on lower level, and do not really need monitoring of such Azure services as SQL Azure or Storage. WASABi allows users to deploy their own scaling engines, provide sophisticated XML-based configuration sets and basically tinker with things in depth. Users running WASABi are also responsible for hosting and monitoring it.
- Windows Azure's native support for auto-scaling was recently added into the platform itself. This is a great option for users who prefer simplicity over flexibility and probably targets smaller or non-mission critical applications. It is also great for users who are just starting out with Windows Azure and are not yet sure what features from an auto-scaling platform they need.
- AzureWatch's strengths lie somewhere in the middle of the other two options. It offers endless abilities to tinker with settings of its auto-scaling engine, albeit not at the same level of depth as WASABi, but at the same time it provides a nice configuration UI and a fully managed environment. Furthermore, it supports monitoring of SQL Azure, Storage, and has a ton of other features that make it compelling for businesses running serious applications on the Azure platform.
On top of supporting all of the customary auto-scaling options like upper/lower boundaries, throttling, etc. AzureWatch also allows scheduled-based scaling, ability to restart/re-image misbehaving VMs, scheduled-based shutdown-startup of servers, ability to scale based on rate of change in demand, ability to evaluate complex boolean rules, and tons of other features that its users have requested over the years to support their sophisticated monitoring and scaling strategies.
AzureWatch is a commercial product not owned by Microsoft and while not expensive, it is not free and may not be the best choice for users who are just playing around with Windows Azure platform or who run small personal websites.
|
Windows Azure
|
WASABi
|
AzureWatch
|
Platform Coverage
|
|
|
|
Cloud Services (Web/Worker Roles)
|
Yes |
Yes |
Yes |
Virtual Machines (in Availability Sets)
|
Yes |
No |
Yes |
Virtual Machines (stand-alone)
|
No |
No |
Stop/Start/Reboot |
Azure Websites
|
Yes |
No |
Yes |
Azure Mobile Services
|
Yes |
No |
Not Yet |
SQL Azure & Federations
|
No |
No |
Monitoring |
Azure Storage
|
No |
No |
Monitoring |
URL Endpoints
|
Monitoring (up to 2) |
No |
Monitoring (no limit) |
|
|
|
|
Scaling Features
|
|
|
|
Frequency of Monitoring
|
5 minutes |
custom |
1 minute |
Performance Counter Evaluation
|
CPU Utilization Only |
Any |
Any |
Queue Depths Evaluation
|
Storage & Service Bus |
Storage & Service Bus |
Storage & Service Bus |
Scaling Cooldowns
|
Yes |
Yes |
Yes |
Scheduled Scaling
|
No |
Yes |
Yes |
Monitoring of Running Averages
|
60 minute (CPU only) |
custom |
up to 24hrs |
Scale down to 0 servers with Virtual Machines
|
No |
No |
Yes |
Advanced scaling formulas with running averages
|
No |
Yes |
Yes |
|
|
|
|
|
|
|
|
Other
|
|
|
|
Simplicity of use and ease of integration with Windows Azure
|
Simple |
Advanced |
Medium |
Pricing
|
Free, while in beta |
Self-hosting costs only |
<$10 server/month |
User Interface
|
Built into Windows Azure |
None |
AzureWatch Management Studio |
b45e8db5-46db-401a-8b61-1239cb3dc976|3|5.0|27604f05-86ad-47ef-9e05-950bb762570c