Ever since cloud came onto the scene, I’ve loved the concept but have always been a bit put off by high availability. You can’t simply install your on premise software into an image and think your are done. Quite simply, high availability techniques on premise do not translate perfectly into rich and growing tools like Windows Azure. I’m excited about Oracle’s partnership with Microsoft, especially on the Windows Azure side. That opens up even more options to move software to the cloud in a way that makes your life easier. But they are going to need to think through how to keep that software up and running when a glitch causes you to stumble or when a data center goes down. Almost all on premise software will run on a database and will need a user store. To the extent that a cloud infrastructure provider gives you a solution around that then life is better.
But enough of my rant, in doing some research on high availability in Azure and Amazon EC2, I ran across this article on High Availability Basics: Windows Azure Vs. Amazon AWS Cloud by Karthikeyan Anbarasan, a Microsoft MVP. It’s a primer but contains some interesting information.
Karthikeyan mainly focuses on
- Failover of the core component
- Auto-scalability
- Load balancing
- Monitoring
So it’s not a perfect reconciliation with high availability of core services like database and user repository. That said, it’s worth a couple minutes to read.