Sampling from the Cloud Smorgasbord
-
date post
21-Oct-2014 -
Category
Technology
-
view
670 -
download
0
description
Transcript of Sampling from the Cloud Smorgasbord
Sampling the Cloud Smörgåsbord
Jim O’NeilDeveloper Evangelist, Microsoft
[email protected] @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