Tuesday, July 12, 2011

Introducing the Windows Azure Cost Modeler

I’m pleased to introduce the Windows Azure Cost Modeler, a free online tool from Neudesic for estimating Windows Azure operational costs that can handle advanced scenarios.

Why another pricing calculator, when we already have several? There’s Microsoft’s new Windows Azure Pricing Calculator (nicely done), the Windows Azure TCO Calculator, and Neudesic’s original Azure ROI Calculator. These tools are great but they focus on the every-month-is-the-same scenario; unless your load will be constant month after month you’ll find yourself having to make some of the calculations yourself.

With the cost modeler, you can easily explore fluctuating-load scenarios such as these:
• Seasonal businesses that run a larger configuration during their busy season
• On-off processing where solutions are not constantly deployed year-round
• Configurations that increase or decrease over time to match projected changes in load
• Hosted services that are not deployed every day of the month (such as weekdays only)

The Windows Azure Cost Modeler user interface is shown above. It includes a standard pricing calculator (middle section). It can track multiple configurations, represented as color-colored profile cards (top). Profile cards can be arranged in a storyboard sequence to define a timeline (bottom), one for each month. What we’ve strived for is flexibility in modeling while keeping the interface simple.

A profile is a monthly pricing configuration that you can assign a name and color to. Profiles are arranged at the top of the tool. The pricing calculator shows the details of the currently selected profile and allows you to make changes.

Buttons at the top right of the pricing calculator allow you to clear the current profile (resetting its inputs to 0), create a new profile, remove the current profile, or remove all profiles.

Pricing Calculator
The pricing calculator has similar inputs to the other Windows Azure pricing calculators and includes all platform services which have been commercially released, including Windows Azure Compute, Windows Azure Storage, Content Delivery Network, SQL Azure Database, AppFabric Access Control Service, AppFabric Caching, and AppFabric Service Bus. You can specify values using the sliders or you can directly edit the numbers.

In the Windows Azure Compute area of the calculator you specify the number of instances you want for each VM size. There is also an input for the number of hours deployed per month, which is handy if you don’t deploy your compute instances for every hour of the month. For example, if you only require your instances to be deployed for the first day of the month you would set hours/month to 24.

The Windows Azure Storage & CDN area is where you specify data size and number of transactions for Windows Azure Storage. If you’re using the Content Delivery Network, also estimate your data transfers.

For SQL Azure Database, select the number of databases for each of the available sizes.

In the Data Transfer area, specify the amount of egress (outbound data transfers). There is no input for ingress because inbound data transfers are now free in Windows Azure.

The AppFabric area is where you specify consumption of AppFabric Services. For Access Control Service, enter the number of transactions. For Caching, choose one of the six available cache sizes. For Service Bus, define the number of connections. The Service Bus price calculation will automatically select the best combination of connection packs.

The Estimated Charges panel shows the charges, itemized by service and totaled, with monthly and annual columns. By default amounts are rounded up to the nearest dollar; if you prefer to see the full amounts including cents, clear the “Round up to nearest dollar” checkbox.

At the top left of the Estimated Charges panel is a U.S. flag, indicating the rates are for North America and calculations are shown in U.S. dollars. The tool does not yet support other currencies, nor the slightly different rates in Asian data centers, but this is coming.

At the top right of the Estimate Charges panel is a help button, which will display the rates and also offer to send you to Azure.com to verify the rate information is still current.

Once you’ve defined your profiles you can add them to the timeline at bottom. To add a profile to the timeline, select the profile you want and click the Add to Timeline button. The profile card appears in the timeline.

If you’ve added a profile card one or more times to the timeline and then need to make changes to the original profile, you can update the profiles in the timeline by clicking the Apply button at the top of the pricing calculator.

To remove a card, click the Remove button at the top right of the timeline. The selected card will be deleted. To remove all cards, click the Remove All button.

Scenario Examples
Here a few examples of how you can model scenarios in cost modeler.

Example: Ramping Up
In this scenario, a business wants to model their first year of Windows Azure costs. They will use a free trial offer for one month, then work on a Proof-of-Concept for two months, and then go into production. In the modeler, we create 3 profiles named Free, POC, and Production and add 1-Free, 2-POC, and 9-Production cards to the timeline to model Year 1 operational expenses.

Example: Seasonal Business
In this scenario, a tax preparation service has a very seasonal business where March-May are the busy season where a lot of computing power is needed and the rest of the year is the off season where very little compute power is needed. In the modeler, we create a Peak and Off Peak profile and arrange them in the timeline to show the year has 2-Off Peak, 3-On Peak, and 7-Off Peak.

Example: End of Month Bursting
In this scenario, a solution runs in the cloud only on the last day of each month to perform month-end batch processing and reporting tasks. If it is also the end of the quarter another day is needed to run end-of-quarter processing. If it is also the end of the year a third day is needed to run end-of-year processing.

We can define 3 profiles, one each for end of month (1 day of processing), end of quarter (2 days of processing), and end of year (3 days of processing). The correct profile for each calendar month is then very easy to assign: each quarter repeats the sequence EndMonth +EndMonth +EndQuarter except the final quarter which is EndMonth + EndMonth + EndYear.

We hope you find Windows Azure Cost Modeler (http://azurecostmodeler.com) and Neudesic’s other tools and services helpful. If you have any feedback about how we can improve our offerings, please contact me through this blog.

For a deeper analysis of whether Windows Azure makes sense for you, I urge you to take advantage of a Cloud Computing Assessment.


Supraja Jayakumar said...

Dear Sir

I am a Computer Science grad student at the University of Utah. I am learning Azure by following your projects on Codeplex and trying to learn the various features of the azure platform this way.
However I would like your valuable suggestions on possible student projects in Azure. I am having a hard time debugging with Azure especially as a newbie to both web development and azure. In this situation, I am not sure what the ideal thing to do is. Could you please offer your wise counsels and words on the same.
Supraja J

David Pallmann said...

Hi Supraja. I suggest going through some Windows Azure books and online tutorials, and especially the Windows Azure Training Kit which has many self-paced hands-on labs.

This might be a good book to start with: Windows Azure Step-by-Step:


Unknown said...

David, thanks for the tool, i could use the seasonal capabilities. Are you guys also planning on saving timelines and the ability to print or export it?

Riccardo Becker