This week, I’m in Berlin this week at the Microsoft TechEd 2009 conference. It’s the 20th anniversary of the fall of the Berlin Wall and despite the cold weather, the city is a special place to be.
One of the most interesting sessions today was David Chappell’s introduction on Cloud Computing. It’s the second time that I’ve seen him speak and his stage presence is brilliant. Here are the key points of his session.
What is it Windows Azure?
It’s a platform for running applications and storing data in Microsoft datacentres in the cloud. There are WebRoles, WorkerRoles and Microsoft .Net Services. In an Azure web role application, Azure creates multiple virtual machines running your application and will load balance for you. Therefore, you have to be careful with managing your session state.
When and why to use Azure?
The following usage scenarios are most suitable for Azure.
- Software as a Service (SAAS) applications – High reliability is critical because infrastructure failures will affect all users, not just one.
- Variable load applications – for example, ticketing applications often receive surges in demand when popular events go on sale. Cloud computing removes the need to have expensive infrastructure on standby to deal with these spikes.
- Applications with unpredictable lifespans – for example, marketing campaigns have unknown lifespans and using Azure removes the commitment to procuring infrastructure.
- Parallel processing – financial modelling applications can make use of high processing
- Applications that don’t fit in Datacentres – there are political reasons for users wanting to bypass IT departments or some smaller companies that don’t have datacentres
- Hosting data – you could just host your data in SQL Azure and connect with existing applications
- Applications that must scale
What are the challenges?
- Trust – there is a problem with companies trusting their applications and data in infrastructure outside of their control. This may go way in time and David gave the example of offshored software development in Bangalore
- Legal – for certain applications, there are legal restrictions that prevent processing and storing data outside the contry of origin
Challenges specific to Azure:
- Lock in – if you use the API’s for storing data using Azure storage, you are locking yourself into that platform
- Currently no autoscale – if demand surges, there is no method for the fabric to detect this and to spin up a new VM automatically
Who are competitors?
Hosting companies are one of the biggest competitors. It’s a big industry who will respond to this shift in technology. A dedicated server enables admin access (which Azure doesn’t) and low cost. Dedicated servers are a highly commoditised product with a much competition in the marketplace. Pricing will always be competitive. Other cloud computing competitors include:
- Amazon EC2
- Google AppEngine
The main conclusion from this session is that there are many advantages to using Azure but the suitability is largely dependent upon your requirements.