Read part one of our interview with Roger Jennings.
What type of developer or organization stands to benefit most from using Windows Azure/cloud computing services?
Microsoft's stated goal for the Azure Services Platform is to leverage .NET and SQL Server developers' skills by making Visual Studio 2008 and, especially, Visual Studio 2010, as well as SQL Server Management Studio 2008 R2, work seamlessly with Windows Azure and SQL Azure. Thus Microsoft-only and predominately Microsoft shops are naturals for adding cloud computing to their competencies list.
Microsoft is pursuing members of their new Partners Network with discount offers of up to 48 percent for buying compute and storage capacity up-front and five percent when paying for capacity as needed. The Azure team emphasizes the openness of its platform with PHP, Ruby, and Java SDKs, as well as support for Eclipse tools. Independent programmers of multiple platform and language persuasions benefit from an active demand for cloud-savvy developers among small to medium-sized enterprises and, especially, Web startups.
What types of apps are best suited to being ported to the cloud or implemented as a cloud application?
Applications with highly variable and, especially, unpredictable popularity (and thus traffic demands) gain the most benefit from cloud computing in general and Azure in particular by eliminating the need to finance server capacity for peak loads that remains idle much of the time.
For example, a Microsoft-sponsored case study for New Zealand's TicketDirect reports that the organization "is rebuilding its customer application as a Windows Azure application and migrating its data to a Microsoft SQL Azure Database." The case study asserts that adopting an off-premises, cloud-based solution enables TicketDirect to scale its computing resources in real time in response to demand, while foregoing the expense of having to maintain its own hardware. You can read the full text of this case study (including the context for the quote from this case study).
Single-event or seasonal Web sites are another ideal application for Azure Web Roles. For example, another Microsoft case study discusses the Taste of Chicago event, "one of the largest outdoor food and music festivals in the world, attended by more than 3 million people each year." According to the case study, West Monroe Partners combined Windows Azure and Silverlight to build an interactive map for festival attendees—in less than two weeks. You can learn more about this project here.
Cloud-based personal health record applications, such as Microsoft's HealthVault, are also an ideal use of cloud computing. This application uses a cloud-based approach to increase the availability of important emergency information. For example, if you're traveling in Azerbaijan and become seriously ill, a local health provider can obtain your current health record, complete with allergy details and information about other potential complications, with only a few keystrokes.
What kinds of apps don't make sense to implement this way?
I don't think I'd attempt to implement a financial-instruments trading room or back-end services in the cloud because of cloud-related latency issues. There are also issues that make conformance with HIPAA privacy regulations and CPI DSS compliance problematic with Azure EAV or SQL Azure tables. If and when SQL Azure gains SQL Server 2008's Transparent Data Encryption features, it might be possible to overcome these issues.
What are the most significant challenges you face as a developer for taking advantage of the Windows Azure platform?
My biggest problem has been overcoming what I call "irrational terror" on the part of IT management and their concern about serious data losses caused by cloud hardware failures or data leakage/privacy compromise from unauthorized access by internal or external hackers. These IT managers dread what Mark Anderson, chief executive of Strategic News Service, predicts for 2010: a "cloud catastrophe." The dread of such an event has caused cloud computing vendors to apply more effective security strictures to their data centers than most IT organizations implement for on-premises equivalents. Transparent Data Encryption for all Azure data services would alleviate much of that fear.
A secondary challenge for many developers, including me, has been staying abreast of Azure's moving target of product names, features, namespaces, and libraries. Azure is relatively early in the development cycle, and Microsoft is devoting a substantial part of their current development resources to the Azure Platform and related products, so component churn is to be expected. I expect the rate of change to decrease markedly in calendar 2010's second half.
What does the introduction of AppFabric add to Microsoft's Azure computing platform?
The rebranding of .NET Services as Azure AppFabric has had no significant impact on the Azure Platform in itself. I was surprised, however, by the November 2009 CTP's breaking changes to the .NET Service Bus that occurred so late in the game and broke so many elements, including Service Bus Routers, Queues, WSHttpRelayBinding, and External Endpoint Registration. Reliability and security remain at the forefront of the concerns about cloud computing. For example, Google's Gmail service experienced a well-publicized outage in the recent past, and others have said that it is only a matter of time until you see a cloud security breach that will make everyone question the wisdom of this approach.
Do these concerns have merit, or are they offbase? Would you trust your own mission-critical enterprise apps to the cloud?
I mentioned earlier that there is an "irrational terror" on the part of some in IT management.
But if cloud purveyors live up to their 99.95% monthly SLAs, they will undoubtedly better the data and computing availability of most on-premises networks. Recently, I've experienced better than 99.9% uptime for my sample projects running in the South Central US (San Antonio, TX) data center. I also believe that most, if not all, cloud storage/compute vendors are better equipped to surmount Distributed Denial of Service (DDoS) attacks than are run-of-the-mill private networks.
About Roger Jennings
Roger Jennings is the principal consultant of OakLeaf Systems and the author of 30+ books about Microsoft operating systems (Windows NT and 2000 Server), databases (SQL Server and Access), .NET data access, Web services, and InfoPath 2003.
Patrick Meader conducted the interview with Roger Jennings. Patrick is a freelance editor and writer with more than 16 years experience working for technical magazines.