July 16, 2009 6:55 AM PDT

Will Microsoft Azure promote efficient software development?

by James Urquhart
  • Font size
  • Print
  • 2 comments

Microsoft's announcement of Windows Azure pricing confirmed a lot of speculation about the nature of Azure and its target audiences.

First, Microsoft plans to compete directly with infrastructure-as-a-service (IaaS) vendors, especially market pioneer and leader Amazon Web Services. As CNET's Ina Fried reported:

On a pure consumption basis, Microsoft said it will charge 12 cents per hour for computing, 15 cents per gigabyte for storage and 10 cents per 10,000 storage transactions. For network bandwidth, the software maker is charging between 10 cents and 15 cents per gigabyte.

Interestingly, The Burton Group noted on their blog that something is missing in Microsoft's initial pricing for consumption:

As you might expect, the compute model is similar to EC2 in that the pricing is "per hour" and per GB. The missing part in the model is the size (or type in EC2 terms) of the compute platform. I would expect Microsoft to augment pricing for compute based-on the amount of compute resources an application requires.

That is a pretty glaring omission. I wonder if it reflects the maturity of Microsoft's virtualization technology, or if the company is holding back some interesting details about how varying compute demands will be handled. I expect we'll find out when the company holds its Professional Developer's Conference in November.

Second, like Amazon, it's an IaaS offering that really verges on a platform-as-a-service (PaaS) model: targeted more at developers than traditional system administrators. The proof is in the importance placed on .NET services, and the way messaging and access control operations are priced. The Windows Azure Platform Pricing and Licensing Overview states:

  • Messages = $0.15/100K message operations , including Service Bus messages and Access Control tokens
  • Bandwidth = $0.10 in / $0.15 out / GB

Interestingly, that page positions these services to be about integration with existing, on-premises enterprise software systems:

Messages (Includes Access Control, Orchestration, and Reliable Queuing for message): .NET Services allow developers to easily connect their cloud applications and databases with existing software assets and users. This connection between cloud and on-premises assets is facilitated by the exchange of messages. The consumption-based pricing model means that customers will pay only for the number of message operations that their applications use. The definition of a "message operation" includes Service Bus messages and Access Control tokens. Messages are charged to the customer in discrete blocks of 100,000 ("100k") for each monthly billing period...

However, if I read this right, any request to the Azure access control system will count as a .Net operation, resulting in a charge per 100K operations. (Bandwidth charges are also charged, but I am assuming that is only so if the message is sent or received outside of the Azure service.)

Which brings me to the point of this post. Will Azure force developers to be much smarter about their use of network bandwidth and .Net services than they would be otherwise? Is this pricing a sign that we are returning to the world in which resources will be carefully rationed amongst operations, and that efficiency reigns supreme? Will companies compete on the efficiency of their developer's architectures and implementations?

Do cloud computing services like Windows Azure or Amazon Web Services encourage better software development, or will they have little effect on the quality of commercial software?

James Urquhart is a seasoned field technologist with almost 20 years of experience in distributed systems development and deployment, focusing on service-oriented architectures, cloud computing, and virtualization. James is currently market manager for the Data Center 3.0 strategy at Cisco Systems, though the opinions expressed here are strictly his own. He is a member of the CNET Blog Network and is not an employee of CNET.
Recent posts from The Wisdom of Clouds
Seven businesses to look out for in 2010
Putting Amazon's spot pricing in perspective
Microsoft Azure, Server teams form new cloud division
Practice overtaking theory in cloud computing
Five competitive differentiators for cloud services
IBM launches development and test cloud
Does cloud computing need malpractice safeguards?
Mitosis in action: Cloud computing and 'The Cloud'
Add a Comment (Log in or register)
by glamourati July 16, 2009 9:30 AM PDT
It is a good angle for a story. As a programmer, I would say, although in theory it could, but in practice it will not. The reason is because the generality, modularity and elegance programmers try to incorporate into their code and systems will not map directly to the Azure pricing model. In practice, it will probably actually be a constraint. It is also another issue on a developers mind when creating an application or system that really doesn't need to be there. Further, if a programmer were to optimize for Azure, they would pay for that later if/when Azure architecture and/or pricing changes or if/when they want to migrate to a different system or cloud. What promotes efficient software development more is the overall workflow and maintenance costs as it is generally accepted that most (2/3) of the cost in software development is spent on maintenance. For this reason, cloud and PaaS offerings, especially "Open Platform as a Service" systems will promote more efficient software development because they let the developer choose the programming language, development tools, server, etc. and how all the parts interact instead of analyizing a rigid system to figure out how to save money with workarounds.
Reply to this comment
by williamlouth July 19, 2009 12:06 PM PDT
Should I be surprised James that you omitted a reference to activity based costing (metering/chargeback/billing) approach that we have been promoting as a unified approach to performance and cost management?

How Fast and at What Cost?
http://www.jinspired.com/products/jxinsight/meteringthecloud.html

http://williamlouth.wordpress.com/2009/03/23/cloud-computing-a-tale-of-two-machines/

"Similarly in the cloud customers will want to see their own metered resource usage and metered cloud service interactions to be reported at the program type and possibly program instance level. This could potentially lead to a RADICALLY (but hopefully beneficial) change in how software and technologies are evaluated for inclusion in the building of cloud applications as the once hidden operational cost plays a bigger role in the decision making process."

FREE => EXPENSIVE if you are not careful.

William
Reply to this comment
advertisement

15 sites that went kaput in 2009

Web sites launch all the time, but they also shut their doors. We highlight 15 that bit the dust this year.

Top 10 news stories of the decade

Let the debate begin: Was the iPhone more important than iTunes? Was anything bigger than Google finding a great business model? CNET offers its list of the 10 most important stories of the '00s.

About The Wisdom of Clouds

The Wisdom of Clouds, a CNET Tech blog by James Urquhart, covers cloud computing, virtualization, SaaS, data centers, and much more.

Add this feed to your online news reader

The Wisdom of Clouds topics

advertisement

Inside CNET News

Scroll Left Scroll Right