What is Microsoft Windows Azure? That was never an easy question to answer. And it has only become more difficult now that Microsoft has unveiled several new additions to its online service.
The short version is that Windows Azure is an online service for building applications, hosting them, and readily scaling them to an ever larger number of users. It's kinda like Amazon Web Services. But it's also a little different. As of Wednesday afternoon, the news is that Microsoft has beefed up Azure in ways that make it more like AWS, a set of cloud services that, according to one estimate, run nearly 1 percent of the entire internet.
In an effort to catch the Amazon juggernaut, Microsoft is embracing an ever larger array of outside development tools, and it's generally giving developers more freedom to run whatever they like on the service.
Microsoft has always billed Azure as a "platform cloud," meaning it lets you build and host applications without having to worry about raw computing resources such a virtual machines, the software-created servers that underpin applications. But the service is evolving into something closer to the "infrastructure cloud" setup popularized by Amazon, where you can spin up virtual machines and load them with almost whatever you like. Using the Amazon model can require more work, but there’s also more freedom.
On Wednesday, as expected, Microsoft rolled out a new Azure service that lets you spin up raw virtual machines that run both Windows and Linux. Plus, Azure now lets you use virtual networks that span Azure and your own data center -- something Amazon has long offered as well.
With these virtual machines, Microsoft tells us, "customers will be able to instantly run their existing applications in the cloud. VMs allow customers to easily move existing applications and infrastructure, whether Windows or Linux, to the cloud without requiring any changes to the existing code."
Microsoft has previously offered raw virtual machines, called VM roles, but these are a little different. Basically, the new virtual machines are "persistent," meaning they can retain data indefinitely, even after they’re rebooted.
Microsoft is also offering a new software development kit, or SDK, for the service. And according to Lucas Carlson, the CEO of AppFog, a Portland, Oregon, startup that is running software atop the new Azure, the key addition is a new API, or application programming interface, that lets developers more easily use Azure from a command line or in tandem with widely used developer platforms such as Ruby on Rails and Node.js.
The API will use the web's underlying HTTP protocol and an API convention called REST (representational state transfer). Basically, this means it can be used on most any software platform, with almost any language. "Microsoft is invested in making sure that developers can use Windows Azure services from the languages of their choice," the company said. "To that end, we will continue to invest in the REST APIs so that developers can consume services from any language on any machine, including both Macs and PCs."
The general perception is that Azure only works with Microsoft's own programming tools, including the .NET platform and the C# language. But Microsoft is working to change this perception, hoping to attract a world of developers who have come of age using open source software.
This is a tall order. Microsoft has long been viewed as the mortal enemy of open source. But according to Carlson -- a longtime open source developer -- it's a must. "If you don't have open source mindshare," he says, "it stops engagement across the board."
Microsoft is undoubtedly moving toward the open source community. Azure already ran applications written in Java, Ruby on Rails, and PHP, and it had already embraced such big-name open source platforms as Node.js and Hadoop. Then, on Wednesday, the company said it had improved the use of .NET, Java, and PHP on the service, while adding Python to the mix as well.
At the same time, Lucas Carlson's AppFog introduced a new service that demonstrates the evolution of Azure. AppFog is itself a "platform cloud," but it runs atop various infrastructure clouds, including Amazon EC2 and the new HP Cloud. And now it runs atop Windows Azure, too.
Confused? We don't blame you. Cloud terminology doesn't always do the technology justice. In short, AppFog is a development and hosting platform that spans multiple online services, letting you build and run applications that can be moved from cloud to cloud -- from Amazon to HP to Microsoft and back again. The point is that Azure lets you spin up raw virtual machines that can run almost anything.
So, Azure is a platform cloud, but it's also an infrastructure cloud. And whenever you want to call it, it's giving developers more options.
Update: This story has been updated with comments from Microsoft.