The Difference between Microsoft Azure and Amazon AWS

At the end of 2013 Microsoft became a visible cloud provider and Amazon was already leader. In July 2014 the two leaders in the market of public Cloud are Amazon and Microsoft. In the future Google and IBM are probably going to join the hyper scale cloud providers (Amazon and Microsoft).

AWS Free Tier vs. Azure Free Trial

An Amazon AWS free tier and a Microsoft Azure free trial are offered. It’s easy to sign up for both– you need only an email, phone number and a credit card. You will have limited instances and resources but it’s great for training or a test. You will have a basic support and access to resources like forums.

The AWS free tier is a monthly recurring program. You can use EC2, ELB, EBS, S3 for up to 12 months. It allows for Micro server (with Windows and Linux, EBS, Cloud watch, billing alerts, ect.). The charges over  the free trier will be automatically charged to the credit card.

The Azure free trial is a 30 day trial of $200 worth of services for 30 days. When you exceed $200 you will not be charged automatically, the resources will be decommissioned but they are not gone. An MSDN subscription includes $100+/month Azure services and a discount on VM’s.

Features

The naming of features is different but here is the mapping.

AWS EC2 = Azure Virtual Machines
AWS VPC = Azure Virtual Network
AWS RDS = Azure SQL Database
AWS ELB = Azure Traffic Manager (load balancer)
AWS Route 53 = Windows Azure name resolution (DNS service)
AWS EBS/S3/Glacier = Azure Storage
AWS Direct Connect = Azure ExpressRoute
AWS IAM With MFA = Azure Multi Factor Authentication
AWS Security Groups (more advanced than Azure EndPoints) = Azure EndPoints
AWS SNS/SES = Azure Service Bus
AWS EC2ConfigService = Azure VM Agent
AWS SQS (simple queuing services)/Auto Scale (more advanced than Azure) = Azure Scheduler
AWS CloudFormation/CloudWatch/AutoScale (more advanced than Azure) = Azure Automation

Both support license mobility (bring your own license)- except the OS license. Both support Puppet and Chef integration from automation and scripting perspective.

AWS RDS vs. Azure SQL Instance

Both provide hosted managed database; both simplify management, deployment and automatic snapshots/backups. Both provide multi availability zones alternatives. Both have the option to BYOL (bring our own license). AWS provides MySQL, PostgreSQL and Oracle, Azure SQL is only one.

AWS VPC Peering vs. Azure Site-to-Site

AWS allows connection between two VPC using private subnets. No transitive peering allowed. Azure security is done through ACL and Windows Firewall, uses VPN to connect.

AWS Reserved Instances vs. Azure Commitment Plans


AWS Reserved Instances (EC2)
are in three tiers (Low, Medium, and High). There is an upfront fee with a discounted rate per hour. Offer 1 to 3 year term with upfront fee. You can sell them on the Marketplace.

Azure Commitment Plans are based on a monthly pay commitment. The minimum is $500/month on Pay Monthly Plan- discount between 20-32%. It applies to all resources except Storage. It’s simple to use compare to the AWS reserved instances. They are non-refundable.

Cost Structures

You need to compare the AWS reserved instances with Azure Commitment Plans. If an instance doesn’t fit you- change it! Monitor your cost and usage.

You need to approach the Cloud- it’s not enough to be a technologist, you need to be a business analyst too. The benefit of public cloud is a known cost. You need to calculate in minimum and maximum, not at an exact cost. Both Amazon and Microsoft will provide you with calculators. AWS is slightly cheaper but it depends on your commitment plan and your MSDN subscription.

AWS will bill you per hour; Azure will bill you per minute (but cash per hour is not your main factor). You should look at discounts & features.

Monitoring and Alerting

AWS offers CloudWatch:
– free monitoring with up to 7 metrics, every 5 min
– paid 10 alerts, 1 million API requests per 1 min
– ELB have active service monitoring
– Metrics for Billing
– Notifications using SNS, SES
– Provide Phone app for basic monitoring and management

Azure Monitoring:
– Basic monitoring included (CPU, Data In/Out, Disk Read/Write Throughput every 3 min)
– Verbose monitoring pulls performance metrics from server instance every 5min, 1h and 12h

Support

Free Support
27x7x365 AWS customer service (not tech. support). Technical support – some with AWS, none with Azure.
Developer Tier Support
AWS $49 per month, Azure $29 per month but you get different thing. AWS will give you Architecture Support, Best practice guidance, Client Side Diagnostic Tools- you don’t get that from Azure.
Medium Tier Support
You get Architecture Support and IAM & API for support access with AWS but that feature is not available for Azure.
High Tier Support
It’s comparable between the two.

Security Access

MFA is an absolute must for both.  Azure lacks a bit the granularity for the users and roles.

AWS offers IAM with MFA:
– Highly detailed delegation (user, role, federation)
– Security keys for SDK/command tools/PowerShell access
– Use SSL Cert for identification thru SSH or password retrieval
– Built in support for clearing local password on boot

Azure offers Highlights – MFA:
– Admin, O365, SDK
– Federation access
– User account thru PowerShell
– OTP thru mobile app, phone call, SMS – Security reports

Compliance AWS has a lot more compliance than Azure (ex. SOC 3). AWS has a government cloud.

SLAs

It’s measured in 5 min intervals. AWS will not declare an outage unless you designed your platform properly. When the service goes down, you will get a credit for the time the service was down.

Public Cloud vs. On Premise Servers

In the last 20 years we have mastered building and operating the infrastructure, now we at IT are broker of services. You are managing the service between Microsoft or Amazon and end users.

On premise we scale-up, on the public cloud scale-out. On premises we assumed a reliable infrastructure (we designed, configured, manage it this way), on the cloud we should expect infrastructure failure.  In service oriented architecture (SOA) the application is aware of the infrastructure, knows how to reconfigure or recalibrate (ex. If it requires more databases- it can make database services requests). Traditionally on the premise the application is completely unaware of the infrastructure.  In order the service to be service oriented and the application to be designed for the public cloud, it needs to be written that way -the application to manage them and understands infrastructure.

On premise is fixed cost, buying upfront. With the public cloud is usage-based cost. On the cloud there is a lot of automation of the management of the instances.

Are there really cost savings OpE vs CapEx? With on premise servers we are used to overprovision. If we learn the differences between the public cloud and the on premise- we can save money.

The flexibility and elasticity of the Cloud is very helpful- you can change hardware at a reboot.

Security and Compliance

If you don’t secure the public cloud is your fault. You are provided but you have to implement it.

Hybrid Cloud

Currently there are around 94% machines on the premise vs. 6% on the public cloud.

Having servers on premise and in the public cloud (the hybrid model) is most likely the future. The cost for the public cloud is continuously going down. The public cloud will be the default and the exception will be the on premise.