cloud computing and service management day 5 10-25-10 · 2010-11-11 · cloud computing and service...

117
© 2009 IBM Corporation Cloud Computing for a Smarter Planet Prof. Dr. Kristof Kloeckner VP Strategy & Enterprise Initiatives, Systems & Software, and CTO, Cloud Computing IBM October 25, 2010 Cloud Computing and Service Management Platform Services

Upload: lamdieu

Post on 14-Jul-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

© 2009 IBM Corporation

Cloud Computing for a Smarter Planet

Prof. Dr. Kristof KloecknerVP Strategy & Enterprise Initiatives, Systems & Software, and CTO, Cloud ComputingIBM

October 25, 2010

Cloud Computing and Service Management Platform Services

© 2009 IBM Corporation2

Infrastructure-as-a-Service

Platform-as-a-Service

Application-as-a-Service

Servers Networking Storage

Middleware

Collaboration

Financials

CRM/ERP/HR

Industry Applications

Data Center Fabric

Shared virtualized, dynamic provisioning

Database

Web 2.0 ApplicationRuntime

JavaRuntime

DevelopmentTooling

Four major categories of Cloud Computing services are emergingExamples

Business Process-as-a-Service

Employee Benefits Mgmt.

Industry-specific Processes

Procurement

Business Travel

© 2009 IBM Corporation3

Ser

vice

Del

iver

y

Por

tal

BSS – Business Support Services

OSS – Operational Support Services

Reporting & AnalyticsMetering

Ser

vice

Dev

elop

men

t P

orta

l

Common Cloud Management Platform

Security & Resiliency

Cloud Service

Offerings

Service Provider Portal

Service Business Manager Service Operations Manager

AP

I

Use

r Int

erfa

ce

AP

I

The Common Cloud Platform

Virtualized Infrastructure – Server, Storage, Network

“Common Cloud Middleware Platform - PaaS”

Unified service management driving delivery economics

•Emerging and existing programming models•Hybrid Environments

Loosely Coupled Workloads

Analytics Workloads

Storage/Data Integration Workloads

Transactional Workloads

PaaS Tooling – Integrated Developer and Administrator Tools,

BSS plugin - PaaS specifc user roles OSS plugin - Service Templates, Management Plans

© 2009 IBM Corporation4

References

§ Articles downloaded from the Internet– Michael Armbrust et al., Above the Clouds: A Berkeley View of Cloud Computing, Feb. 2009

http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf– Cloud Computing: Platform as a Service. InformationWeek Analytics, October 2, 2009– Luiz André Barroso and Urs Hölzle, The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines, Synthesis

Lectures on Computer Architecture, 2009, http://www.morganclaypool.com/doi/pdf/10.2200/S00193ED1V01Y200905CAC006?cookieSet=1– Scott Crowder, Introduction to Workload Optimized Approach & Workload Market Segmentation, IBM White Paper, December 2009– David Chappell, A short introduction to Cloud, http://www.davidchappell.com/CloudPlatforms--Chappell.pdf– David Chappell, Cloud Platforms Today: A Perspective, April 2009 http://www.davidchappell.com/CloudPlatformsToday--APerspective--Chappell.pdf– Jeffrey Dean and Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large Clusters,

labs.google.com/papers/mapreduce-osdi04.pdf– DeCandia et al. Dynamo: Amazon’s highly available key-value store, SOSP 2007,

http://portal.acm.org/citation.cfm?id=1294281&dl=ACM&coll=ACM&CFID=47859964&CFTOKEN=98797782– European Network and Information Security Agency (ENISA), Cloud Computing, Benefits, risks and recommendations for information security, Nov

2009 (http://www.enisa.europa.eu)– Gregor Hohpe, Programming the Cloud, November 2009, http://www.enterpriseintegrationpatterns.com/docs/HohpeProgrammingCloudKeynote.pdf– Anna Liu, Architecting Cloud Applications – the essential checklist, AAF Keynote 2009, – National Institute of Standards and Technology, Definition of Cloud Computing, http://csrc.nist.gov/groups/SNS/cloud-computing/– Ning Duan et al., Tenant Behavior Analysis in Software as a Service Environment, ICSOC 2009– Daniel Nurmi et al., The Eucalyptus Open-source Cloud-computing System, http://www.cca08.org/papers/Paper32-Daniel-Nurmi.pdf– Open Cloud Manifesto, http://www.opencloudmanifesto.org/– OpenNebula.org – Various papers– B. Rochwerger et al., The Reservoir Model and Architecture for Open Federated Cloud Computing, IBM Journal of Research and Development,

April 2009 http://www8.cs.umu.se/~elmroth/papers/ibmjrd2009.pdf– Werner Vogels, Eventually Consistent, ACM Queue, October 2008– Ying Huang et al., A Framework for Building a Low Cost, Scalable and Secured Platform for Web-Delivered Business Services, IBM Systems

Journal, November 2009§ Company Web Sites: Amazon, Microsoft, Google, IBM, Salesforce.com§ Gregor Hohpe, Bobby Woolf, Enterprise Integration Patterns, Addison-Wesley 2004§ Kristof Kloeckner, Middleware for Distributed Systems, Lecture Notes 2004§ Kristof Kloeckner, The IBM Cloud Agenda, White Paper 2009§ George Reese: Cloud Application Architectures, O’Reilly 2009§ John W. Rittinghouse, James F. Ransome, Cloud Computing. Implementation, Management and Security, CRC Press 2009§ Andrew Tanenbaum, Maarten van Steen: Distributed Systems. Principles and Paradigms, Prentice-Hall 2009 § Rich Schiesser: IT Systems Management, Prentice-Hall 2002§ Jim Rymarczyk, Virtualization, Pre-Print 2009§ Tivoli Service Automation Manager Solution Guide

© 2009 IBM Corporation5

Agenda

§ Evolving Programming Models – Overview

§ Extensions to traditional programming models – patterns in the cloud

§ Loosely coupled, relaxed consistency– Amazon Web Services– Microsoft Azure– Google

§ Content centric– Hadoop

§ Database centric– Pangoo

© 2009 IBM Corporation6

Spectrum of Commercial Cloud Platforms

Client VMs

SharedServices

Hypervisor Hypervisor

Amazon Azure GoogleSalesforce.com

Standard VM Images

SharedServices

Client VMs

SharedServices

ClientServices

Degrees of Freedom

© 2009 IBM Corporation77

Security

Critical Pieces of a Cloud Architecture

Programming Model

Persistence Model

Mgmt Model

Tools

Connectivity + Integration

Infrastructure

Collaboration

Traditional Developer?

Non-traditional ISV’s? IT/CIO? Integrators

We will ignore this part in the study

© 2009 IBM Corporation8

Five Emerging Cloud Architectures

§ Virtualized Traditional - Extensions of Java Application Servers, Support for ‘Traditional’ Transactional Workloads– Moving existing workloads to the cloud– Requires best practices, patterns, tooling

§ Database Centric - data driven + small computation on small data– With multi-tenancy attractive for enterprise and service providers

§ Content Centric - computation needs to be close to data + large computation on large data– Data Mining, Analytics, Data Warehouse,

§ Loosely Coupled - computation and data are separate– Can be addressed by existing middleware, but ‘relaxed consistency’ models

emerging

§ Storage Analytics - Data and Storage Integration

© 2009 IBM Corporation9

Agenda

§ Evolving Programming Models – Overview

§ Extensions to traditional programming models – patterns in the cloud

§ Loosely coupled, relaxed consistency– Amazon Web Services– Microsoft Azure– Google

§ Content centric– Hadoop

§ Database centric– Pangoo

© 2009 IBM Corporation10

Virtualized InfrastructureVirtualized InfrastructureVirtualized Infrastructure

Application Runtimes in Virtual Machines(Middleware Images)

Application Runtimes in Virtual MachinesApplication Runtimes in Virtual Machines(Middleware Images)(Middleware Images)

Shared User Services(Persistence. Connectivity,

Composition, …)for multiple cloud programming

models(loosely coupled, content centric,

database centric)

Shared User ServicesShared User Services(Persistence. Connectivity, (Persistence. Connectivity,

Composition, Composition, ……))for multiple cloud programming for multiple cloud programming

modelsmodels(loosely coupled, content centric, (loosely coupled, content centric,

database centric)database centric)

Pattern Deployed Services(optimized multi image configurations)

Pattern Deployed ServicesPattern Deployed Services(optimized multi image configurations)(optimized multi image configurations)

Life Cycle ManagementLife Cycle Life Cycle

ManagementManagementPlatform

Web Interface

Platform Platform Web Web

InterfaceInterfaceRepository

(Parts/Patterns) Repository Repository

(Parts/Patterns)(Parts/Patterns) Service

Management Extensions

Service Service Management Management ExtensionsExtensions

Building Cloud Services from Cloud Patterns

© 2009 IBM Corporation11

Straw Man Scenario – Existing Application

§ Do Workload Analysis – select application candidates (simple tool exists)– Workload migration workbench

§ Do Application Analysis – potentially refactor (no tools exist yet)§ Deploy/Run

– Find recommended deployment pattern, use tools to deploy to selected infrastructure• Initially combination of (optimized) VMs (DB2, WAS etc.)• Increasingly a service (Messaging, Persistence/DB, Application Container…)

– Maintain an application (patch, update, manage the image…)§ Secure through Service Platform

– Identity, Compliance, Isolation§ Exchange Data through Service Platform

– SaaS application and enterprise– Bring data to the cloud

§ Connect back to enterprise business processes through Service Platform

© 2009 IBM Corporation12

The Application Model

§The model defines– The application– Requirements on libraries, security, data, and

services– Connections to other applications and systems

Based on a touchpoint model– Inbound Routing Rules for access to the application

§Model elements can be private to a user or shared (publicly or within a group)

§Model technology based on research work currently used in Rational Software Architect and WebSphere CloudBurst Appliance

The ApplicationThe Application

Routing RulesRouting Rules

LibrariesLibraries DataDataSecuritySecurity

ConnectionsConnections

ServicesServices

© 2009 IBM Corporation13

The Deployment Model

§ The Deployment Model maps an application to a particular, non-functional, execution topology

§ A single application can be deployed using different deployment models

§ Simple models include “development”, “test”, and “production”

§ Deployment models allow specification of desired QoS characteristics (such as high availability model or clustering structure) without specifically saying how to configure the middleware

© 2009 IBM Corporation14

Topology Model

§ The topology model defines the actual configuration of the application and the middleware to be executed on the cloud

§ Defined as a collection of virtual machine images arranged in a topology and customized to current usage

§ Topology model defines the activation of the system AND the lifecycle management of the components

§ Topology model based on Zephyr research work and work done by Andrew Trossman in Tivoli

© 2009 IBM Corporation15

Example of a Cluster Pattern

EAR DBTWO (Primary)

DBTWO (Standby)EAR

WXS Catalog

WXS Catalog

WXS Catalog

haproxy

haproxy

EIP1

EIP2

WAS

WAS

EAR

WAS

(For Session replication)

© 2009 IBM Corporation16

DBaaS vs DB2 on VMs (or BM: Bare Metal)

§ Ultra-simplicity: Little/no exposure of VM/BM instances, etc

§ Maintenance is automated/hidden as much as possible

§ Application developer is enabled to provision their own DB

Unit of Provisioning: DBOS Image + OS Image +HADR

Unit of provisioning: VM Instance

vs.

• 2 Operating system• OS configuration• OS maintenance

• 2 DB2 installations• DB2 configuration• DB2 maintenance

• HA topology

• Backup strategy• Security patches

• DB2 and OS• Manual • Failure recovery• Usage based on

DBA skills

DBaaS (ultra simple) Traditional DB

WebSphere

Client App

etc

© 2009 IBM Corporation17

Database Service Architecture

§ DBaaS– Provision a database in the cloud– Simplify admin/setup (limited dbm cfg)

§ DB2 MMT (multitenancy)– Provision/share a database schema– Support multitenant single-instance apps

IBM Confidential

Master App Metadata Repository

w/ context

REST

JDBC

Database Resource PoolDatabase Resource Pool

DB1DB1 DB3 (T1)DB3 (T1) DB4DB4

MMT REST Services

Single/Multi Tenant Application(w/ accountID, tenantID)

Single/Multi Tenant Application(w/ accountID, tenantID)

DB2 Common Client Driver

Admin Console

App

Admin Console

App

Data Node Data Node

RXA / JDBC

DB3 (T2)DB3 (T2) DB5DB5

• Accounts, tenants, offerings• logical/physical dbs• tables

DB ProxyService

© 2009 IBM Corporation18

Agenda

§ Evolving Programming Models – Overview

§ Extensions to traditional programming models – patterns in the cloud

§ Loosely coupled, relaxed consistency– Amazon Web Services

Amazon material, best practices from A. Trossman, IBM– Microsoft Azure– Google

§ Content centric– Hadoop

§ Database centric– Pangoo

© 2009 IBM Corporation1919

A “Loosely” Coupled infrastructure allows for a wide variety of programming and persistence models

Mgmt Model

Control, and mgmt flow

Mgmt Model

App1 App2

App3 App4

Mgmt Model

Loosely coupled here

Over time, loosely coupled here also

InfrastructurePersistenceProgramming

© 2009 IBM Corporation20

Critical elements of a loosely coupled model

20

Applications Services accessed via REST/SOAP messages• Storage services

• Data services

• Queuing/messaging Services

• Execution Services (virtualized hardware)

Design to minimize operational costs - up front• e.g. recognize some part of the platform will fail (Storage, DB, application) &

design into application

• Don’t debug - kill/freeze execution instant

Eventual Consistency for Data Handling & Replication: - sometimes data storage service or database service will sometimes return the wrong answer

Message queue - will deliver messages at least once, possibly more than once

Asynchronous - scale achieved by recognizing components that perform operate in parallel• Session/state information stored outside the application components

Commodity “parts” can come and go, the rest of the system does not fail• Both for infrastructure parts, as well as for application parts

Redundant (idempotent) execution is fine for infrastructure working AND for application semantics• Without that, very strict guarantees on application state will be required,

making the cost of execution very high

© 2009 IBM Corporation21

The ‘new ACID’ (Gregor Hohpe)

§ Old ACID – predictive and accurate– Atomic– Consistent– Isolated– Durable

§ New ACID – flexible and redundant– Associative– Commutative– Idempotent– Distributed

© 2009 IBM Corporation2222

Amazon - AWS Evolution

AWS continues to evolve iteratively as Amazon learns what works for their business ecosystem

LOOSELY COUPLED STYLE

© 2009 IBM Corporation23

amazonaws.com

© 2009 IBM Corporation24

amazonaws.com

• Free developer account • REST and SOAP Cloud APIs• WSDL files• Voluminous documentation• Sample code • Usage-based billing• $0.10 - $0.17 / GB bandwidth

© 2009 IBM Corporation25

amazonaws.com

Message Queue

Message Queue

Message Queue

© 2009 IBM Corporation26

amazonaws.com

Message Queue

Message Queue

Message Queue

SQS

• Amazon Simple Queue Service• Scalable message queue• Elastic capacity• $.01 for 10,000 messages

© 2009 IBM Corporation27

amazonaws.com

Message Queue

Message Queue

Message Queue

Object Storage

Object Storage

Object Storage

© 2009 IBM Corporation28

amazonaws.com

Message Queue

Message Queue

Message Queue

Object Storage

Object Storage

Object Storage

S3

• Amazon Simple Storage Service• Scalable object storage• Distributed, redundant• 1B – 5 GB / object• Public or private• URL-addressable• $.15 / GB / month

© 2009 IBM Corporation29

amazonaws.com

Message Queue

Message Queue

Message Queue

Object Storage

Object Storage

Object Storage

IndexedStorage

© 2009 IBM Corporation30

amazonaws.com

Message Queue

Message Queue

Message Queue

Object Storage

Object Storage

Object Storage

IndexedStorage

SDB

• Amazon SimpleDB• Indexed data storage• Distributed, redundant• Schemaless• Elastic capacity• Query language• $1.50 / GB / month

© 2009 IBM Corporation31

amazonaws.com

Message Queue

Message Queue

Message Queue

Object Storage

Object Storage

Object Storage

IndexedStorage

ElasticComputing

© 2009 IBM Corporation32

amazonaws.com

Message Queue

Message Queue

Message Queue

Object Storage

Object Storage

Object Storage

IndexedStorage

ElasticComputingEC2

• Amazon Elastic Compute Cloud• Scalable processing power• Small, medium, or large• Linux or OpenSolaris• Root-level access• Management API• $0.10 - $0.80 / instance / hour

© 2009 IBM Corporation33

amazonaws.com

Message Queue

Message Queue

Message Queue

Object Storage

Object Storage

Object Storage

IndexedStorage

ElasticComputing

BlockStorage

© 2009 IBM Corporation34

amazonaws.com

Message Queue

Message Queue

Message Queue

Object Storage

Object Storage

Object Storage

IndexedStorage

ElasticComputing

BlockStoragePersistent Block Storage

• 1 GB – 1 TB allocation• High-performance• Mount on EC2 instance• Format as filesystem• Snapshot backup to S3

© 2009 IBM Corporation35

amazonaws.com

Message Queue

Message Queue

Message Queue

Object Storage

Object Storage

Object Storage

IndexedStorage

ElasticComputing

BlockStorage

IP Addresses

© 2009 IBM Corporation36

amazonaws.com

Message Queue

Message Queue

Message Queue

Object Storage

Object Storage

Object Storage

IndexedStorage

ElasticComputing

BlockStorage

IP Addresses

Elastic IP Addresses

• Allocate as needed• Attach to EC2 instance• Remap as needed

© 2009 IBM Corporation37

amazonaws.com

Message Queue

Message Queue

Message Queue

Object Storage

Object Storage

Object Storage

IndexedStorage

ElasticComputing

BlockStorage

IP Addresses

Metering

Billing

© 2009 IBM Corporation38

amazonaws.com

Message Queue

Message Queue

Message Queue

Object Storage

Object Storage

Object Storage

IndexedStorage

ElasticComputing

BlockStorage

IP Addresses

Metering

Billing

Metering & Billing

• Dynamic usage tracking• Monthly credit card billing• Usage reports• Portal

© 2009 IBM Corporation3939

S3 – Storage What is it?•Uses standards-based REST and SOAP interfaces designed to work with any Internet-development toolkit.

•S3 is built on a distributed architecture - data stored redundantly

•Each object is stored in a bucket & retrieved via a unique, developer-assigned key.

•A bucket can be located in the United States or in Europe. All objects within the bucket will be stored in the bucket’s location, but the objects can be accessed from anywhere.

What’s different about it•S3 will fail on read/writes as a component - but system remains reliable.

• Apps expected to be designed “loosely coupled” to take into account

•Not a filesystem. Objects are not files

•Not for transaction processing

•Data redundancy takes minutes - cannot be assure an object you created/updated in S3 will be immediately available to other S3 applications

•Developer frameworks that take into account S3 & EC2 working together in the innovation phase

AWS ServicesLOOSELY COUPLED STYLE

© 2009 IBM Corporation4040

EC2 - virtual computing environmentWhat it is?•Provide “instances” - virtual machines/hardware that run in EC2; based on XenSource

•Images can be shared - or rented out to others (Paid AMI thru DevPay)

What’s different about it•Application instances & data are coupled - EC2 does not automatically save data outside it’s environment

•Instance rebooted - transient data not lost. Instance shutdown or fails -data lost

•Can recycle images to avoid runtime bugs/problems such as memoryleaks, race conditions, etc.. - and freeze images for off-line debugging.

•From the beginning a developer needs factor long term persistence into their application design when apps fail for whatever reason (S3 down, network connection down, etc..)

•Automated management of EC2 images in early phase. Most applications have rolled their own

AWS ServicesLOOSELY COUPLED STYLE

© 2009 IBM Corporation4141

SQS - Simple Queue ServiceWhat is it?• Access to SQS thru SOAP services

• Highly scalable, distributed, hosted queue to reduce/eliminate app-to-app dependencies

• All messages are stored redundantly across multiple servers and data centers

• Developers can create an unlimited number of Amazon SQS queues, each of which can send & receive an unlimited messages.

• Message body can contain up to 8 KB of text in any format.

• A message is “locked” while a computer is processing it, keeping other computers from trying to process it simultaneously. If processing fails, the lock will expire and the message will again be available.

What’s different about it?• It’s more than a simple queue - applications interact by telling SQS estimated processing time = workflow

• Message may not be delivered immediately

• Load balancing model is asynchronous - lots of instances could be taking work off the queue, in different data centers

• Asynchronous - state/session information store in SQS where possible

• Messages will end up being delivered more than once in some cases - application to deal with it.

• Workloads, number of messages on the queue for an application - is done mathematically on sampled queues• Pricing still a drawback to broader adoption

AWS ServicesLOOSELY COUPLED STYLE

© 2009 IBM Corporation42

Best Practices (Andrew Trossman)

§ Image management– Launch parameters– S3, CVS, SVN– Image Style Management

§Release upgrades§Cluster everything (redundancy)§Dynamically respond

– Faults– Demand

§Processing Pipeline of Loosely Coupled Services§Conclusions

© 2009 IBM Corporation43

Image Management

§Changes makes 100% images impractical§Boot Scripts combined with Homogenous Environment work§Image + Launch Parameters ~= Image

–Extremely repeatable and reliable–Less storage –Tolerates change better§Example template

–Builds server from script–Pulls content/code from repository

© 2009 IBM Corporation44

Image Style Management

§Avoid Heisenbugs – cycle VMs regularly§Simple patches update “image”

–Automatically rolled out via regular cycling§Never “fix” by hand§Always “replace” the image

© 2009 IBM Corporation45

Release Upgrades

§Completely rebuild parallel environment– Test– Cut over data– Change DNS– Decommission old when confident

§Cheaper to “replace than fix”§Traditional “fix” process with staging etc.

– GBS identified 2/3 human effort dedicated to this process

© 2009 IBM Corporation46

Cluster Everything

§Everything Fails – Applications must accommodate§Transparent redundancy§Seamless failover§Monitoring & Events

© 2009 IBM Corporation47

Scalr Dynamic Response to Demand & Availabiltiy

© 2009 IBM Corporation48

Always Respond By Cloning

§Resist urge to “fix” in place§Most bugs are application bugs§Traditional QA is good at removing all but the Hysenbugs§Clone instance brings a “fresh” server to replace the faulty

one.– This gets past hysenbugs– Enables “off-line” problem determination

§ “Roll Forward” in the cloud

© 2009 IBM Corporation49

Scalr Process Flow

© 2009 IBM Corporation50

© 2009 IBM Corporation51

Pipeline Loosely Coupled Services

S3End users submit videos to be transcoded to the website

Request message is placed in the Amazon SQS incoming queue with a pointer to the video and to the target video format in the message

SQS

EC2

The transcoding engine, running on a set of Amazon EC2 instances, reads the request message from the incoming queue

1 2

34The engine retrieves, transcodes, and returns the video to S3

5a

SimpleDB

Metadata about the video (e.g., format, date created and length) can be indexed into Amazon SimpleDB for easy query

A Simplified Example: Video Transcoding Web Site

Sources: Amazon.com, MI Analysis

Client assumed to be:

Web Application Layer

5b

Response message is placed in the outgoing queue and sent to user with a pointer to the converted video

© 2009 IBM Corporation52

ServiceOrientedPlatform ofAmazon’sArchitecture

http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf

© 2009 IBM Corporation53

Examples

© 2009 IBM Corporation54

Frontend servers (x 3)- Medium instance (IO/Memory)- App & Cache servers

MySQL servers (x 6)- Medium instance (IO/Memory)- MySQL 5.1 w/ replication- Backup to S3 every 4 hours

Index servers (x 2)- X-Large (CPU/IO)- EBS volumes for IO throughput- EBS snapshots for backup

Infrastructure servers (x 3)- Dist. Logger (Medium – IO)- Analytics Server (Medium – IO)- Messaging Server (Small)

Crawlers (x ~70)- Small instance (Network IO)- Automated build & boot

Staging (x 3)- Medium / Small instances- Scratch space for internal use

© 2009 IBM Corporation55

Soocial

© 2009 IBM Corporation56

© 2009 IBM Corporation57

Observations from startups on 6 AWS (12 – 100s of AMIs)

§ Everyone deployed monitoring § All but one used open source monitoring (the other used home grown)§ NONE have humans watching/waiting§ All use image & boot script for repeatable deployments§ All have scripted fault prevention / resolution§ All Throw Away, rather than Fix§ All redeploy entire production for release upgrades

© 2009 IBM Corporation58

Scaling a Single Application

Single System

Tiered System

Clustered Middleware, Tiered System

Loosely Coupled

Services

Dynamic Massively Parallel Application

Vertical Scaling

Vertical Scaling

Partitioned DB

Vertical Scaling

Vertical Scaling

Vertical

Horizontal

Horizontal

Horizontal

Horizontal Scaling

Horizontal Scaling

Development Discontinuity

(new application architecture)

Significant Development Required

© 2009 IBM Corporation59

Conclusions

§Divide Complex Monolith– Two simpler problems

§ IaaS simplifies self-managed apps§Cost of IaaS + Apps < Monolithic App§PaaS _is_ an Application§Storage _is_ an Application§Using Anant’s Analogy:

– We have lots of small problems (apps)– We have one big problem (IaaS)

© 2009 IBM Corporation60

Microsoft Azure™Microsoft Azure™

Azure™ Services PlatformAzure™ Services Platform

Windows’ AzureWindows’ Azure

Live Services

Live Services

.NET Services

.NET Services

SQL Services

SQL Services

SharePoint Services

SharePoint Services

Dynamics CRM OnlineDynamics

CRM Online

Windows Live

Windows Live

OfficeLive

OfficeLive

ExchangeOnline

ExchangeOnline

SharePointOnline

SharePointOnline

Dynamics CRM

Online

Dynamics CRM

Online

Operating Environment

(IaaS)

Operating Environment

(IaaS)

PaaSPaaS

SaaSSaaS

Your ApplicationsYour Applications

Similar design points as AWS...Applications Services accessed via REST/SOAP

messagesSQL Services for data & storageAzure OS has messaging serviceAzure OS platform for app deployment

Data & storage - eventual consistencyQueued messages may be delivered more than once

...with key differences•Applications deployed - not Images

• VMs baked into OS

•Application provides declarative description for scalability, reliability & availability of application components

• e.g. developer of service owner specifies how pieces are to be distributed under what circumstances

•System automatically replicates code & data• Queuing/messaging Services

•SQL Services• Like Amazon, expecting it to be priced (high) based on

operation costs.

Similar design points as AWS...Applications Services accessed via REST/SOAP

messagesSQL Services for data & storageAzure OS has messaging serviceAzure OS platform for app deployment

Data & storage - eventual consistencyQueued messages may be delivered more than once

...with key differences•Applications deployed - not Images

• VMs baked into OS

•Application provides declarative description for scalability, reliability & availability of application components

• e.g. developer of service owner specifies how pieces are to be distributed under what circumstances

•System automatically replicates code & data• Queuing/messaging Services

•SQL Services• Like Amazon, expecting it to be priced (high) based on

operation costs.

© 2009 IBM Corporation61

© 2009 IBM Corporation62

© 2009 IBM Corporation63

Azure Cloud Development

© 2009 IBM Corporation64

© 2009 IBM Corporation65

© 2009 IBM Corporation66

© 2009 IBM Corporation67

© 2009 IBM Corporation68

© 2009 IBM Corporation69

© 2009 IBM Corporation70

© 2009 IBM Corporation7171

Google Software Stack: One View

Google File System• Non-virtualized storage component – specialized distributed file system designed for Google workloads• Two types of servers: masters (network coordinators) & workers (operating on data as requested)• Chunk size is 64 MB – not typical file system block size to reduce workers interacting with master

Bigtable• Distributed column oriented data store but not a relational DB on top of GFS (Covered in Google TT last year)

Work Queue• Distributed batch processing component & job scheduler

Map Reduce – details• Framework/library in C++ component• Utilizes Work Queue to distribute computations to clusters• ~10,000 Map Reduce programs today• In 2004 ran 29,000 jobs – 2007, 2,200,000 jobs• Google runs ~100,000 jobs per day crunching thru 20 petabytes• Runs across ~100,000 node servers• Indexing , AdWords, Analytics, etc..

Sawzall• Query language, type-safe scripting langauge• Factor of 10 simpler to code up (and shorter) then in C++

CONTENT-CENTRIC CLOUD

© 2009 IBM Corporation72

Agenda

§ Evolving Programming Models – Overview

§ Extensions to traditional programming models – patterns in the cloud

§ Loosely coupled, relaxed consistency– Amazon Web Services– Microsoft Azure– Google

§ Content centric– Hadoop

§ Database centric– Pangoo

© 2009 IBM Corporation73

‘Content-Centric’ is really about “Big Data” AND “New Analytics”

Text

Logs &Transactions

Clickstream Data

Statistical Model Building

Text Analytics

Biological Sequences

© 2009 IBM Corporation7474

A “Content-Centric” model runs infrastructure, data and computation all on the same nodes

Mgmt Model

Mgmt Model

Mgmt Model

InfrastructurePersistenceProgramming

Loosely coupled starts here

Real innovation occurs here

© 2009 IBM Corporation7575

Critical elements of a content centric model

“Restricted” programming model• Think Batch: Redux

• Enables parallelized, distributed, fault tolerant computations without programming complexity

• No new programming experience required; framework hides details of parallelization, fault tolerance, load balancing, etc. from developer

• Offers simplicity of deployment & scalability - no application knowledge of runtime or OS or cloud necessary

Can be deployed on native hardware or virtualized• Underlying map/reduce runtimes automatically parallelizes the

computation across large-scale clusters of (virtual) machines

Storage & data - Leverages “hybrid” distributed storage system & file systems designed to handle petabytes of data - i.e not to be confused with an OS file system• Data Handling & Replication: map/reduce implementations thru a

software framework that handles data distribution

Designed to minimize operational costs• The “master” pings every worker periodically. If no response in a

certain amount of time, the master marks the worker as failed. handles machine failures, and schedules inter-machine communication to make efficient use of the network and disks

CONTENT-CENTRIC CLOUD

© 2009 IBM Corporation7676

Apache Project: Hadoop Core

Open source project to recreate Google’s capabilities (lead by Yahoo) with improvements•Portable – can run as a native or virtualized system•Additional pluggable runtime components for crawling (structured & unstructured data), query languages (Pig Latin, JAQL, Hive, etc..)

Provides a Java framework for large scale parallel processing map/reduce apps•Offers simplicity of “programming” - Looks like a simple single threaded app model for developers •Today - setting up, coding Hadoop jobs in Java, etc. is the domain of skilled Java engineers

Awareness & Adoption Growing•Could become foundation of new generation of easily customizable web analytic applications – at web scale•Yahoo – used in production for indexing content•Facebook – analyze logs, analytics•New Your Times

CONTENT-CENTRIC CLOUD

Not as scalable as Google – but does it need to be?

© 2009 IBM Corporation77

Hadoop, an open source implementation of map-reduce

Map-reduce runtime• Partitions input data• Schedules program’s execution across set of

machines• Manages inter-machine communication• And more

Programming using Map-reduce:• Users specify a map function that processes a

key/value pair to generate a set of intermediatekey/value pairs, and a reduce function that merges all intermediate values associated with the same intermediate key.

• Processes and generates large data sets• Automates program recovery in case of a

failure• Supports functional style programming• Parallelism is an inherent feature• Critical to keeping the company's costs down

© 2009 IBM Corporation78 78

Large Financial Institution wanting to do fraud analytics§ A platform that can cost effectively manage PB’s of data and support fraud and marketing

analytics§ Must be efficient for structured data§ Integration with enterprise assets: warehouse, BI tools

New Analytics

Platform

Models of normal and fraudulent card usage

Transactional Credit Card Risk Management System

(Decision to authorize charge)

Transactional System

Analytics

§ Requirement: analyze 7 years – total 250TB at a rate of 100M transactions a day (transaction rate expected to grow substantially)

§ Problem 1 (1 year of data):– Today, w/o MSA, takes > 1 week – With MSA – 3 hr!

§ Problem 2 (1 month of data):– Customer goal: 1 day = “a win”; 10

minutes = “great”; 1 minute = “awesome”MSA at “great” (~10 mins), moving to “awesome”

Data Sizes and Performance

© 2009 IBM Corporation79

Agenda

§ Evolving Programming Models – Overview

§ Extensions to traditional programming models – patterns in the cloud

§ Loosely coupled, relaxed consistency– Amazon Web Services– Microsoft Azure– Google

§ Content centric– Hadoop

§ Database centric– Pangoo– Salesforce.com

© 2009 IBM Corporation8080

A “Database-Centric” model runs infrastructure and database on the same nodes

Mgmt Model

Mgmt Model

Mgmt Model

InfrastructurePersistenceProgramming

Real innovation at this layer

© 2009 IBM Corporation8181

Critical elements of a database centric model

• The database layer needs to multiplex multiple applications• Database model needs to be flexible if different apps share the database

• For cloud economics to work out, mgmt cost of database layer << #app x mgmt cost of a single database for an app

• Programming model• A focus on schema configuration as opposed to schema design

• Constrain enough to keep cloud economics yet not reduce the market significantly

• Higher bandwidth within a “group of nodes”• For scaling the database within an app (could use larger SMP’s)

• Database nodes are the “keystone”, they need “HA” in some form (so the previous two architectures are not exactly the right fit)

© 2009 IBM Corporation8282

From Single-Tenant to Multi-Tenant Application

MMT common service provides:§ Support for cost-effective resource sharing, isolation, diverse

SLAs, etc., across different tenants§Management of database resource pool, lifecycle of

applications & tenant subscriptions, monitor, analyze, and optimize system operations

§Highly on-demand availability and scalability with the number of tenants & offerings

§Minimize application development or transformation effort for SaaS ISVs

§MT data access mockup package for local testingMMT Meta Repository

MMT Common Service

Operator

1 5…

Database Resource Pool

10,000

App

1

App

2

App …

Few shards in MT

user1 user100… user1 user100… user1 user100…

user1,1 user10000,100…

App1 10

© 2009 IBM Corporation8383

Database Multi-Tenancy for the Cloud

Tenant A

Tenant B

App Server

Shared Tables

(economic)

Separate Instances/Databases

(deluxe/advanced)

Separate Tables

(intermediate)

Tenant A

Tenant B

Multi-tenant App

App Server

Multi-tenant App

Hig

her Q

uery

Opt

imiz

atio

n/ru

ntim

e C

ompl

exity

,

Hig

her S

ecur

ity W

orrie

s

Multi-tenant App

App Server

Higher Multitenancy, better resource utilization

© 2009 IBM Corporation8484

Multi-tenancy Challenges

Isolation, Scalability, Performance, Customization, Resource Utilization,

Metering …

Virtual Multi-Tenant LayerVirtual Multi-Tenant LayerVirtual Multi-Tenant Layer

DB Multi-Tenant Layer

© 2009 IBM Corporation8585

MT DB Tradeoffs

Isolated Databases Separate Schemas Shared Tables

Simplicity simple simple (but need mechanism to avoid name collisions (3-part name or mapping))

hard

Customizability(schema)

high high low (might require migration)

Rigorous Isolation (regulatory law)

best moderate lowest

Resource Cost/tenant high low lowest

#Tenants Low large Largest

Operational Cost/tenant (backup, patches, etc.)

high low (but point in time recovery not easily possible)

Lowest (but point in time recovery even harder)

Tools Need tools to deal w/ large number of instances/databases

Need tools to deal w/ large number of tables

n/a

DB implementation cost Lowest (qry routing and simple mapping layer)

Low (qry routing, simple mapping layer and qry mapping)

High (qry routing, simple mapping layer, qry mapping, row-level isolation)

Scalability Per tenant Need some data/load balancing w/ dynamic migration

Need some data/load balancing w/ dynamic migration

Query Optimization Less critical Less critical Critical (wrong plan over very large tables is disastrous)

Per Tenant Query Performance

As usual need qry governance Need qry governance and tenant-specific statistics

© 2009 IBM Corporation86

Get tenant id via Tenant Identity propagation (ThreadLocal).Retrieve tenant profile (database, username, password, etc.)

according to tenant id.Connect to underlying database based on tenant profile– If shared tables, set tenant id in connection; pass down the

sql to target db. – If separate tables, get tenant specific schema name (assigned during tenant onboard) from tenant profile, and

set current schema before each statement is created.– If separate db, pass down the sql to target db.

MMT Metadata Repository

Tenant info;Offering info;

Physical DB info; Catalog info;SLA…..etc…

Dynamic Routing

MMT JDBC Wrapper

Get tenant id

SaaS Application

REST Service MMT Master App

REST Client

Tenant DB

2

3

45

REST requestw/ tenant id

REST responsew/ tenant profile:

DB info, SLA

JDBC connectionw/ tenant id

6

Result set

JDBC

1

Only once

DB2MMT

Non-db2mmt

Request db connection

Cache

DB2 JDBC Driver

Tenant Identity propagation

© 2009 IBM Corporation8787

Bringing an Application to MMT for DB2

MT App (Offering) development/transform

Operation Management

Runtime

Service ProviderMMT Admin Console

ISV

TenantUsers

Monitoring, Governance,

…..

MMT Sandbox

Multi-tenant application

IDE

Tenant management

Offering management

Resource management

MMT Meta Repository

MMT Common Service

Operator

1 5…

Database Resource Pool

Shards in MT

Multi-tenant App

© 2009 IBM Corporation8888

ISV App

DB2

Application

MT Meta Repository

MMT Common Service

DB2

ISV Local Env. DB2 MMT Runtime Env.

On-boarding

Simulated Meta File

MT Database Pool

Operator

DB2 DB2

MMT Runtime Agent

MT Application development/transformation

Provide offering metadata file

(XML) of application

Configure/Modify the application to use DB2 MMT access package

Embed tenant identification

Develop & Transformation Local & Runtime Environment

Supported J2EE environments– JDBC, Spring, iBatis/Hibernate, JPA– WAS/Tomcat, DB2

MMT Local Sandbox

Example of offering transformation1. Embed tenant identification in application

– Modify Web.xml to include the Filter servletTenantID for propagation through thread local

2. Configure the application to use MMT data access package– Modify Spring data source config to use MMT data source3. Provide offering metadata file (XML) of application– Data source info, DDL, shared tables info, config info, …

© 2009 IBM Corporation8989

Operation Management (MMT Admin Console)

2. Tenant on-boarding/subscription

3. Offering Upgrade1. Offering onboarding

4. Offering & tenant topological view

© 2009 IBM Corporation9090

Architecture of MMT for DB2

MMT Master App(WAS Cluster for HA & LB)

MMT Metadata Repository

JDBC w/ tenant context

REST w/ tenant context

REST

JDBC

Database Resource

Pool

Database Resource

PoolT 1T 1 T 3T 3 T 4T 4

MMT REST Services

A J2EE SaaS ApplicationA J2EE SaaS Application

MMT JDBC WrapperMMT JDBC Wrapper

DB2 JDBC Driver MMT Admin Console AppMMT Admin Console App

T 2T 2 T 5T 5T 1T 1 T 3T 3 T 4T 4

Tenant Data Node

T 2T 2 T 5T 5

Tenant Data Node

RXA / JDBC

© 2009 IBM Corporation9191

© 2009 IBM Corporation92

KingDee’s Exploitationof Pangoo

Multi-tenant Metadata

Repository

MT Runtime Data Access Service

(Runtime Resource Sharing/Isolation, Dynamic Routing, SLA tracking …)

MT Operational & Management Service

(HA, Scalability, SLA tracking, Optimization, OLC etc.)

RDB Model Adapter Object Model Adapter

Tenant Context

MT-JDBC DriverSQL

REST/SOAPObject Query (LinQ,

SOQL, GQL etc.)

JDBC SDO Hibernate Agent

Data Object

Data Model Mapping Module

High Available & Scalable Data

Resources Pool

Application

Virtual Data Store

static schema

dynamic schema

DB-CENTRIC CLOUD

© 2009 IBM Corporation9393

While Salesforce started with CRM, it and its partners run 1000’s of other transactional apps on force.com

4-way Oracle RAC

Multitenant Optimization Layer

CRM

Multitenant Optimization Layer

Multitenant Optimization Layer

4-way Oracle RAC 4-way Oracle RAC

CRM HR Travel HR Mktg

~TB of managed DB

~40,000 tenants~400,000 custom objects

Total 10 Pods

Pod1 Pod2 Pod3

Take 20 Standard Objects (Accounts, Orders, …)Customize or Create new ones

Mileage Object

Add Workflow or Business Logic

Get App

Service Multiple Tenants

DB-CENTRIC CLOUD

© 2009 IBM Corporation9494

A Critical Innovation is the Multi-Tenant Database Architecture

Organization_id Key_prefix Id Name,(Others)

Val0 Val1 … ValN

org1 a01 a01…1

org1 a01 a01…2

org1 a02 a02…1

org1 a02 a02…2

org2 a01 a01…3

org2 a01 a01…4

org2 a02 a02…3

Custom Objects are forced into a very limited number of Oracle Tables

•Key_prefix subsetting●Still partitioning by organization_id

•Smart primary keys (key prefix)●Re-use across organizations

•GUID primary keys•ValN flex fields

Opex at database and platform level dominated by #objects [backups, stats, tuning, schema evolution, app design] for most databases. SFDC reduces this by forcing all disparate objects into fixed set of tables (as rows) -- trading off opex for platform development costs. Consequently, it is able to store ~400,000 different objects in a couple of dozen tables

DB-CENTRIC CLOUD

© 2009 IBM Corporation95

Support of Application Types through different PlatformsPlatform Enterprise apps

moved to the cloudScalable Web Applications (loosely coupled)

Content Centric Applications(parallelizable)

Data-base Centric Apps (multi-tenant)

IBM Cloud Service Platform

Sweet SpotImages, Patterns, Life cycle Mgmt

Virtuoso (future),Some support through existing MW (WSX, WVE)

Open Hadoop, with IBM extensions (service asset)

Pangoo (in deployment in China)

Microsoft Azure .Net Azure platform services

No Support Multi-tenancy supported in Azure SQL Services

Amazon Web Services

Images supported by partners

SQS, SimpleDB, Elastic MapReduce No support

Google AppEngine No support Sweet Spot ? BigTable, GFS etc. No support

Force.com No support No Support No Support Sweet Spot

© 2009 IBM Corporation9696

The next question is, “which workloads on which architecture?”

Programming Model

Persistence Model

Mgmt Model

Infrastructure

Loosely Coupled

W1 (LC)… Wn(LC)

Programming Model

Persistence Model

Mgmt Model

Infrastructure

Content-Centric

W1 (CC)… Wm(CC)

Programming Model

Persistence Model

Mgmt Model

Infrastructure

Database-Centric

W1 (DC)… Wk(DC)

Before we answer that question, we need to answer: “Which workloads will move to the cloud?”

© 2009 IBM Corporation9797

Impact of CloudOn Consumer

(Pain)

In order to understand workloads, we need to look at the pain vs. gain equation for the consumer of Public Cloud Services

What gain does the consumer get from the provider?

What pain does the consumer incur to utilize those services?

Lower costs due to standardization and better utilization

Business Resiliency

“Pay as you go”benefits for bursty use

Better Data Security

Ecosystem Availability and Network Effects

Conformance to Standardization

Integration Complexity

Latency and Data Transfer

Data and Business Policies

For a given workload, if Gain > Pain (by some factor), then it makes sense to utilize cloud for its deliveryProvider can be “internal IT”

We assume that the workload ends up on the right architecture, otherwise the pain will be too high

Benefits of CloudDelivered By Provider

(Gain)

© 2009 IBM Corporation9898

External Cloud Usage Patterns Will Depend on Relative Level of Gain vs. Pain of a Cloud Delivered Service

Lower Gain From Clouds

Higher Gain From Clouds

Small Scale [incl. Start-ups], Ephemeral or High Demand FluctuationsVariable Model Less Expensive Even With Premium; Cost Allows Basic Function Accessibility to SME

High Amount of Data Transfer RequiredNetwork BW charges or Latency wipe out benefits for external cloud Large Enterprise with Long-Running, Stable Demand

Lower Cost Possible With Optimized Traditional Model

Lower Pain of Cloud Delivery

Higher Pain of Cloud Delivery

Self-Contained Applications/ServicesLittle or No Integration Needed; Easy to Schedule

Legacy or Highly Complex Services;Heterogeneous Services

Not Service Oriented or High Benefit to specialized infrastructure for components of solution

Workloads Amenable to Standardization, Multiplexing and Conforms to Cloud Architecture

Significant Application Redesign to Conform to Cloud Architecture

Moderately Complex Servicese.g. Application Development & Test

Additional Wild Card:Level of Control Needed/Fear of Lock-In

Security & Business Resiliency Tradeoffs

Ecosystem Availability & Network Effects for Workload

© 2009 IBM Corporation9999

Lower Gain From Clouds

Higher Gain From Clouds

Lower Pain of Cloud Delivery

Higher Pain of Cloud Delivery

For an Internal Cloud, Similar Approach Can Be UsedEliminates Most Security and Data Transfer BarriersCan Lower Service Integration Complexity

Small Scale, Ephemeral or High Demand Fluctuations

Large Enterprise with Long-Running, Stable DemandLower Cost Possible With Optimized Traditional Model

Self-Contained Applications/ServicesLittle or No Integration Needed; Easy to Schedule

Legacy or Highly Complex Services;Heterogeneous Services

Not Service Oriented or High Benefit to specialized infrastructure for components of solution

Workloads Amenable to Multiplexing & Standardized Infrastructure

Significant Application Redesign to Conform to Cloud Architecture

Moderately Complex Servicese.g. Application Development & Test

© 2009 IBM Corporation100

© 2009 IBM Corporation

Cloud Business Support System (BSS)Overview

© 2009 IBM Corporation102

Cloud ServiceDeveloper

Cloud Service Provider

Common Cloud Management Platform

Virtualized Infrastructure – Server, Storage, Network, Facilities

Cloud ServiceConsumer

Partner Clouds

Customer In-house IT

Consumer Administrator

Consumer Business Manager

Developer

Service Business Manager Service Operations Manager

Cloud Services

User Interface

Consumer End user

API

Software-as-a-Service

Platform-as-a-Service

Infrastructure-as-a-Service

Business-Process-as-a-Service

Metering, Analytics & Reporting

Service Development

Tools

Service Definition Tools

Image Creation Tools

Change & ConfigurationManagement

Offering Mgmt

Order Mgmt

Accounting & Billing

Customer Mgmt

Entitlements

Contract Mgmt SLAReporting

Pricing & Rating

Peering & Settlement

Subscriber Mgmt

Service OfferingCatalog

Invoicing

Service Automation Management

Virtualization Mgmt

Provisioning

Monitoring &Event Management IT Asset & License Management

Service Request Management

IT Service Level Management

Image Lifecycle Management

Capacity &Performance Management

Incident & ProblemManagement

BSSBusinessSupportServices

API

Service Delivery Portal

OSSOperational

SupportServices

Service Transition Manager

Service Security Manager Security & Resiliency

Service Delivery Catalog

Service Templates

Service Developm

ent Portal

Service Provider Portal

CCMP Reference Architecture serves as a base

© 2009 IBM Corporation103

Business Support System (BSS)

§ Services:1. Offering Management & Service

Offering Catalog2. Customer & Subscriber Management3. Contract Management4. Entitlements5. Order Management6. Pricing & Rating7. Accounting, Billing & Invoicing8. Peering & Settlement9. Analytics & Reporting

§ Processes:

§ Business Support Systems (BSS) are the components that a ServiceProvider uses to run its business operations towards customer

© 2009 IBM Corporation104

CCMP R1.0 and R1.1 BSS Functionality§ Sales

– Face to face using ePricer/eConfig tools

§ Customer Management– Bulk import of customer onboarding information by

Business Office– UI for user management with various roles– Web Identity support

§ Subscriber Management– Map customer admin and users to a contract

§ Offering Management– Bulk upload of Catalog data with list price and cost

information§ Service Offering Catalog

– UI for display of catalog items details like Images, VM Sizes, 32/64Bit, Block Storage, Reserved IP Address, VLAN

– UI for submitting provisioning request for a VM on a public or private network with appropriate IP address and attaching a storage

§ Contract Entitlements– Service Catalog entitlement information by

customer and contract loaded by the Business Office

§ Reporting and Analytics– Display of usage via BIRT reports– Royalty Reports for Redhat and SuSe

§ Contract Pricing and Rating– Pricing information by customer and contract

loaded by the Business Office– Simple ETL based price x quantity based pricing

model§ Billing

– Usage based by the hour, monthly recurring and one time charge

– Flexible billing calendar (monthly, quarterly & yearly) for a Geo

– Billing adjustments, incidental charges– Generating CFT/S spread-sheet feed file– “Green Dollar” Revenue back to SWG Products

§ Metering– Rollup of VM, IP addresses, storage blocks usage

information via Data Stage§ Costing

– Usage based costing using offering wide (non-contract) cost rate

– Generating CIF/SSC spread-sheet feed file§ API

– APIs for Image, Instance and Key Management

© 2009 IBM Corporation105

Pricing Models§ One Time Setup Charges

– Setup– Enterprise Onboarding

§ Monthly Recurring Charges– Rate Buy Down– VPN/VLAN

§ Per Hour Usage-based Charges– Virtual Machines

Images (software stack)OSStandardized (BR, SL, GD, PT, 32, 64) Compute

– IP Address Reservation– Standardized (SM, MD, LG) Persistent Storage

© 2009 IBM Corporation106

Publ

ic A

PI (R

est &

SO

AP)

REST& SOAP

Web Browse

rJavaScript

& CSS

CustomerAdmin

CustomerUser

ImageProvider

Developer

EclipsePlug-in

Reporting(BIRT)

Data Warehouse(DB2)

Data Acquisition(DataStage)

Web IdentityLDAP

TAM

Web Seal

AAA

Order to Cash

Billing (CFT/S)

Costing (SSC)

CSV Files

Billing

Cost

Rylty

Invoicing (Geos, IOL)

Financials (CLS, CARS)

OfferingManager

Create Customer Users& set resource limits

Request & use VM, Storage, IP Address

Upload Catalog & List Prices

Onboard Customers, Billing, Adjustments

Enterprise User Mgmt

BSS Extensions

Resource Mapping

Audit & Compliance

OSS Adapter

CloudUI

CloudBSS

ECWDB

BSS Detailed Component Diagram

Pricing & Rating

Abs

trac

tion

Laye

r

Port

al

Image Meta-data & Scripts

Rational Asset Manager RAM

Event Messaging

Subscriber ManagementREST

Service Offering Catalog

WDP BSS

EntitlementsWDPBSS

BSS forDev Test

BusinessOffice

Create Images

© 2009 IBM Corporation107

Layered Architecture

© 2009 IBM Corporation108

Operational Model

© 2009 IBM Corporation109

Backup Slides

© 2009 IBM Corporation110110

Public Cloud Providers Have Different Architectures Driven By Legacy and Target WorkloadsAmazon Model Has Lowest Barrier to Migrating Existing Code

Amazon Google / Hadoop Salesforce

PaaS“Middleware as a Service”

Amazon Web Services (AWS)‣ Internally Amazon runs a SOA like

model‣ Exposes the key middleware

services which Amazon uses to drive its core business apps

App Engine‣Exposes the key middleware services which Google uses for its search application‣Hadoop is an open source implementation of Google’s key middleware services

Force.com‣ Optimized for database front end style

applications‣ Large number of business applications

fit this model (iSeries and LAMP stack are optimized for the same type of application)

‣ Requires the use of their proprietary scripting language

‣ Fault tolerant system Allows them to take additional costs out by using cheaper less reliable hardware and software components

IaaS“Hardware as a Service”

§ Ec2: Renting Intel MIPS§ S3: Renting Storage

Architecture Design Born From Internal e-commerce site Internal Search Engine Hosted Business Applications

From hereon called Loosely-Coupled Content-Centric DB-centric

Leverage Existing Code

and Skills

Build New Code and

Skills

© 2009 IBM Corporation111

Hybrid Cloud Management, Security and Integration

§ From the Enterprise Client’s perspective:

§ Seamless integration of enterprise management with workload running off-premise on clouds

– Visibility of software applications and services (monitoring, events, availability, performance)

– Control of identity, data security, governance, and compliance

– Automation of service definitions, policy based workload offloading, P2C/V2C cloud conversion, elastic scaling of CCMP, availability and disaster recovery SLAs

§ Security for Hybrids– Control security and resilience of services (identity

management, compliance, isolation)§ Enterprise to Cloud Integration

– Secure and efficient data exchange across the enterprise and clouds

– Secure business application connectivity and governance

§ Application and Workload migration– Tools to support the migration of workloads to cloud

Enterprise Resources

Public Cloud

Touchpoint

Pipe

Transformation

Private Cloud

Federated Virtual Service Domains

Business Applications & Information

Enterprise Management of Cloud software, applications, workload

Secure Pipe

Off-premise shared

services

Private shared services

© 2009 IBM Corporation112

Hybrid Cloud Management, Security & Connectivity in a Picture

On-premise business applications & information

Enterprise Infrastructure & Private Cloud

Cloud Integrator: Secure Connector, Business

Application Integration, Information Brokering,

Monitoring & Management, Security Federation

Public Cloud [SaaS, IBM Cloud, other Public Cloud]

Off-premise shared services

Off-premise business applications & information

Governance

Management

Integration

SecurityPrivate shared services

© 2009 IBM Corporation113

Application Life Cycle in a Cloud Enterprise apps moved to the cloud

Scalable Web Applications (loosely coupled)

Content Centric Applications(parallelizable)

Data-base Centric Apps (multi-tenant)

Model/Build Rational Tools(RSA, BuildForge)

sMash and AppBuilder

IBM Hadoop Pangoo Tools, SaaS Maker

Deploy WCA /Image Dispenser plus RAFW

Virtuoso IBM Hadoop Pangoo Onboarding Tool?

Run Optimized WAS and DB2 Services

Virtuoso IBM Hadoop Pangoo

Connect (with Enterprise)

SilverLining, Secure Information Broker..

SilverLining Secure Information Broker?

Secure Information Broker?

Manage/Secure Monitoring Service, apps migration wb, TFIM, isolation, backup/recovery

Monitoring Service, identity, backup/recovery

Monitoring Service, identity

Monitoring Service, compliance, identity, backup/recovery, compliance,

© 2009 IBM Corporation114

PaaS Competitive ViewCompetitor Generalized from…

and platform styleWhat does the platform offer for the apps?

IBM’s Response

Google App Engine Search -- content-centric

Scalable Analytics and Storage

Leverage open source hadoop

Amazon Web Services Shopping Cart, Spare computation -- loosely coupled

Cheap MIPS, flexible and simple storage, queues, database

Compute Cloud and scalable full functionmiddleware services,Application life cycle, image life cycle

Microsoft Azure MSN and countless ISV .net applications

VisualStudio Development for standard and new apps

Enterprise class and Java apps, Rational application life cycle tools

Force.com Salesforce.com multi-tenant CRM app --database centric

Simple Multi-tenant transactional app building environment

Leverage China deployment of Pangoo

Note: All the strengths mentioned in the previous style hold across all rows

© 2009 IBM Corporation115

Straw Man Scenario – New Application

§ Choose intended architecture (loosely coupled etc…)§ Use integrated Platform tool to model/build – need to pull existing tools into a suite§ Deploy/Run

– Deploy to IBM Service Platform based on architecture model• Persistence Services, Queuing Services etc.

§ Secure through Service Platform– Identity, Compliance, Isolation

§ Connect to Enterprise through Service Platform (including Data Transfer)§ Integrate platform development with on-boarding of IVT 6 pilots and existing solutions (ISV,

IBM)

© 2009 IBM Corporation116

IBM Cloud Service Platform Architecture

IaaS AbstractionIaaS Abstraction

Cloud Application RuntimesCloud Application Runtimes

Cloud ServicesCloud Services

PaaS Web

Interface

PaaS Web

Interface

Storehouse(Software Bundles,

Apps, Metadata)

Storehouse(Software Bundles,

Apps, Metadata)

Pattern DeployedPattern Deployed Shared User (aka Stood Up)Shared User (aka Stood Up)

Infrastructure Cloud PluginInfrastructure Cloud Plugin

Hybrid C

onnectivityH

ybrid Connectivity

PaaS Management System(Image/Pattern/Activation Tools, Auto-scaling, Monitoring and Control,

Security, BSS, Routing, Clustering, HA, SLA Management, etc)

PaaS Management System(Image/Pattern/Activation Tools, Auto-scaling, Monitoring and Control,

Security, BSS, Routing, Clustering, HA, SLA Management, etc)

© 2009 IBM Corporation117

Situational/Mashup Class AppsSituational/Mashup Class AppsEnterprise Class AppsEnterprise Class Apps

IBM Cloud Service Platform Details

IaaS AbstractionIaaS Abstraction

PaaS Management System(Image/Pattern/Activation Tools, Auto-scaling, Monitoring and Control,

Security, BSS, Routing, Clustering, HA, SLA Management, etc)

PaaS Management System(Image/Pattern/Activation Tools, Auto-scaling, Monitoring and Control,

Security, BSS, Routing, Clustering, HA, SLA Management, etc)PaaS Web InterfacePaaS Web Interface Storehouse(Software Bundles, Apps,

Metadata)

Storehouse(Software Bundles, Apps,

Metadata)

Hybrid C

onnectivityH

ybrid Connectivity

Infrastructure Cloud PluginInfrastructure Cloud Plugin

Cloud Application RuntimesCloud Application Runtimes

Cloud ServicesCloud Services

Pattern DeployedPattern Deployed Shared UserShared User

WAS- OR Frameworks- Global Context

WAS- OR Frameworks- Global Context

DB2DB2 MQMQSilverliningSilverlining

Cloud Application RuntimesCloud Application Runtimes

Cognos/SPSS/M-R- AAF- TextAnalytics- Data-as-a-Service

Cognos/SPSS/M-R- AAF- TextAnalytics- Data-as-a-Service

HadoopHadoop

Cleansing-as-a-

Service

Cleansing-as-a-

Service

Cloud Application RuntimesCloud Application Runtimes

WASWAS

DB2-as-a-ServiceDB2-as-a-Service

sMashsMash

IDSIDS

CassandraCassandra

BluedoveBluedove exTremeScaleexTremeScale

Xactional WorkloadsXactional Workloads Analytics WorkloadsAnalytics Workloads Loosely Coupled WorkloadsLoosely Coupled Workloads

MG

MT

MG

MT

ProcessProcess

Data

Data