Chances are you've heard of Windows Azure and know that it's some sort of cloud-based solution. But why do we need it and what new opportunities does it open up for developers?
There's a lot of arguing in the IT community over what exactly comprises cloud computing, but the basic concept is pretty simple: access to computing resources as and when you need them. Consider the example of a company that sells tickets to major events. At the point when tickets go on sale, there will be thousands of people simultaneously trying to access its site. If the company runs its own servers and hosting environment, it will need to pay for enough capacity to handle that maximum load, even though it isn't used 90% of the time. That approach means massively overspending on IT equipment and the staff needed to keep it running, simply to deal with occasional peaks in demand.
If that company instead uses a cloud computing environment, it can adopt a pay-as-you-go approach. When its site is relatively quiet, costs will be lower. When that major event goes on sale, additional computing resources can immediately be made available by the cloud provider, ensuring the site performs without interruption. The ticketing company will pay more for those additional processing cycles, but its overall expenditure can still be far lower. Meanwhile, the business offering the hosted cloud environment can share those resources amongst multiple clients, ensuring more efficient utilisation and lower costs for everyone. The ticket seller (or any other business) can also concentrate its IT efforts on the factors that make its business unique, rather than simply "keeping the lights on" in its server system.
Windows Azure takes that concept and applies it with technologies that are already familiar to developers and IT managers around the world: the Windows family of operating systems, SQL Server as a database and the Microsoft Visual Studio environment used to create robust applications. Backed with the technological and financial strength of Microsoft, that creates a cloud environment that is reliable, globally available and ready for the future, and which you don't need to learn coding from scratch to utilise.
After several years of internal development, Windows Azure was made generally available to developers in January 2010. Azure operates from six data centres worldwide (two in the US, two in Singapore, and two in the Asia-Pacific: Hong Kong and Singapore).
Developing for the cloud
While it's reassuring to know that there's a solid infrastructure and clear service delivery guidelines behind Windows Azure, developers don't need more than their existing skills to get started on building Azure applications, whether that's for their own business or to offer as a service to others.
Any Azure developer can immediately start using the familiar .Visual Studio environment and the .NET framework to begin building applications. If you want to use Ruby or Java, you can also do that via the AppFabric middleware framework (which we'll revisit in detail in a future instalment). And there's a free trial edition available, so you can see how well Windows Azure works for you without needing to commit to a big up-front spend.
In the coming weeks, we'll be covering the key tools you need to get started with Azure, talking to existing Azure developers and experts to get their insights into making the most of the Azure opportunity, and telling you about a series of special events we're holding to encourage and inspire Azure development.
If you’ve got a great idea for a Windows Azure app, we can help make it happen — check out our awesome My Concept Rules contest.
Picture by Peter Kaminski