This article is an overview of the basic differences between Windows Azure and Amazon Web Services Cloud Services when we are trying to figure out which is the best provider for the business requirement. Consider we have a set of requirement which is of the below list.
- Highly Available System
- Migration from Traditional hosting environment to Cloud
- Back up and Monitoring [more]
Moving an existing dedicated environment from a traditional hosting provider to Cloud requires a considerable amount of decision taken based on the requirement and the technology stack. On a high level we can say it was like Amazon Web Service is an Infrastructure as a Service (IAAS) where we get the raw infrastructure and we need to set up everything from the scratch. Whereas Windows Azure which is a Platform as a Service (PAAS) where we need to concentrate on our application and deploy it on top of the Platform provided by the service provide basically Windows Azure. But with the recent release of Windows Azure which is Meet Windows Azure Edition, we can say Windows Azure is a IAAS provider with the new additions of Virtual Machines over the cloud where we get the raw infrastructure to set up the application.
Highly Available System:
Window Azure: When it comes to Windows Azure we can set up a highly available system by taking into consideration of the below points.
- High Availability by setting up the components with the same Affinity Groups with in the region
- Failover of Web/Worker Role using Auto Scaling blocks.
- Scalability of Web/Worker Role using Auto Scaling blocks.
- Load Balancing using Azure Load Balancer.
- Health Check Monitoring and Diagnostics Notification based on the Load.
Amazon Web Service: When it comes to AWS we can set up a highly available system by taking in to consideration of the below points.
- High Availability using multiple AWS Availability Zones within a region.
- Failover of Amazon EC2 instances (Web/App) using Amazon Auto Scaling.
- Scalability of Amazon EC2 instances (Web/App) using Amazon Auto Scaling.
- Load Balancing using Amazon Elastic Load Balancing.
- Health Check Monitoring and Scaling based on the Load.
- Notification Services to intimate about the System Availability.
Migration from Traditional hosting environment to Cloud:
This step involves a lot of consideration based on the requirement while deciding the type of Cloud Environment we decide to move. Some of the Examples
1) If requirement says that database size is > 150GB then SQL Azure is not an option. So the better option was to use the Virtual Machine on the Cloud and use the Traditional SQL Server image on the cloud and use it as SQL Azure. Which we can take it with Amazon Web Service as well which is a Matured environment with monitoring and data backup system.
2) If requirement say need an option to manage the traffic and the Content Delivery Networking based on the region the application is deployed so that the no of hops that is required to reach the application server can be reduced. In this case we can use Windows Azure Traffic Manager which is used to manage the traffic and enable the Content Delivery over the network.
3) Say if requirement say we need a highly available system with a Disaster Recovery mode on to it we normally go with setting up the Master-Slave DB Server with a Witness. In this case we can use Windows Azure where in SQL Server 2012 we get the inbuilt Disaster Recovery mode which helps us to set up a highly available system along with the Disaster Recovery model.
Back up and Monitoring:
This is a critical requirement when it comes to cloud, as we have the regular backups and monitoring in place to get the environment working model day to day to analyze and use the resources as such. In this part Windows Azure lacks a bit low (as it has some basic monitoring system) when compared to Amazon Web Services as AWS has some great components in place which can be used like
- Backup configuration of Amazon RDS database and Web/App layer
- Infrastructure related alerts via Email using Amazon SNS
- Monitoring of infrastructure using Amazon Cloud Watch metrics
- Powerful email configuration using the SES services.
- Windows Azure lacks here as we need to use the third party tools to monitor.