Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Defining Cloud ComputingTwo broad categories
Cloud applications
– Sometimes called Software as a Service (SaaS)
Cloud platforms
– The focus today
Cloud Application
Users Developers
Cloud Platform
Defining Cloud ComputingExamples
Cloud applications:
– Salesforce.com CRM
– Google Apps
– Microsoft Exchange Online
– Your favorite Web site (?)
Cloud platforms:
– Amazon Web Services (AWS)
– Google AppEngine
– Microsoft Windows Azure platform
– Salesforce.com Force.com
What is a Cloud Platform?Some defining characteristics
It lets developers create and run apps, store data, and more
It provides self-service access to resources, e.g., via a browser
It allows fine-grained allocation of resources
It charges only for the resources an application uses
Public Clouds vs. Private Clouds Typical definitions
Public cloud: A cloud platform run by a service provider, such as Amazon, Google, or Microsoft, made available to many end-user organizations
Private cloud: A cloud platform run solely for a single end-user organization, such as a bank or retailer
Categorizing Public Cloud PlatformsThe usual split
Infrastructure as a Service (IaaS)
– Developers create virtual machines (VMs), to which they have full access
– Provides total control, but also total responsibility
Platform as a Service (PaaS)
– Developers provide an application, which the platform runs
– Provides an easy-to-use execution environment, but limits freedom
Cloud Platforms TodayA taxonomy
Private Cloud Platforms
Public Cloud Platforms
Infrastructure as a Service (IaaS) For Scalable
Web AppsFor Data-Driven Business Apps
Platform as a Service (PaaS)
Cloud Platforms TodayAmazon Web Services
Private Cloud Platforms
Public Cloud Platforms
Infrastructure as a Service (IaaS) For Scalable
Web AppsFor Data-Driven Business Apps
Platform as a Service (PaaS)
Amazon Web Services
Amazon Web ServicesComponents
Elastic Compute Cloud (EC2)
– A VM-based compute service
Simple Storage Service (S3)
– Blob storage
SimpleDB
– Scale-out storage
Simple Queue Service (SQS)
Relational Database Service (RDS)
More
Amazon Web ServicesAn illustration
VM
Linux/Windows
Application
S3 SimpleDB SQS
RDS
VM
Linux/Windows
Relational DBMS
Amazon Web ServicesAmazon Machine Images (AMIs)
An AMI is an operating system image that an EC2 VM can use
– Amazon and others provide many pre-defined AMIs
Example AMIs:
– Fedora Linux with Rails and/or MySQL
– Oracle Enterprise Linux with Oracle Database 11g
– SUSE Linux with IBM WebSphere Application Server
– Windows Server 2008 with SQL Server 2008
Domain
Item A Item C . . .Item B
Amazon Web ServicesScalable data storage with SimpleDB
Users can create domains that contain items
– Each item has its own attributes
– Each attribute has one or more values
Queries can use operators such as =, !=, <, >, AND, OR, NOT, INTERSECTION, and UNION
Value 1 Value 2 Value 3Value 1 Value 2Value 1
Attribute X Attribute Y Attribute Z
Item B
Working with Big DataAn aside
Really big data sets are getting more common
– Standard relational databases don’t work
– The result: The NOSQL movement
Many big data sets are a good fit for public clouds
– Public cloud platforms commonly provide very scalable, non-relational data stores
– Such as AWS SimpleDB
Amazon Web ServicesPricing examples
Compute: $0.085/hour to $3.16/hour for each VM, depending on size and OS
Blob storage:
– Data: $0.15/GB per month to $0.055/GB per month, depending on amount stored
– Access: $0.01/10,000 GET operations
Bandwidth:
– In: $0.10/GB (but free through 6/30/10)
– Out: $0.15/GB to $0.08/GB, depending on volume
Cloud Platforms TodayIaaS competitors to AWS
Private Cloud Platforms
Public Cloud Platforms
Infrastructure as a Service (IaaS) For Scalable
Web AppsFor Data-Driven Business Apps
Platform as a Service (PaaS)
Rackspace Cloud Servers, GoGrid Cloud
Hosting, Others
Amazon Web Services
Cloud Platforms TodayGoogle AppEngine
Private Cloud Platforms
Google AppEngine
Public Cloud Platforms
Infrastructure as a Service (IaaS) For Scalable
Web AppsFor Data-Driven Business Apps
Platform as a Service (PaaS)
Rackspace Cloud Servers, GoGrid Cloud
Hosting, Others
Amazon Web Services
Google AppEngineComponents
Python/Java runtime
– A compute service
Blobstore
– Blob storage
Datastore
– Scale-out storage
Task Queue
More
Google AppEngineAn illustration
Blobstore Datastore Task Queue
Java/Python Runtime
Java Applications
Python Applications
Google AppEnginePricing examples
Free quota per day:
– Compute: 6.5 CPU hours
– Datastore storage: 1 GB
– Blob storage: 1 GB
– Bandwidth: 1 GB in, 1/GB out
Usage above this quota:
– Compute: $0.10/CPU hour
– Datastore storage: $0.15/GB per month
– Blob storage: $0.15/GB per month
– Bandwidth: $0.10/GB in, $0.12/GB out
Cloud Platforms TodayWindows Azure Platform
Private Cloud Platforms
Google AppEngine
Public Cloud Platforms
Infrastructure as a Service (IaaS) For Scalable
Web AppsFor Data-Driven Business Apps
Platform as a Service (PaaS)
Amazon Web Services
Rackspace Cloud Servers, GoGrid Cloud
Hosting, Others
Windows Azure Platform
Windows Azure PlatformComponents
Windows Azure
– A VM-based compute service
Windows Azure Storage Blobs
– Blob storage
Windows Azure Storage Tables
– Scale-out storage
Windows Azure Storage Queues
SQL Azure Database
Windows Azure platform AppFabric
– Infrastructure
Windows Azure PlatformAn illustration
VM
Windows
VM
Windows
Application(Worker role)
Application(Web role)
Blobs Tables Queues
SQL Azure
Windows Azure PlatformThe fabric
Fabric Controller
Fabric Agent
Storage
Fabric Agent
Web Role Worker Role
Windows Azure PlatformPricing examples
Compute: $0.12/hour to $0.96/hour for each instance depending on instance size
Blob storage:
– Data: $0.15/GB per month
– Access: $0.01/10,000 operations
Relational storage:
– $9.99/month for 1 GB, $99.99/month for 10 GB
Bandwidth:
– In: $0.10/GB (off-peak free through 6/30/10)
– Out: $0.15/GB
Cloud Platforms TodayForce.com
Private Cloud Platforms
Salesforce.com Force.com
Google AppEngine
Public Cloud Platforms
Infrastructure as a Service (IaaS) For Scalable
Web AppsFor Data-Driven Business Apps
Platform as a Service (PaaS)
Amazon Web Services
Rackspace Cloud Servers, GoGrid Cloud
Hosting, Others
Windows Azure Platform
Salesforce.com Force.comComponents
Force.com runtime
– A compute service
Force.com database
– Scale-out storage
Salesforce.com Force.comAn illustration
Force.com Database
Force.com Runtime
Force Applications
Force Applications
Salesforce.com Force.comPricing examples
One (small) application is free
Enterprise Edition: $50/user per month
– Compute: up to 10 applications
– Storage: up to 200 database objects
– Bandwidth: No extra charge
Unlimited Edition: $75/user per month
– Compute: unlimited applications
– Storage: up to 2,000 database objects
– Bandwidth: No extra charge
Applying Public Cloud Platforms (1)Some characteristics of typical applications
App development
– Example: A VM-based dev/test environment
Apps with variable load
– Example: An on-line ticketing application
Apps that do parallel processing
– Example: A financial modeling application
Apps that need massive scale
– Example: A Web 2.0 application
Apps that need high reliability
– Example: A SaaS application
Applying Public Cloud Platforms (2)Some characteristics of typical applications
Apps with a short or unpredictable lifetime
– Example: An app created for a marketing campaign
Apps that must fail fast or scale fast
– Example: Start-ups
Apps that don’t fit well in an organization’s data center
– Example: A business unit that wishes to avoid its IT department
Apps that can benefit from external storage
– Example: An application that archives data
Using the Public CloudAn on-premises app using cloud storage
Relational Storage
On-Premises Application
Blobs
Application
Using the Public CloudA massively scalable web app for the public Internet
Users
Scale-Out Storage
Users
Application Back End
Application Front End
Using the Public CloudA massively scalable web app with background processing
Scale-Out Storage
Queues Blobs
Private Clouds vs. Public CloudsTypical definitions (again)
Public cloud: A cloud platform run by a service provider, such as Amazon, Google, or Microsoft, made available to many end-user organizations
Private cloud: A cloud platform run solely for a single end-user organization, such as a bank or retailer
– They’re the evolution of today’s virtualized data centers
Cloud Platforms TodayPrivate cloud providers
Private Cloud Platforms
Salesforce.com Force.com
Google AppEngine
Public Cloud Platforms
VMware vSphere(ESX, vCenter)
Microsoft (Hyper-V, System Center)
Infrastructure as a Service (IaaS) For Scalable
Web AppsFor Data-Driven Business Apps
Platform as a Service (PaaS)
Amazon Web Services
Rackspace Cloud Servers, GoGrid Cloud
Hosting, Others
Windows Azure Platform
Cloud Platforms TodayPrivate cloud technologies for the public cloud
Private Cloud Platforms
Salesforce.com Force.com
Google AppEngine
Public Cloud Platforms
VMware vSphere(ESX, vCenter)
Microsoft (Hyper-V, System Center)
Infrastructure as a Service (IaaS) For Scalable
Web AppsFor Data-Driven Business Apps
Microsoft (Hyper-V, System Center)
Hosting Partners
VMware vSphere(ESX, vCenter)
Hosting Partners
Platform as a Service (PaaS)
Amazon Web Services
Rackspace Cloud Servers, GoGrid Cloud
Hosting, Others
Windows Azure Platform
How ESRI Uses the Cloud TodayCloud applications
ArcGIS.com (ArcGIS Online): Lets people build maps, share content, and more
Business Analyst Online: Provides access to demographic data
ArcLogistics: Helps organizations define optimized routing
ArcLogisticsAn example of moving a desktop app to the cloud
ArcLogistics was originally built for the desktop
– It now runs in the cloud, too
Moving to the cloud provided:
– Lower cost of entry for customers
– Try before you buy model
– One common place to update the data
– Better customer support
Service
Cloud Platforms: Another ApproachAn aside
Some cloud platforms let you run your apps on them
– Such as AWS, AppEngine, Azure, and Force.com
Other cloud platforms offer cloud-based services to on-premises applications
– Such as those provided by ESRI
Client
How ESRI Uses the Cloud TodayCloud platforms
ArcGIS.com: Exposes maps via Web services
ArcGIS Server on AWS
ArcGIS Spatial Data Service
ArcGIS Server in the Cloud ESRI on Amazon Web Services
Windows
VM
Windows
GIS DataBrowser
Amazon Web Services
VM
ArcGIS Server
GIS
Data
Amazon Web Services
ArcGIS Server in the Cloud Client access from a browser
REST/SOAP
ESRI Customer Code
JavaScript Library
SilverlightLibrary
FlexLibrary
ArcGISServer
Browser
ArcGIS Spatial Data ServiceESRI on the Windows Azure Platform
VM
Windows Azure
VM
SQL Azure
GIS DataClient
Windows Azure Platform
ArcGISSpatial Data
Service
Conclusion
Cloud platforms are here
– They’re a new foundation for innovation
A new world is unfolding
– Prepare to be part of it
About the Speaker
David Chappell is Principal of Chappell & Associates (www.davidchappell.com) in San Francisco, California. Through his speaking, writing, and consulting, he helps people around the world understand, use, and make better decisions about new technology. David has been the keynote speaker for many events and conferences on five continents, and his seminars have been attended by tens of thousands of IT decision makers, architects, and developers in forty countries. His books have been published in a dozen languages and used regularly in courses at MIT, ETH Zurich, and other universities. In his consulting practice, he has helped clients such as Hewlett-Packard, IBM, Microsoft, Stanford University, and Target Corporation adopt new technologies, market new products, train their sales staffs, and create business plans. Earlier in his career, David wrote networking software, chaired a U.S. national standards working group, and played keyboards with the Peabody-award-winning Children’s Radio Theater. He holds a B.S. in Economics and an M.S. in Computer Science, both from the University of Wisconsin-Madison.