Вы находитесь на странице: 1из 57

CLOUD WARS

AWS VS. AZURE


PAUL OLIVER
PRINCIPAL SOFTWARE ARCHITECT
VOSAIC
@ItsPaultastic
BEATBOX PHRASE #1

BOUNCING CATS
PAUL OLIVER

MY EXPERIENCE WITH AZURE AND AWS


14+ months Azure (idea5)

VMs, Cloud Services, SQL Azure, Redis, Blob Storage,


Queues, Site-to-site VPN, Azure Websites, Azure Search

9+ months AWS (Vosaic)

EC2, S3, SES, SNS, DynamoDB, Route53, API Gateway,


Elastic Transcoder, Elastic Beanstalk, IAM, CloudFront,
CloudFormation, CloudWatch
QUESTION:

WHAT IS MOST IMPORTANT TO


YOU IN A CLOUD PROVIDER?
HOW WILL YOU
COMPARE AZURE & AWS?
HOW WILL YOU COMPARE AZURE AND AWS?

Compute Instances User Interface

Storage Support and Community

Databases Price

Deployment Troubleshooting & Metrics

Security Uptime
VIRTUAL MACHINES EC2

ROUND 1

COMPUTE INSTANCES
COMPUTE INSTANCES

AWS Azure

Instance Types 54 52

Image
67,137 2,843
Choices

OSs supported 11 9

Max CPUs 40 32

Max Memory 244 GB 448 GB


VM CHOICES
COMPUTE INSTANCES

WINNER: TIE
You probably dont need 65,000+ images

You probably dont need 448 GB of RAM

Azure and AWS both provide incredible power in their


compute category

8 8
BLOB STORAGE S3

ROUND 2

STORAGE
STORAGE

AWS Azure
REST API Yes Yes
Batch Import Yes Yes
Auto Delete/Archive Yes No
Requester Pay Yes No
Encrypt Data Server Side Yes In Progress
Storage
Reduced Redundancy File Level
Account Level
Max Size of Blob 5 TB 1 TB
Security Granularity File-level Bucket Level
S3 LIFECYCLE MANAGEMENT
STORAGE

WINNER: AWS (S3)


Having file-level granularity for security is VERY useful

Auto-archive (move to infrequent access after X days) can save you a lot
of money

Auto-delete after X days huge money saver and management saver

Requester pay for storage also nice for enabling SaaS apps

9 6
SQL AZURE, AZURE DATA RDS, REDSHIFT, DYNAMODB
WAREHOUSE, DOCUMENTDB

ROUND 3

DATABASES
DATABASES

AWS Azure

Relational DB Engines as a
6 2
Service
NOSQL Engines 2 2

Use SSMS Yes Yes

Ease of managing SQL


Moderate EASY!
Server as a service

Ease of backup Moderate EASY!

Data Warehouse as a Service Yes Yes

DBEngines as a service: (AWS) Oracle, Postgres, MySQL, AuroraDB, MariaDB, SQL Server. (Azure) SQL Server, mySQL
AWS RDS
DATABASES

WINNER: AWSBARELY
If you just want SQL Server in the cloud and you dont want to manage it:
Azure is the best

If you need different database engines, like a bit more control, or youd
like a bit more mature NoSQL offeringAWS is better.

Azures DocumentDB, on paper, is superior to Amazons DynamoDB. In


practice, I like DynamoDB much better.

8 7
ROUND 4

DEPLOYMENT
DEPLOYMENT

AWS Azure

Deploy using MSDeploy Yes Yes

Deploy using Powershell Yes Yes

Staging Slot for Hot Swap No Yes

Deploy to Autoscaling
Yes Yes
Group

Deploy from Visual Studio Yes Yes

Ease of Deployment Moderate EASY!


AZURE PRODUCTION/STAGE SLOT
DEPLOYMENT

WINNER: AZURE
For deploying web applicationsapp services, cloud services and
service fabric (for microservices) are OUTSTANDING

Production and Staging slots for your app are game changers

AWS allows you to accomplish these things but you have to


create this manually

7 9
BEATBOX PHRASE #2

PACKAGING
RBAC, AZURE GOVERNMENT IAM, GOVCLOUD

ROUND 5

SECURITY
SECURITY

AWS Azure
Integrate with on-prem
Yes Yes
Active Directory
Control who can add/
Yes Yes
remove users

Control who can create/


Yes Yes
destroy edit resources

Fine-grained control over


Yes Sorta
resource access

Government-Friendly Cloud
Yes Yes
Region

Azure recently released RBAC (Role-Based Access Control) which is like a subset of IAM in AWS.
AWS IAM
SECURITY

WINNER: AWS
AWSs IAM is a must-have tool for risk management

Azures newly-released RBAC (Role-Based Access Control) is following in the


footsteps of IAM and shows promise

AWS GovCloud is the standard if you are trying to work with government agencies.
Azure Government is trying to build the reputation.

Azure provides a hybrid Active Directory experience, which could appeal to your IT
Department

9 7
AZURE PORTAL, CLI AWS CONSOLE, CLI

ROUND 6

USER INTERFACE
USER INTERFACE

AWS Azure

Web-Based Tool Yes Yes

CLI-Based Tool Yes Yes

Powershell Yes Yes

Python, Ruby SDK Yes Yes

Java, .NET SDK Yes Yes


AZURE PORTAL
USER INTERFACE

WINNER: AZURE (BARELY)


Azures portal is slicker, more integrated than AWSs console

For both AWS & Azureyou can do a lot with the scripting SDKs
(Powershell, Python, Ruby) for build and infrastructure automation

Amazons SDKs for the scripting languages (Python, Ruby, etc.)


are more mature, updated more frequently than Azures

6 7
ROUND 7

SUPPORT & COMMUNITY


SUPPORT & COMMUNITY

AWS Azure

Market Share of Cloud 31% 9%

Questions on Stack
30,374 33,378
Overflow

US Conferences/Year 5 1ish

Webinars/Year ~180 ~100

Podcasts/Webcasts/Year ~38 ~100

Azure Friday
AWS CONFERENCES
SUPPORT & COMMUNITY

WINNER: AWS
Amazons larger community and being the cloud standard
give it the edge here

Azure Fridays on Channel 9 are great!

Amazon has more conferences and webinars, Azure focuses


on podcasts and Channel 9 videos

8 7
ROUND 8

PRICE
PRICE

AWS Azure
Month of VM (1 GB, 30 GB) $16.18 $17.85*

VMs billed by the Hour Minute

Cost to store 100 GB $3.00 $2.40

Small SQL Server DB $20.31** $4.98

Transcode 1 Hr. HD Video $1.80 $1.99

25 GB NOSQL DB, 3600


$0.04 $220.52
req/hour

*month of vm: 1.33333 * 13.39 (because vm is .75 GB/20 GB)

** Amazon RDS is its own dedicated database, 20 GB in size on a dedicated VM with 1 GB RAM. Azure SQL as a Service is shared resource

AWS SPOT INSTANCES


PRICE

WINNER: AWS (PROBABLY)


In general, AWS on-demand compute costs are about 75% or less than
Azure on-demand compute costs

Azure is cheaper on storage and DB as a service for SQL Server

Azure bills by the minute, AWS bills by the hour

AWS: offers spot pricing and reserved instances which can save you a
ton more.

8 7
ROUND 9

TROUBLESHOOTING &
METRICS
TROUBLESHOOTING & METRICS

AWS Azure
Custom Dashboard Yes Yes

Centralized Logging and


Yes No
Reports
Error Reports Yes No

Notifications & Alerts Yes Yes

Track CPU Usage Yes Yes

Track Memory Usage Kinda Sometimes


AWS CLOUDWATCH LOGS
TROUBLESHOOTING & METRICS

WINNER: AWS (PROBABLY)


AWS Cloudwatch is not as pretty as the new Azure Portals diagnostics

AWS Cloudwatch provides centralized logging for lambda, API Gateway,


CloudFormation, etc.

Azure metrics are sort of spread out throughout your subscription

Highly recommend a service like AzureWatch/NewRelic for Azure users

AWS Cloudwatch isnt enough for power users either

6 5
ROUND 10

UPTIME
UPTIME

AWS Azure

SLA for Compute 99.95% 99.95%

SLA for Storage 99.9% 99.9%

2014 Downtime (hours) 2.41 39.77

2015 Downtime (hours) 2.50 10.82

Last 30 Days (minutes) 2.2 min 0 min

99.95% = ~4.5 hours/year

99.9% = ~9 hours/year
AZURE STATUS
UPTIME

WINNER: AWS
AWS downtime happens, but it doesnt typically last long

Azure downtime before 2016: happens fairly often

Azure downtime after Jan 1, 2016: very rare (so far)

November 18, 2014: Azure multi-region outage, lasted 6-10 hours


depending on your region

9 7
BEATBOX PHRASE #3

BORN TO BE TOO PUFFY TO


BEAT A BABOON TO POVERTY
CONCLUSION

AND THE WINNER IS


AND THE WINNER IS

AWS: 8
COMPUTE Azure: 8
AWS: 9
STORAGE Azure: 6
AWS: 8
DATABASES Azure: 7
AWS: 7
DEPLOYMENT Azure: 9
AWS: 9
SECURITY Azure: 7
AWS: 6
INTERFACE Azure: 7
AWS: 8
SUPPORT & COMMUNITY Azure: 7
AWS: 8
PRICE Azure: 7
AWS: 6
TROUBLESHOOTING Azure: 5
AWS: 9
UPTIME Azure: 7

0 1 2 3 4 5 6 7 8 9
AND THE WINNER IS

WINNER: AWS

78 70
IT DEPENDS ON
YOUR SITUATION
Micro$oft
You value broader offering with a longer track record Most developers in your shop have MSDN subscriptions

Want to use whatever Netflix, Pinterest, Airbnb, Slack, Your shop uses Visual Studio Team Services
Foursquare, and Spotify are using
You would like to leverage Active Directory for a Single-Sign
Want to deploy dozens and dozens of VMs and have fine- On for all users in your organization for just about any third
grained control over them party app

Really want to wheel and deal on VM prices with spot You want to set up a hybrid network between your on-premise
instances and reserved instances domain and your cloud domain

Need to store thousands of files in blob storage and want fine- You only need SQL Server or mySQL and would prefer to run it
grained control over their lifecycle as a PaaS
PAUL OLIVER
PRINCIPAL SOFTWARE ARCHITECT
VOSAIC
@ItsPaultastic
https://tinyurl.com/awsazurevideo