hitchhikers guide to cloud computing - sigs.de · hitchhikers guide to cloud computing oop 2010 ......
TRANSCRIPT
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 1
Scott Adams anticipates Cloud Computing in 2002
© Dr. Michael Stal, 2009
Page 1
Hitchhikers Guide to Cloud Computing
OOP 2010
Dr. Michael Stal
© Dr. Michael Stal, 2010
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 2
Objectives of this Presentation
Introduction and motivation for Cloud Computing
Learn its core properties
Understand the main architecture and business implications
Understand benefits and liabilities
Trigger considerations about potential application areas
Non-Goals:
Providing all (technical) details
© Dr. Michael Stal, 2009
Providing all (technical) details
Dealing with all products
Page 3
What Market Analysts think
Gartner’s Top 10 Disruptive Technologies for 2008-2012:
Google search offers 30.200.000hits (as of 25th December 2009)
Multicore and hybrid processors
Virtualisation and fabric computing
Social networks and social software
Cloud computing and Cloud/Web platforms
Web mashups
User Interface
© Dr. Michael Stal, 2009
Ubiquitous computing
Contextual computing
Augmented reality
Semantic (c) 2009 Michael Stal
Page 4
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 3
What Market Analysts think (continued)
© Dr. Michael Stal, 2009
Page 5
What Larry Ellison (CEO of Oracle) thinks
The interesting thing about cloud computing is that we’ve redefined cloud computing to includecloud computing to include everything that we already do. I can’t think of anything that isn’t cloud computing with all of these announcements. The computer industry is the only industry that is more fashion-driven than women’s fashion. Maybe I’m an idiot, but I have no idea what anyone is talking
© Dr. Michael Stal, 2009
have no idea what anyone is talking about. What is it? It’s complete gibberish. It’s insane. When is this idiocy going to stop?
Page 6
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 4
What Richard Stallman (Free Software Foundation) thinks
It's stupidity. It's worse than stupidity: it's a marketing hype campaigncampaign.
Somebody is saying this is inevitable – and whenever you hear somebody saying that, it's very likely to be a set of businesses campaigning to make it true.
© Dr. Michael Stal, 2009
Page 7
If Cloud Computing is the anwer, what was the question?
Show Case: COMET -COmmunityMEdiaTracker
As a startup you are developing a new social media application: Different users may work jointly
on media files such as movies, audio, documents, pictures
Information/notifications via Twitter
Links to YouTube FlickR
© Dr. Michael Stal, 2009
Links to YouTube, FlickR, AudioBoo, Google Docs
Challenge: Infrastructure for providing
common apps and resources (lots of CPU time, storage required)
Page 8
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 5
You could buy your own Data Center
Big Server Farms and Data Centers are
Expensive to buy
Consume a lot of energy
Complex to maintain and operate
Must provide the computing power for the worst case (peak operations)
© Dr. Michael Stal, 2009
(p p )
Application development expensive
Page 9
Owning a Data Center implies a lot of services
Myriads of Services required: Thread Management
Service Isolation
Load Balancer
Service Isolation
Load Balancing
Failover
User management
Throttling
Health-monitoring
Multi-tenant operation
Performance Tracking & Utilization
...
© Dr. Michael Stal, 2009
Does everyone want to become a data center provider?
Page 10
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 6
And you have to deal with the Risk of Capacity Planning
You always need to know resource demand on advance
A period of time you are using more resources than you actually need: over-capacity
But the risk is you have not got sufficient
d it
© Dr. Michael Stal, 2009
resources: under-capacity
Page 11
Solution: Let someone else provide the resources you need
COMET Social MediaApplication
© Dr. Michael Stal, 2009
Page 12
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 7
Say Goodbye to Centralized Approaches
Centralized approaches for distributed computing imply several disadvantages:
Central control: Servers become Central control: Servers become single point of failures
Lack of Scalability: Less efficiency and throughput due to bottlenecks
Inflexibility: almost everything statically predefined
Asymmetry between roles (clients, servers) makes implementation more difficult
© Dr. Michael Stal, 2009
Not always suitable: Some problems are inherently decentralized (traffic control, distributed transactions)
Decentralization such as Cloud Computing could often be an alternative but we‘re still addicted to centralized approaches
Page 13
Let‘s enter the Universe of Cloud Computing
© Dr. Michael Stal, 2009
Page 14
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 8
How is it defined?
No agreed definition available. I am sticking to NIST (Network Information & Security Technology):
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage applications and
© Dr. Michael Stal, 2009
storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Page 15
Open Cloud Manifesto
In Spring 2009 the Open Cloud Manifesto has been published by several companies
It defines core principles for open clouds such as
use of open standards
prevention of abusing market dominance
everything driven by customer
© Dr. Michael Stal, 2009
y g yneeds
Many main players do not support the Manifesto, e.g., Amazon, Google, Microsoft
Page 16
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 9
Real World Example: The Data Center Way
You are producing an advertisement movie for your new startup COMET
All customers who ask should get the movie for free
Option 1
Produce DVDs
At the beginning requests might be huge. Thus, you
© Dr. Michael Stal, 2009
g g , yneed to preorder and store thousands of DVDs
Very expensive (and you are still a start-up!)
Page 17
Real World Example: Alternative End - The Cloud Way
Option 2
Provide the movie file at your yWeb site (or YouTube)
Let customers submit a form
and then get free access
Benefits:
You do not need to maintain your own resources
Just retrieve resources from
© Dr. Michael Stal, 2009
Just retrieve resources from an internet provider on demand
And pay only for resources that you actually need
Page 18
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 10
Basic Idea: Separate resource usage from provisioning of physical resource by virtualization
Resource User
Virtual Resource
Resource Management
Virtual Resource
Virtual Resource
Virtual Resource
Virtual Resource
CLOUD
© Dr. Michael Stal, 2009
Page 19
Physical Resource
A resource can be anything: a piece of software, a piece of hardware, or a human
Key Technology: Virtualization
Virtualization refers to the abstraction of computer resources such as Virtual Machines
Platform Virtualization
Application Virtualization
Storage Virtualization
Network Virtualization
Memory Virtualization
Virtual Memory
© Dr. Michael Stal, 2009
Virtual Memory
Desktop Virtualization
Database Virtualization
Without Virtualization No Cloud Computing!
Page 20
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 11
Cloud Computing Stack
Source: wikipedia.org
© Dr. Michael Stal, 2009
Page 21
XaaS – Everything as a Service
P id li ti th Provide applications over the network such as Google Docs, Flickr, SalesForce.com
Software as a Service (SaaS)
Platform as a Service (PaaS) Provide platform services over the network such as SQLServices
© Dr. Michael Stal, 2009
Page 22
Infrastructure as a Service (IaaS) Provide infrastructure over the network such as virtual servers
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 12
Software as a Service
Provide applications to the useruser
typically using a Web Browser such as SalesForce.com, Google Apps, Microsoft Office Live
or using a thin client
© Dr. Michael Stal, 2009
or using a thin client application that runs on your desktop
Page 23
Platform as a Service
Provide platform services to developers such asto developers such as programming environments (e.g., Sun Caroline) and/or execution environments (e.g., Microsoft Azure, Google App Engine)
Execution environments
© Dr. Michael Stal, 2009
typically integrate programming environments
Page 24
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 13
Infrastructure as a Service
Provide virtualized infrastructure resourcesinfrastructure resources such as storage, CPUs, networks as a service
Examples: Amazon E2C & S3, UCSB Eucalyptus, Google BigTable
Main overlap with Utility
© Dr. Michael Stal, 2009
Main overlap with Utility Computing
Page 25
Humans as a Service
Also known as Crowd SourcingSourcing
Remember the COMET example
Humans might act as resources too such as translators, ...
© Dr. Michael Stal, 2009
Page 26
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 14
Another Perspective - Key Elements to meet Future Business Objectives
Secure and efficient management of all 3 layers is the key targety y g
Network of Brains (Humans as a Service)
Network of Business Processes
Network of Resources / Assets
Cloud Computing will impact all layers in near future and
© Dr. Michael Stal, 2009
will impact all layers in near future and will play a significant role
Source: SAP
So how do these XaaS (Everything as a Service) offers differ?
IaaS/Utility computing
Why buy your own hardware y y ymachines when you can rent IT infrastructure?
Examples: Amazon’s EC2
Platform as a Service (PaaS)
Provide an API and let me do the implementation
Example: Google App Engine
© Dr. Michael Stal, 2009
Example: Google App Engine
Software as a Service (SaaS)
Provide the software and run it for me!
Examples: Salesforce.com, Gmail Apps, Office Live
Page 28
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 15
Other Cloud-related Technologies
Grid Computing: combination of computer resources from multiple administrative domains applied to aadministrative domains applied to a common task
Utility Computing: provide easy and transparent access to required resources such as storage or computing power
Multi-Core helps better leveraging the power of available computer hardware
Web 2.0 technologies such as AJAX and Silverlight:
P id D kt ki d UI l k & f l
© Dr. Michael Stal, 2009
Provide Desktop kind UI look & feel
Social Networking
SOA: offers the required loose coupling and business process support
Page 29
Why should we use Cloud Computing?
Cloud Computing Infrastructure
Because it is so cool:My Wife,My House,
© Dr. Michael Stal, 2009
Page 30
My Car,My Cloud!
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 16
Why should we use Cloud Computing?
No because it makes sense: Economics of Scale: leverage g
existing hardware (CPUs, storage, network) and minimize idle times
=> Environmental sustainability
Elastic Scaling: Let your resources grow and shrink as required
Economics of Scale: Pay only for the resources usage (reduced CapEX, OpEX)
© Dr. Michael Stal, 2009
OpEX)
Business Focus: Let others care about IT administration
Improved Quality of Service in terms High Availability & Fault Tolerance
Multi-Tenancy through virtualization
Page 31
New Usage Models: Such as Pay per Use
Comfortable and transparent programming IDEs
Four Tenets of Cloud Computing (Source: IBM)
Service focus
Cloud computing is about providing services to any authorized userservices to any authorized user, anywhere, from any device.
Must be built on a service-oriented architecture and employ service management best practices
Shared, highly scalable, networked infrastructure
New IT infrastructure, application and business process services made
il bl th I t t di
CLOUD
© Dr. Michael Stal, 2009
available over the Internet paradigm
Elastic scaling up or down of standardized, efficient, shared, virtualized compute resources through automated workload management in a secure manner
Page 32
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 17
Four Tenets of Cloud Computing (continued)
Automated service delivery
Request-driven service-mgmt strives for near zero incremental labor costsfor near-zero incremental labor costs
Provides business processes, applications, IT infrastructure cohesively and collaboratively
Allocates and moves services and resources as well as optimizes workloads with low intervention
Resources returned to cloud when not longer required
© Dr. Michael Stal, 2009
Tracks usage for billing or chargeback
Enhanced, standardized user experience
Easy-to-use interfaces and straightforward information access
Page 33
SOA is complementing Cloud Computing
Mantra of SOA: loose coupling reduces dependencies such as dependence on
technology technology
location
connection paths
Implementation
timing and availability
binding time
all of which being beneficial for implementing a Cloud Computing architecture
© Dr. Michael Stal, 2009
architecture
Note 1: reduction of coupling implies better integration capabilities
Note 2: but also implies less guarantees in terms of quality of service without further measures. Be aware of the consistency<->availability tradeoff
Page 34
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 18
Potential Risks
Outages due to Single Point of Failure: Google mail was not accessible for hours throughout the last monthsthroughout the last months
Privacy: would you expose your mission critical data in a 3rd party cloud such as Amazon S3?
Technology independence: how can we avoid vendor lock-in
Multiple Clouds: how to integrate multiple clouds
Testing: how to test applications and SLA
© Dr. Michael Stal, 2009
ensure SLAs
Legal issues when a service is deployed in specific countries
Performance: Internet bandwith!
Maturity: technologies are currently immature
Page 35
Flavors of Clouds
Public/External Clouds: Deploy or obtain your services within a 3rd partyservices within a 3rd party service provider‘s infrastructure such as Microsoft, Google, Amazon
Private/Internal Clouds: Maintain your own cloud computing infrastructure
No restrictions in terms of network bandwidth, security exposures
© Dr. Michael Stal, 2009
security exposures, legal requirements
Hybrid Clouds: Use a private cloud but extend your infrastructure with a public cloud when required
Source: Intel
Page 36
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 19
Microsoft Windows Azure
It is an operating system for the cloud
It is designed for utility computing and provides a PaaS layerg y p g p y
Four key aspects Service Management, Compute, Storage, Developer experience
Your Applications
© Dr. Michael Stal, 2009
Page 37
ServiceBus
AccessControl
Workflow
…
Database
Reporting
Analytics
…
Compute Storage Manage
Identity
Devices
Contacts
…
…
…
Ingredients
What should a Cloud OS provide?
The same facilities that a desktop
What Azure claims to provide?
The Windows Azure provides core OS provides, but on a set of connected servers: Abstract execution environment
Shared file system
Resource allocation
Programming environments
Utility computing 24/7 operation
technologies for building rich services on top of unreliable but scalable hardware (i.e., a cloud OS) Supports building applications that
scale
Programming tools and interfaces are designed to be familiar to traditional desktop programmer
Introduce new concepts that are
© Dr. Michael Stal, 2009
Pay for what you use
Simpler, transparent administration
Page 38
Introduce new concepts that are similar to existing ones at a different abstraction level
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 20
Service Runtime API: Worker and Web Role
Every role has access to APIs for common functionality needed for
Public Internet
services Read configuration setting
values
Write messages to set of standard logging streams “Printf” sitting on top of a lot of
plumbing so logs are downloadable and archived
Storage Service
Worker Role
Public Public Internet
Like a Windows Service
© Dr. Michael Stal, 2009
easily
Critical messages generate live alerts
Get access to unreliable local storage for caching
Page 39
Storage Services
Web Role
LoadBalancer
Running underIIS
Windows Azure Storage Abstractions
Blobs – provide a simple interface for storing named files
Example - Queues
along with metadata for the file
Tables – provide structured storage. A table is a set of entities, which contain a set of properties
Queues – provide reliable storage and delivery of
f li ti
MessageQueueAccount
Thumbnail Jobs
128x128, http://…
256x256, http://…
© Dr. Michael Stal, 2009
messages for an application
Page 40
Account
Indexing Jobs
http://…
http://…
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 21
AppFabric
Application Server (Internet Service Bus)
Access Control
© Dr. Michael Stal, 2009
Page 41
Amazon Web Services
Main Ingredients: Computing Power:
Elastic ComputeCloud
Compute Computing Power: Amazon EC2
Storage: Amazon S3
Communication: Amazon SQS (Simple Queue Service)
Compute
Store Message
Simple Storage Service
Simple QueueService
© Dr. Michael Stal, 2009
Page 42
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 22
Amazon E2C
Amazon Machine Image (AMI): Bootable root disk Pre-defined or user-builtPre defined or user built Catalog of user-built AMIs OS: Fedora, Centos, Gentoo, Debian,
Ubuntu, Windows Server App Stack: LAMP, mpiBLAST, Hadoop
Instance: Running copy of an AMI Launch in less than 2 minutes Start/stop programmatically
N t k S it M d l
© Dr. Michael Stal, 2009
Network Security Model: Explicit access control Security groups
Inter-service bandwidth is free Amazon Elastic Block Store: offers
persistent storage for Amazon EC2 instances
Page 43
Amazon S3
Objects: Opaque data to be stored (1
byte … 5 Gigabytes)y g y ) Authentication and access
control Buckets:
Object container – any number of objects
100 buckets per account / buckets are “owned”
Keys: Unique object identifier within
© Dr. Michael Stal, 2009
q jbucket
Up to 1024 bytes long Flat object storage model
Standards-Based Interfaces: REST and SOAP URL-Addressability – every
object has a URL
Page 44
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 23
Amazon SQS (Simple Queue Storage)
Queues: Named message container PersistentPersistent
Messages: Up to 256KB of data per
message Peek / Lock access model
Scalable: Unlimited number of queues
per account
© Dr. Michael Stal, 2009
per account Unlimited number of
messages per queue
Page 45
Google App Engine
Pure PaaS offer for Java and Python Users
Runs your application on top of the Google Infrastructure
Provides
Tools and Development Environment
Datastore for persistence with a proprietary, an HDO, or a
© Dr. Michael Stal, 2009
p p y, ,JPA API
E-Mail integration
User Account Services (via Google Mail Accounts)
Page 46
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 24
Open Source Offers
Eucalyptus (Elastic Utiliy Computing Architecture for Linking Your Programs To Useful Systems)
Built your own Private Cloud
Provided by UCSB
Compatible to Amazon E2C, S3, EBS
Support KVM, ZEN
© Dr. Michael Stal, 2009
pp ,
AppScale uses Eucalyptus to provide an open Google App Engine
Amazon Elastic MapReduce built upon Apache Hadoop for highly scalable data processing
Page 47
Some Real World Examples - New York Times (Times Machine)
New York Times wanted to provide their historic archives and newspapers to the publicnewspapers to the public
The amount of 11 million articles needed to be converted into PDF
Estimation:
100s of servers required
4 Tera Bytes of Storage
Several months of processing time estimated
© Dr. Michael Stal, 2009
time estimated
Using a Cloud Computing environment resulted in 1 day of operation and $240 USD costs
Batch Job application on a Cloud
Page 48
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 25
Some Real World Examples - ShareThis
The social media company ShareThis offers social media services to other companiesservices to other companies
Load of traffic unpredictable and spiky
By using cloud computing they could deal with peak times by extending from 100 servers to 3500 servers and also downsize again
One day spike results in $200 USD
© Dr. Michael Stal, 2009
costs
Application dealing with dynamic load
Page 49
Some Real World Examples - Animoto
The Animoto platform creates videos from photos, video clips and music
When linking to FaceBook, the number of users exploded
25000 users per hour
Requiring 100 times the previous IT infrastructure
With Amazon AWS and the Management Tool RightScale they could cope with the challenge
© Dr. Michael Stal, 2009
p g
Page 50
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 26
Some Real World Examples - Forbes
Forbes is offering real time stock market data online: BATS Exchange real time quotesreal-time quotes
The company needs to pay for IT day and night, as well as weekends
Solution:
Hosting in Amazon E2C
Acquiring new servers at day, and releasing them at night
Pay a dime per server hour
© Dr. Michael Stal, 2009
Pay a dime per server hour
Page 51
Additional Success Stories (Source: PriceWaterhouseCoopers)
GE: Global procurement hosting 500k suppliers and 100k users in six languages on SaaSplatform to manage $55B/yr in spend
Bechtel: Reduced infrastructure cost by 30% in
Cloud cover
Bechtel: Reduced infrastructure cost by 30% in part by achieving 70% server utilization
Washington DC: Google Apps used by 38k employees reducing costs to $50/user per year for email, calendaring, documents, spreadsheets, wikis, and instant messaging
Eli Lilly: Using Amazon Web Services can deploy a new server in 3min vs 50 days and a 64 d Li l t i 5 i 100d
© Dr. Michael Stal, 2009
Slide 52
64-node Linux cluster in 5min vs 100days
NASDAQ: Using Amazon Storage to store 30-80GB/day of trading activity
.. and BBC, Hasbro, ESPN, Major League Baseball, British Telecom
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 27
Migration Challenges
Building or moving to cloud applications and services is not straightforward:
Capacity planning Capacity planning
Identifying potential cloud applications
Partioning functionality into services as well as implementing and connecting them
Testing and simulating
Adapting existing legacy code rather challenging
© Dr. Michael Stal, 2009
Business aspects such as RoI
Legal issues when using public clouds
Technology diversity and immaturity: no safe ground!
Page 53
Proof of Concept required
Potential elements of a Cloud Computing Strategy: Intel as an Example
Starting with private clouds
Identifying possible applications suitable for public clouds. Suitable are applications that
do not provide a competitive advantage,
are not mission-critical,
are not tightly integrated with other applications,
don‘t contain sensitive information.
© Dr. Michael Stal, 2009
don t contain sensitive information.
This list shrinks when security standards arrive
Page 54
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 28
Potential elements of a Cloud Computing Strategy: Intel as an Example (continued)
List subject to reconsideration as market matures
Different adoption rates of SaaS and IaaS
Key factor is whether re-engineering of applications is required
In principle, no need for reengineering if VMs are used in public cloud, but cost profile and scalability analysis is required before
© Dr. Michael Stal, 2009
Migration likely to occur
at specific points in application lifecycle
Influenced by mergers, acquisitions, and specific business needs
Page 55
Cloud Computing Adoption @ Intel (continued)
Current Intel IT primarily consisting of conventional computing
Many internal initiatives that are suitable for private clouds:
First conducted Proof-of-Concept analysis:
Data center virtualization: design computing initiative creating a pool of resources at multiple locations
Data center utility aims at building a
© Dr. Michael Stal, 2009
y gmore agile, dynamic data center environment using virtualization with powerful, energy-efficient servers
Development on demand: let developers create virtual developm. environments instead of acquiring new hardware for every project
Page 56
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 29
Cloud Computing Adoption @ Intel (continued)
Over the next two years:
Expand private clouds
Work with business units to mitigate conventional computing to these clouds
Future: As internal initiatives start working as an internal cloud, move increasing number to public clouds
© Dr. Michael Stal, 2009
Page 57
Steps for defining a Strategy (1)
Build a network of people and competencies
within your organization
with external partners
Define first coarse-grained strategy
Identify potential Proof of Concept examples
Company-internal enterprise
© Dr. Michael Stal, 2009
Company internal enterprise
Product-related
Implement Proof of Concept applications
Page 58
Dezentrale Architekturen
Dr. Michael StalOOP 2010 Vortrag 30
Steps for defining a Strategy (2)
Derive and collect experiences, challenges, risks, and opportunities
Define a sophisticated and realistic fine-grained strategy for
identifying potential cloud applications, and
migrating applications and services to clouds
© Dr. Michael Stal, 2009
Consider this process as an agile, iterative approach
Page 59
Summary
Cloud Computing currently represents a cult with various definitions and opinions
But it is also a culture that offers a lot of opportunities for large and small companies
Not all applications might be suitable for Cloud Computing
But there are potential solutions that perfectly fit
Migration or adoption of Cloud Computing is
© Dr. Michael Stal, 2009
g p p gNOT easy.
It is not just deploying some applications in a cloud
And mind the immaturity and diversity of current technologies
Page 60