Sampling from the Cloud Smorgasbord

Post on 21-Oct-2014

672 views 0 download

Tags:

description

Presentation at the Vermont Code Camp in Burlington on September 10, 2011.

Transcript of Sampling from the Cloud Smorgasbord

Sampling the Cloud Smörgåsbord

Jim O’NeilDeveloper Evangelist, Microsoft

jim.oneil@microsoft.com @jimoneil

Presented at Vermont Code CampSeptember 10, 2011

The Law of Two Feet

This talk is not about…

And it’s not about…

or

There are no sexy demos...

Finally, it’s not about…

THIS is what it’s about

There is nothing permanent except change

Heraclitus of Ephesusca. 6th century BC

NIST’s Taxonomy

Essential Characteristics

On-demand self-service

Broad network access

Resource Pooling

Rapid Elasticity

Measured serviceService Models

Infrastructure as a Service

Platform as a Service

Software as a Service

Deployment ModelsPrivate Cloud

Hybrid Cloud

Community Cloud

Public Cloud

PaaS

com

IaaS

Some of the Players

SaaS

AppHarbor

What do you need from the Cloud?

compute

storage

reach

value

What do you need from the Cloud?

compute storage

reach

value

Compute

• Generally virtualization based– IAAS: build your VM and they’ll run it– PAAS: build your app and they’ll run it (on a VM)

• Several flavors across vendors– Web requests (in and out)– “Worker” requests (long running)– High-performance compute

• Local emulation

Compute SurveyCloud Compute Unit

Amazon Machine Image (AMI)

Web Role, Worker Role, VM Role

requests, scheduled tasks, task queues, backends

instance (deployed from source)

App (tabs, forms, links + objects)

web dyno, worker dyno, on-off admin processes

instances (application, database, utility)

CloudSites, CloudServers

app engine

Developer SupportCloud Development platform

Anything you want (it’s IaaS)

Anything

Java (and derivatives), Python (v. 2.5), Go

Java (Spring), Ruby (Rails / Sinatra), Node.js

Data-driven (workflow, approval process), Apex (Java-derivative), Java/Spring (vmForce)

Ruby/Rails (node.js, Java on Cedar stack), Logo

Ruby (Rails, merb, Sinatra, Rack) PHP with acquisition of Orchestra

PHP (and various CMS) but expanding

app engine

What do you need from the Cloud?

compute

storage

reach

value

Storage

One size does not fit all….

Type Scale Speed Durability Consistency

Ephemeral(on the VM) up only üüü ûû üBlock storage up only üü ü üRelational primarily up üü üü üüNoSQL primarily out ü ü û*BLOB out ü ü û*Caching up and out üüü û û

* Consistency varies among implementations, Windows Azure is strongly consistent; many others are eventually consistent; some are both.

Storage SamplerCloud Ephem. Block Relational NoSQL BLOB Caching

ü EBS RDS (MySQL/Oracle)

SimpleDB S3 ElastiCache(memcached)

ü Drives SQL Azure Tables Blobs AppFabricCaching

û “hosted SQL” TBD

DataStore(x2)

BlobStoreGoogle Storage for Developers

Memcache

ü Amazon EBS

MySQL RedisMongoDB

û Database[.com]

ücedar PostgreSQL Add-on Amazon S3 Add-on

ü Amazon EBS

MySQLPostgreSQL

Redis memcached

ü MySQLSQL Server

CloudFiles

app engine

What do you need from the Cloud?

compute

storage

reach

value

Reach: Where

• The trinity of reach– Where are your users? – Where is your app?– Where is your data?

• Latency– Data and application co-location– Multiple data centers = multiple service points– Content Delivery Network (CDN)

• Availability– [Auto] scaling capabilities– Geo-distribution– Disaster recovery: Multiple data centers/providers

• Compliance

Reach: WhereCloud US Europe APAC CDN

East (4 AZ)West (4 AZ)

Ireland (3 AZ) Singapore (2 AZ)Tokyo (2 AZ)

CloudFront (19 edge nodes)

North CentralSouth Central

North EuropeWest Europe

East AsiaSoutheast Asia

24 edge nodes

North America“We don't currently have regional data centers on our roadmap…” 1

“wherever there are Google data centers” 1

VMWare-hosted cloudfoundry.com in developer preview(stack could be deployed by multiple vendors on multiple clouds)

Silicon Valley (x2)Chicago (x2)

N. Virginia (x2)

Planned (2012)

SingaporeTokyo (2011)

Amazon East

AppCloud: Any of Amazon’s EC2 regionsxCloud: via Terremark (11 facilities, 3 continents)

Texas (x3)Virginia (x2)

Chicago

UK (x2) Hong Kong (?) uses Akamai“95,000 servers … in 71 countries…”

app engine

1 Ikai Lan, Google, Aug. 2, 2011 - http://bit.ly/qvrm6W

Reach: How

• Identity– Anonymous– Authenticated– Federated

• Connectivity options– B2B (“behind the firewall”)– Hybridization of on-premises and cloud assets– Geo-distribution

Reach: HowCloud Identity Connectivity

Identity and Access Management (IAM) Amazon Virtual Private CloudAWS Direct Connect

AppFabric Access Control Service(SAML, OAuth)

App Fabric Service BusWindows Azure Connect (CTP)Windows Azure Traffic Manager (CTP)

Google AccountGoogle Apps for domainOpen ID

Google Secure Data Connector

Salesforce infrastructureDelegated authenticationFederated authentication (SAML)

Amazon hosted

AppCloud: Amazon hosted xCloud: Private Virtual LAN

OneLogin is highlighted option on Rackspace site

RackConnect

app engine

What do you need from the Cloud?

compute

storage

reach

value

Value

• Cost Structure– “Freemium”– Metered service usage– Per application/per user– Subscription based

• Service Level Agreements– Generally none at the “Freemium” level– Usually some at the paid levels (generally

commensurate with the plan)

More to Think About!

• Management– Monitoring (automatic and manual)– Billing

• ComplianceSSAE 16 (SAS 70) PCI HIPAA FISMAISO 27001 SOX EU Data Protection Directive

• Other services– MapReduce (e.g., Hadoop)– BI in the cloud (e.g., Windows Azure Reporting Services)– E-mail (e.g., Sendgrid)– Payment services (e.g., Amazon DevPay)– Marketplaces (e.g., Windows Azure Marketplace)

So, are you here?

Or here?

Recipes for Success

If your CTO doesn’t have a cloud computing strategy, his or her replacement will.

- source unknown

• Don’t panic – it’s new to all of us• Don’t succumb to analysis paralysis• Start small– Low business impact storage– Non-critical applications

• Participate in your cloud’s technical community

Thank You & Bon Appetit!

Jim O’NeilDeveloper Evangelist, Microsoft

jim.oneil@microsoft.com @jimoneil