Last week I had a great discussion with a friend on Twitter about a post I made where I showed an application written in Azure running on an iPad. He didn’t find it all that interesting – he said it’s just HTML, and any code written that way, even if not on Azure, would work on an iPad. And he’s right!
That’s actually the point – Windows Azure is the “back end” technology – it should not be browser-specific. So you just write your front-end the way you always have – no changes there. The difference is that the technologies on the back end that you can use to process, save and access data. That’s where the Azure Servers come in to play.
For many of us, we have servers available at our companies where we deliver these services to our users. But in some cases, you don’t. For instance – let’s assume you want to write that Karate-school application I mentioned in this post. If you don’t work for a company that does that, you can still use a complex, redundant, large array of servers to provide your technical solution to clients around the world. I just find that very empowering. Not only should you create things that are browser-independent, but the application becomes company independent. You can become the company.
The other advantages of Azure are the three “parts” of the cloud. The first is the “Compute” function. This is just web-based code, as I mentioned. You get ASP.NET, PHP, Ruby – all the languages you know and love. But you don’t have to manage the systems, upgrades, licenses and other platform requirements. And the biggest gain is that you can add and remove processing nodes as you need them, on the fly, with a credit card. I find that pretty powerful, and not something I can do with other methods.
The next part is Storage. You get Blob storage, which is really like a file-system, and table storage, which is similar to the key-value pair type storage in a NoSQL implementation. And you can access that storage not just through Azure code, but with other web methods. So it can “stand alone” or work together with the Compute function.
Finally, there’s the Application Fabric. This function handles authentication and communication between applications and servers, even the ones you have locally. In other words, you can have local code, or a local server (like SQL Server or Oracle) and make that code or data available on the web. And you can mix and match all of this – meaning Compute, Storage and Application Fabric (which might include your local servers) can all talk. That’s what’s different than you can do today, or with something like Amazon or Google web offerings.
So you should just switch everything over, right? No! It’s not all rainbows and ponies. There are things to consider when releasing an application, and you can certainly do things incorrectly if you don’t think it all through. My point is that you can leverage other services, just like your company leverages power provided from the utility company, to do things you couldn’t do on your own.