cloud comparison - aws vs azure vs google

37
Cloud Comparison AWS vs Azure vs Google Patrick Pierson Chief of Network Operations, Ion Channel

Upload: patrick-pierson

Post on 21-Jan-2018

284 views

Category:

Internet


3 download

TRANSCRIPT

Cloud ComparisonAWS vs Azure vs Google

Patrick PiersonChief of Network Operations, Ion Channel

About me

I LOVE AWS

re:Invent 2017 anyone?

Other things I loveAutomation - Do it once, it’s done forever.

Python - Simple and fun programming language

Meetups - There are tons of tech people in Frederick

VFW - Veterans of Foreign Wars in Frederick. If you are a Afghanistan or Iraq Vet let me know.

It was really hard to stay unbiased

Stop me at anytime for questions

What is a “Cloud Service”?

A cloud provider is a company that offers some component of cloud computing – typically Infrastructure as a Service (IaaS), Software as a Service (SaaS) or Platform as a Service (PaaS) – to other businesses or individuals. Cloud providers are sometimes referred to as cloud service providers or CSPs.

- Google definition

Theme of the talk: Rule of three

AWS

What is AWS?Amazon Web Services (AWS) is a secure cloud services platform, offering compute power, database storage, content delivery and other functionality to help businesses scale and grow.

Azure

What is Azure?Microsoft Azure is a growing collection of integrated cloud services that developers and IT professionals use to build, deploy, and manage applications through our global network of datacenters.

GCP

What is Google Cloud Platform?Google Cloud Platform is a suite of products & services that includes application hosting, cloud computing, database services and more.

Three Use Cases● Web Dev Demo

○ A web developer needs to show off their latest stuff to a customer ASAP

● Startup to scale any day○ A startup has a product available online that could be the next big thing any day and needs to

go from two backend servers to 20 backend servers….right now.

● Enterprise with a data center lease expiring in 24 months○ An enterprise has an existing data center and is preparing to move to the cloud because their

lease is expiring in 2 years.○ Their infrastructure is not as agile as a Startup’s but uses cloud ready technologies like Active

Directory, OpenStack and/or VMware.○ They also have a huge IT team of 100+ people to enable the move in 2 years.

Web Dev Demo

A web developer needs to show off their latest stuff to a customer ASAP

https://github.com/patrickpierson/cloud-compare/blob/master/README.md

Web Dev takeaways● Azure from the start recommends a more complex setup.● AWS and GCP recommend a quick and dirty but sellable way to go.● Azure’s setup could be more costly.

Startup Use Case

A startup has a product available online that could be the next big thing any day and needs to go from two backend servers to 20 backend servers…...right now.

Requirements

Requirement AWS Azure GCP

Infrastructure as Code

Autoscaling

Load Balancing

Managed DB

Object Store

AWS CloudformationJSON or YAML based. AWS managed service to deploy AWS resources.

https://s3-us-west-2.amazonaws.com/cloudformation-templates-us-west-2/AutoScalingMultiAZWithNotifications.template

Azure Resource ManagerJSON based. Azure managed service to deploy Azure resources.

https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/openvpn-access-server-ubuntu/azuredeploy.json

Google Deployment ManagerPython/YAML based. Google managed service to deploy GCP resources.

https://github.com/GoogleCloudPlatform/deploymentmanager-samples/blob/master/templates/autoscaled_group.py

https://github.com/GoogleCloudPlatform/deploymentmanager-samples/blob/master/templates/autoscaled_group.py.schema

Startup takeawayAll three could work for a Startup.

Microsoft shops may want to start on Azure because of MSDN credits.

All three have free tiers.

Use what works best for you, try all three and see what happens.

Enterprise Use Case

An enterprise has an existing data center and is preparing to move to the cloud because their lease is expiring in two years and the CTO has a cloud first initiative.

Their infrastructure is not as agile as a Startup but uses cloud ready technologies like Active Directory, OpenStack and/or VMware.

They also have a huge IT team of 100+ people to enable the move in that two years.

Requirements

Requirement AWS Azure GCP

Fast connection to HQ

Dedicated Hardware

Active Directory Integration

Note: For dedicated hardware on Azure and GCP the recommendation is to purchase a very large instance.

ish

Fast connection to HQDedicated network connection with low latency from your Headquarters building to the Cloud service provider via a NSP (Network Service Provider)

● AWS Direct Connect - 50+ NSPs● Azure Express Route - 39 NSPs● Google Cloud Interconnect - 23 NSPs

https://aws.amazon.com/directconnect/partners/#americas

https://azure.microsoft.com/en-us/services/expressroute/

https://cloud.google.com/interconnect/docs#cloud_interconnect_service_providers

Why dedicated hardware?● Compliance/Security requirements - This is a big one for most enterprises.

White papers will scream that shared instances are secure but you can understand why a CISO would want this just to feel better about the cloud.

● Expands existing infrastructure easily - VMware/Openstack deployment pushed into the cloud environment.

● Additional visibility and control over instances - allows for manual placement of instances if needed.

A lot of similarities. How do they differ?

Instances● Instance sizes vary so cost on a given size varies between all three ● Google compute charges by the minute● Google compute offers custom machine sizes● All three offer Low-Priority/Preemptible/Spot instances but offerings are

slightly different and do not fit every type of workload● AWS is the only cloud provider offering dedicated hosts

Containers● Google offers managed Kubernetes (public project based of of their Borg

system). Most mature service offering in this market.● AWS offers Elastic Compute Service, two years old, new features added

regularly to (for the most part) clone Kubernetes without running Kubernetes (my opinion)

● Azure Container Service is super new (few months old).

Managed Databases● All three offer a lot of relational and non-relational database products.● AWS

○ RDS - Relational Database service, MySQL, Postgres, MsSql, Oracle, and Aurora (MySQL and Postgres compatible, marketed at Oracle customers)

○ DynamoDB - No-SQL Database Service, Cassandra partly based on this and Google’s BigTable

○ Athena - Direct S3 SQL queries against CSV files

● Google○ BigTable (First Cloud Database service)○ Cloud SQL (Relational Database service)○ Cloud Spanner (Horizontal scaling database service)○ Cloud Datastore (No-SQL Database service with more features then BigTable)

Managed Databases cont● Azure

○ Big push for SQLServer on VMs - Smart of them, maybe not the best choice given other offerings (Expensive!)

○ SQL Database - Managed Database service built on SQL Server codebase○ SQLServer Stretch Database - Dynamically stretch(?) SQL Server databases to Azure○ Cosmos DB - Managed No-SQL Database service○ Azure Database for MySQL and PostgreSQL (Preview)

Big Data● AWS

○ Elastic Map Reduce - Managed Hadoop/Spark Clusters ○ Elasticsearch Service○ Athena - S3 SQL queries○ Kinesis - Stream terabytes of data○ Redshift - Managed Data Warehousing○ Snowmobile - 100PBs on an actual truck

● Azure○ HDInsight - Managed Hadoop/Spark Clusters○ Data Lake Analytics - Serverless big data analytics

Big Data● GCP

○ Dataproc - Managed Hadoop/Spark Clusters○ BigQuery - Managed data warehouse○ Dataflow - Data process for streaming, ETL and batch computation○ Datalab - Interactive notebook based on Jupyter for data work

Regions and ZonesAWS and GCP have different regions you can push apps to but also let you dive deeper and use specific zones if needed. Azure does not do this.

Azure has its reasons and they might be a better fit for some users.

Specifically - No single AZ outages (happens on AWS and GCP from time to time)

AWS and GCP zones allow for much lower latency which may be important to some users.

Most users of cloud will not actually care.

Thank you!