aws vs. azure
DESCRIPTION
TRANSCRIPT
Amazon Web Services vs. and Windows Azure
Rob Gillenrob.gillenfamily.net@argodev
2 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
3 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Agenda
• What do you want to know/discuss?
• Market Overview
• Discussion of cloud primitives
• Vendor-specific Lessons-Learned
• Guestbook – a side-by-side code comparison
4 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Types of Clouds
Private(On-Premise)
Infrastructure
(as a Service)
Platform(as a
Service)
Storage
Server HW
Networking
Servers
Databases
Virtualization
Runtimes
Applications
Security & Integration
Storage
Server HW
Networking
Servers
Databases
Virtualization
Runtimes
Applications
Security & Integration
Storage
Server HW
Networking
Servers
Databases
Virtualization
Runtimes
Applications
Security & Integration
You m
anage Managed b
y v
endor
Managed b
y v
endor
You m
anage
You m
anage
5 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Types of Clouds
Private(On-Premise)
Infrastructure
(as a Service)
Platform(as a
Service)
6 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Where They Fit
• Two Years Ago
• Now
• Two Years from Now ???
Infrastructure As A Service Platform As A Service
Amazon Web Services Microsoft Windows Azure
Amazon Web Services
Microsoft Windows Azure
Amazon Web Services
Microsoft Windows Azure
Compute As A Service
7 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
AWS Stack
• Elastic Compute Cloud
• Elastic Map Reduce
• Auto Scaling
• Cloud Front
• SimpleDB
• Relational Database Service
• Simple Storage Svc
• Elastic Block Storage
• Simple Email Service
• Simple Queue Service
• Simple Notification Service
• CloudWatch
• Virtual Private Cloud
• Elastic Load Balancing
• Import/Export
• Cloud Formation
• Elastic BeanStalk
• GovCloud
8 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Windows Azure Stack
Compute
Storage
Data SQL Azure Data Sync
Connectivity
Azure Connect
Security “Geneva”
Application Services
Frameworks
“Dublin” “Velocity”
Service Bus
Access Control
Table Storage
Blob Storage
Queue DriveContent Delivery Network
9 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Storage
Amazon Web Services• S3
– Buckets
• EBS
• SDB– domains
– Easy to use
• SQS
• CloudFront
• AWS Import/Export
Windows Azure• Blob Storage
– Containers
• Azure Drive
• Table Storage– Tables
– More painful than it should be
• Queues
• CDN
• Storage Stats
10 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Databases
Amazon Web Services• MySQL
• Oracle
• Multi-AZ Mode
Windows Azure• MS SQL
• SQL Sync
11 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Compute
Amazon Web Services• Raw VM Access
• EBS/S3-based Booting
• Specialized Nodes (CCI, CCI+GPU)
• Elastic Map Reduce
Windows Azure• Black-Box access (Worker
Role/Web Role)
• VM Role is non-persistent
12 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Networking
Amazon Web Services• IP / Elastic IP / ELB
• Virtual Private Cloud
• Route 53
• ELB
• Firewall heavily configurable
Windows Azure• Automatic IP
assignment/Load-balancing – No Static IPs available
• Azure Connect
• Built-in Load Balancing
• Endpoints defined in csdef/cscfg
13 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Deployment
Amazon Web Services• Amazon Machine Instance
(AMI)
• Traditional Deployment Models
• Fine-grained updates
• More Responsibility
• Less magic
• Elastic Beanstalk
• Cloud Formation
Windows Azure• Cspkg (fancy zip file)
• Upload via portal or API via blob storage
• Course-grained updates
• “click to scale”
• More magic
14 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Middleware
Amazon Web Services• Simple Notification Services
• CloudWatch/AutoScale ??
• Simple Email Services
Windows Azure• Service Bus
• Caching
• Access Control
15 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Tooling
Amazon Web Services• Command line
• REST-API
• Web Portal
• Numerous 3rd Party Tools
• No local dev/test
Windows Azure• Web Portal
• Rest API
• Visual Studio Extensions
• Numerous 3rd Party Tools
• Dev Fabric (great for compute, OK for storage)
16 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
17 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
What Happened
• Incorrect Network Change == Replication Storm for EC2
• “Affected Availability Zone”
• Actually affected *multiple* AZs (initially)• "Each availability zone runs on its own physically distinct, independent
infrastructure, and is engineered to be highly reliable. Common points of failures like generators and cooling equipment are not shared across Availability Zones. Additionally, they are physically separate, such that even extremely uncommon disasters such as fires, tornados or flooding would only affect a single Availability Zone." http://aws.amazon.com/ec2/faqs/#How_isolated_are_Availability_Zones_from_one_another
• Amazon had a “cloud burst”
18 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Oh No! The Cloud Can’t be Trusted!!!
• Is your data center any better?
• How would YOU recover from this type of issue
• Do you regularly TEST your HA/Recovery plans.
• What would it cost you to independently provide the same level of redundancy/fault-tolerance as current cloud providers offer?– How do you cost-justify that compared to current cloud
offerings?
19 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
20 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Fault Tolerance
AWS• Regions
• Availability Zones
• Elastic Load Balancing
• RDS in Multi-AZ mode
• S3/SDB/SQS
Azure• Multiple Instances
• Regions
• Global Traffic Manager
• SQL Azure Sync
• Blobs/Tables/Queues
21 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Design Tenants
• Use independent components
• Design everything as a black box
• Load balance and scale clusters
• Think about graceful degradation
• Use queues to isolate components
ApplicationExamples
23 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Computer Forensics
24 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Document Clustering – Dynamic Scaling
R
C1 C2 C4C3
25 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Document Clustering – Dynamic Scaling
Patent Pending
R
C1 C2 C4
C3b
C3a
QC1C2
26 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Document Clustering – Fault Tolerance
C1
C1C2
C3C2
C1C3
C3C4
C4
27 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Document Clustering – Fault Tolerance
C1
C1C2
C3C2
C1C3
C3C4
C4
28 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Document Clustering – Fault Tolerance
C1
C1C2
C2
C1C3
C3C4
C4
29 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Document Clustering – Fault Tolerance
C1
C1C2
C5C2
C1C3
C3C4
C4
30 Managed by UT-Battellefor the U.S. Department of Energy Business Sensitive
Guest Book Example
Blob Store
Queue
No-SQL Store
Web Site
Background Image Processing Service
1. User Written to Table
2. Full-Res image written to blob store
3. Generate Thumbnail task stored
4. Background service receives task
5. Full-Size image retrieved from storage
6. Thumbnail generated and written to storage
7. No-SQL Store is updated with path to thumbnail
Questions?
Rob Gillen
http://rob.gillenfamily.net
@argodev
Free Access:
http://bit.ly/AzureTrial
http://aws.amazon.com/free/