Generative AI - Gitex v1Generative AI - Gitex v1.pptx
AWS vs. Azure
1. Amazon Web Services vs.and Windows Azure Rob Gillen rob.gillenfamily.net @argodev
2.
3. 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. Types of Clouds Private (On-Premise) Infrastructure (as a Service) Platform (as a Service) You manage Applications Applications Applications You manage Runtimes Runtimes Runtimes Security & Integration Security & Integration Security & Integration Managed by vendor Databases Databases Databases You manage Servers Servers Servers Managed by vendor Virtualization Virtualization Virtualization Server HW Server HW Server HW Storage Storage Storage Networking Networking Networking
5. Types of Clouds Private (On-Premise) Infrastructure (as a Service) Platform (as a Service)
6. Where They Fit Infrastructure As A Service Platform As A Service Two Years Ago Now Two Years from Now ??? Microsoft Windows Azure Amazon Web Services Amazon Web Services Microsoft Windows Azure Compute As A Service Amazon Web Services Microsoft Windows Azure
7. 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. Windows Azure Stack Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Azure Connect Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage
9. Storage Amazon Web Services Windows Azure S3 Buckets EBS SDB domains Easy to use SQS CloudFront AWS Import/Export Blob Storage Containers Azure Drive Table Storage Tables More painful than it should be Queues CDN Storage Stats
10. Databases Amazon Web Services Windows Azure MySQL Oracle Multi-AZ Mode MS SQL SQL Sync
11. Compute Amazon Web Services Windows Azure Raw VM Access EBS/S3-based Booting Specialized Nodes (CCI, CCI+GPU) Elastic Map Reduce Black-Box access (Worker Role/Web Role) VM Role is non-persistent
12. Networking Amazon Web Services Windows Azure IP / Elastic IP / ELB Virtual Private Cloud Route 53 ELB Firewall heavily configurable Automatic IP assignment/Load-balancing – No Static IPs available Azure Connect Built-in Load Balancing Endpoints defined in csdef/cscfg
13. Deployment Amazon Web Services Windows Azure Amazon Machine Instance (AMI) Traditional Deployment Models Fine-grained updates More Responsibility Less magic Elastic Beanstalk Cloud Formation Cspkg (fancy zip file) Upload via portal or API via blob storage Course-grained updates “click to scale” More magic
14. Middleware Amazon Web Services Windows Azure Simple Notification Services CloudWatch/AutoScale ?? Simple Email Services Service Bus Caching Access Control
15. Tooling Amazon Web Services Windows Azure Command line REST-API Web Portal Numerous 3rd Party Tools No local dev/test Web Portal Rest API Visual Studio Extensions Numerous 3rd Party Tools Dev Fabric (great for compute, OK for storage)
16.
17. 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. 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.
20. Fault Tolerance AWS Azure Regions Availability Zones Elastic Load Balancing RDS in Multi-AZ mode S3/SDB/SQS Multiple Instances Regions Global Traffic Manager SQL Azure Sync Blobs/Tables/Queues
21. 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
30. Guest Book Example No-SQL Store Web Site 1. User Written to Table 2. Full-Res image written to blob store 3. Generate Thumbnail task stored Blob Store 4. Background service receives task Background Image Processing Service 5. Full-Size image retrieved from storage Queue 6. Thumbnail generated and written to storage 7. No-SQL Store is updated with path to thumbnail
31. Questions? Rob Gillen http://rob.gillenfamily.net @argodev Free Access: http://bit.ly/AzureTrial http://aws.amazon.com/free/