350 likes | 507 Views
Amazon Web Services vs. Microsoft Azure. Josh Lane Cloud Practice Lead - Wintellect jlane@wintellect.com @ jplane. Thanks to our Sponsors. TL;DR. AWS overview. Originally designed for internal use History Simple Queue Service – late 2004 Mechanical Turk – late 2005
E N D
Amazon Web Services vs. Microsoft Azure Josh Lane Cloud Practice Lead - Wintellect jlane@wintellect.com @jplane
AWS overview • Originally designed for internal use • History • Simple Queue Service – late 2004 • Mechanical Turk – late 2005 • EC2 and S3 – 2006 • >$1B in revenue/quarter (estimate) • 8 distinct geographic regions + GovCloud • Customers - Netflix, NASA, Pinterest, Expedia, Instagram, Heroku
Azure overview • Announced at PDC October 2008 • Initially focused on PaaS • Commercial release Feb 2010 • 150% YoY growth (2Q2014), ~ $4.5B annual revenue • Includes Office 365, etc. • 13 geographic regions + 2 gov-related • Customers – Apple iCloud (!), Vancouver and Sochi Olympics, Toyota, etc.
Features and Capabilities Performance/Scale/Reliability Cost Developer Productivity Management
AWS Features • 36 distinct, marketed capabilities across 8 categories • About 24 (give or take) are standalone • Rest only make sense in the context of others • Focus areas • IaaS – EC2, Virtual Private Cloud, etc. • Storage – S3, Elastic Block Storage, CDN, etc. • PaaS offering (Elastic Beanstalk) is not really a first-class citizen • Developer-centric services offerings • Managed (No)SQL, data warehousing, Hadoop, queues, workflows, emails, push notifications, etc. • Handful of “others” • AppStream, WorkSpaces, etc.
Azure Features • 27 distinct, marketed capabilities across 7 categories • About 18 (give or take) are standalone • Areas of focus • PaaS – Web Sites, Mobile Services, Cloud Services • Storage – blobs, tables, queues, files • IaaS • Developer-centric services • Managed (No)SQL, queues, Hadoop, service bus, push notifications, etc. • “Others” • RemoteApp, API Management, etc.
Commonality • IaaS • Run anything in a VM • Extend your datacenter into the cloud (virtual networks, etc.) • Storage • Raw, NoSQL, SQL, big data, CDN • Access control • IAM and Azure AD • Legacy-application-as-a-service • AWS AppStream and Azure RemoteApp
Key Differences • “View of the world” • AWS – VM-first • Azure – services-first • PaaS – Azure has a clear advantage here • Hybrid cloud connectivity – Azure has more emphasis, options • Mobile back-ends • Azure Mobile Services – mature, full-featured • Amazon Cognito/Analytics/SNS – new offering, promising but still early days • Azure has obvious ties into MS developer ecosystem • Will Amazon create their own dev ecosystem? • Feature differentiation • Azure – native API Management • AWS – native OLAP data warehousing
AWS perf/scale/reliability • Server estimates (May 2013) • 160K web-facing (11.6M distinct, public web sites) • 50K non-web-facing • VM sizes • 22 instance sizes across 7 categories • General purpose, micro, compute-optimized, memory-optimized, storage-optimized, etc. • On-demand, reserved, and spot pricing models • Database sizes • 11 instances sizes across 3 categories (standard, memory-optimized, micro) • SLA • EC2 and RDS – 99.95% • S3 – 99.9% • Scale out – load balance All The Things • Scale up – up to 32 cores, 244 GB of RAM per instance
Azure perf/scale/reliability • Server estimates (July 2013) • 19K web-facing (170K distinct, public web sites) • VM sizes • 10 instance sizes across 3 categories • General purpose, compute-intensive, memory-intensive • Fewer options than AWS (no GPU, storage-optimized, etc.) • Database sizes • 8 instance sizes across 2 categories (general purpose, memory-intensive) • SLA • VMs and Cloud Services – 99.95% • Pretty much everything else – 99.9% • Scale out – load balancing using Traffic Manager (across one or more regions) • Scale up – up to 16 cores, 112 GB of RAM per instance
Economics o’ the Cloud • Budget and tax implications • Capex – Big, depreciating assets on the balance sheet • Opex - Fluid, less predictable (but smaller) ongoing expenses • Developers – no longer downstream from IT decisions • Public cloud allows “end-run” around traditional IT • We control the meter (for better… and worse) • “Spend” is now a noun • You’re welcome • Price usually not a differentiator
AWS Pricing • Generally a pay-as-you-go model • Paying the water bill vs. digging your own well • Free usage tier • 12 month limit for new accounts • Monthly credit for Linux/Windows micro VMs, relational and NoSQL storage, etc. • Discounts for education and startups • Convenience vs. commitment • On-Demand vs. Reserved vs. Spot Instances • Here Be Complexity • Whitepapers, how-to videos, VC-backed third party providers, etc.
Azure Pricing • Largely a pay-as-you-go, rental model • Discounts for 6 and 12 month commitments, prepayments • Try before you buy - $200 credit for new signups • Free credits for schools, startups, and MSDN subscribers • Again with the complexity • What services are you using? • How many? • Which options?
AWS Developer Productivity • Multiple tech stack SDKs • Java, iOS, Android, PHP, Ruby, Python, .NET, browser • Package management integration – npm, NuGet, gems, pip, composer, etc. • Eclipse and VS.NET integration • Command line – Windows (cmd.exe and PS), Mac, Linux • Excellent SDK and services docs • https://aws.amazon.com/documentation • Active forums • https://forums.aws.amazon.com • No officially supported, unified local emulator
Azure Developer Productivity • SDKs to target multiple tech stacks • .NET, Java, node, iOS, Android, Windows 8, WinPhone, PHP, Python, Ruby, browser • Package mgmt. integration – npm, NuGet, gems, pip, composer, etc. • Eclipse and VS.NET integration • Also works with Python and Node Tools for VS.NET • CLI support across Windows, Mac, Linux • Auto-deploy from GitHub, Dropbox, TFS, etc. • Excellent docs - http://azure.microsoft.com/en-us/documentation • Forums are… meh (even MS suggests you use StackOverflow) • http://azure.microsoft.com/en-us/support/forums • Local emulator works well… for some stuff
AWS Management • Web portal • Command line (CLI) • APIs • Third party integration – VMWare, Rightscale, Scalr, BMC, Puppet Labs, Layer7, etc. • Services • CloudFormation – templated resource creation • CloudTrail – auto API call logging • CloudWatch – unified cloud resource and app monitoring • IAM – security and access control • OpsWorks – AWS resource integration for DevOps
Azure Management • Web portal (two of them, actually) • Command line • APIs • Third party – Cerebrata, BMC, Puppet Labs, etc. • Immature compared to AWS • Services • Recovery Manager – automated backup of Hyper-V private clouds • Backup – automated on-prem server backup to Azure • Scheduler – “cron for Azure” • Active Directory – hosted in Azure, sync with on-prem, etc. • API Management – versioning, quotas/rate limits, security, transformations, documentation, reporting, etc.
Advice • Appreciate how cloud changes IT dynamics • Winners and losers • Budget and tax implications • Understand your SLAs • 99.9% = 10 min/week, 45 min/month, 8.75 hours/year • 99.95% = 5 min/week, 22 min/month, 4.3 hours/year • Learn the difference between “cloud-capable” and “cloud-native” • Think beyond the VM • Still lost? • Choose AWS because… “no one ever got fired for choosing IBM” • Choose Azure because… you love PaaS, and/or you’re already within the MS orbit • …just remember these are broad guidelines!