AWS vs. Azure


Published on

Published in: Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

AWS vs. Azure

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