Mix 09 Microsoft will soon start a significant expansion of the hosting capabilities available in its nascent cloud, Azure Services Platform.
The company told Mix 09 it will start running Azure in multiple North American data centers in the "next few months," so early adopters can chose different locations for their cloud applications and storage. Azure currently runs in Microsoft's Quincy, Washington data center, which packs 1,300 Dell servers into 470,000 square feet.
"As we move forward in the next couple of months, we will begin running Windows Azure in multiple data centers," Microsoft's James Conrad told Mix attendees. "You will have the ability to run ASP.NET and storage in specific data centers...North American data centers are the start, [and] as we move forward with Azure will make it available in other data centers around the world."
The expansion is in addition to the inclusion of business application features from SQL Server plus support for non-Microsoft and .NET programming languages such as PHP on Azure.
The panned roll-out comes as Microsoft tried to explain why Azure went offline for 22 hours at the weekend - Azure's first outage since pre-beta testing began last October. The problem centered on a part of Azure that's central to the system's entire operations: the Fabric Controller.
The Fabric Controller responded to a network problem by moving users' applications to different servers, Microsoft said. Only, it seems rather like Hal in 2001, the machine, er, took its work a little too seriously. The Fabric Controller thought that all servers were failing and tried to spin up a new server instance for every single server, according to this post.
The Azure team skipped over the precise details but said: "Because this serial process was taking much too long, we decided to pursue a parallel update process, which successfully restored all applications."
The Fabric Controller was built by Microsoft to manage resources and load balancing as defined by the user while managing upgrades and availability automatically.
Microsoft partner and Most Valuable Professional (MVP) Benjamin Day of Benjamin Day Consulting, who's preparing a set of best practices for users of Azure, said it sounded as if those running only single instances of their applications had been most affected as they'd lost their applications entirely. Those running at least two instances only saw performance degraded.
Day recommended running multiple instances of your application to protect against potential future failures.
Overall, he called this a "learning opportunity" for Microsoft and said he was glad this had happened during the Community Test Preview (CTP) phase, when a limited number of users were affected. "I'm glad that they had a major failure during the beta rather than discovering this problem after going to production," Day said.
Problems or not, Microsoft seems determined to press on with its Azure roll-out and will begin adding additional servers, systems, and capabilities for the Fabric Controller to manage while Azure remains in CTP mode. The service is due to go live this year.
Additional North American data centers are the prelude to worldwide roll-out and will come as Microsoft adds relational functionality from SQL Server to the storage layer of Azure - SQL Data Services (SDS) - in the next CTP.
Additionally, Microsoft told Mix it's designing the Azure database engine to be able to quickly provision server instances on commodity hardware - such as the Dell servers used in Quincy. The idea is to avoid the need to manually establish new clusters as applications grow.
The co-located fabric is the first phase in an expansion that'll see Microsoft start to layer in features from its popular SQL Server database. Microsoft has already said relational capabilities would be added to SDS with the addition of Tabular Data System (TDS) in the next Azure CTP.
At Mix 09, though, the company said its long-term plan is to go beyond that with the addition to the cloud of SQL features for business analytics and reporting.
As part of the drive to add more capabilities from SQL Server to Azure, Microsoft will also add interoperability with PHP, Ruby, and Java through SQL drivers. Microsoft announced the ability to run PHP applications on Azure with the addition of FastCGI support. Microsoft promised support for additional languages including Perl and Ruby, but did not provide additional details. The company is expected to demonstrate Python and Google App Engine on Azure at Mix. ®