You are on page 1of 37

Cloud Computing: Infrastructure and Application

Architecture Considerations
Uli Hitzel, Cloud Architect (ASEAN) August 1st, 2012

Acknowledgements: this presentation leverages material from IBM cloud computing presentation decks, 360 degree architect session
(Sugandh
Mehta, Bernard
2012
IBM Corporation
Glasner, Harirajan Padmanabhan) and Architecting applications for the cloud @ IBM developer networks by Peter Bell (Systemsforge)

This handout is a modified version of the original


presentation deck.

developerWorks Live! Architecting Clouds

2012 IBM Corporation

About Uli
 Architect (ASEAN)
 projects at banks, telcos,
service providers
& in public sector
 Technical Expertise
virtualization
automation
business process integration
web technologies

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Session Agenda
 Introduction
 Infrastructure and Platforms
 Cloud Applications

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Cloud helps clients to

Transform

Increase agility and organizational


efficiency faster time to market

Improve

Value Chain

Create

Disruptors

Save costs - profit from flexibility in IT


spends (CAPEX/OPEX)

Innovators
Innovate and create new business
models additional revenue streams
Optimizers
Disrupt the market coming up with
services that only work on the cloud
model
Enhance

Extend

Invent

Customer Value Proposition

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Cloud Computing Definition


Cloud computing is a new
consumption and delivery model
inspired by consumer
internet services.
Essential characteristics:
1. On-demand self-service
2. Broad network access
3. Location independent
resource pooling
4. Rapid elasticity
5. Measured Service

Usage
Tracking

Web 2.0
SOA

End User Focused


Virtualization

developerWorks Live! Architecting Clouds

Service
Automation

2012 IBM Corporation

Whats different with cloud computing?


Without cloud computing

Software
Hardware
Storage
Networking

With cloud computing

Software
Hardware
Storage
Networking

Software
Hardware

Storage
Networking

 Virtualized resources  Location


 Automated service
independent
management
 Salability & Elasticity
 Standardized services  Self-service
developerWorks Live! Architecting Clouds

2012 IBM Corporation

Shopping Mall B2B IaaS Cloud


 Service provider owns the system
 Business rents units to offer services to
their clients  consumers
 Shared resources (building, elevators,
parking, washrooms)
 Shared Services (security, cleaners)
 Country-wide, world-wide network of
shopping malls
 better ROI, larger audience, more flexibility
& less risk for the shop owners

developerWorks Live! Architecting Clouds

2012 IBM Corporation

One Size Does not Fit All

developerWorks Live! Architecting Clouds

2012 IBM Corporation

What exactly do we want to do?


 Workloads  which ones?  required
functionality and performance?
 Service models
 Deployment models
 Organizational Motivations & Constraints

10

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Workloads

11

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Definition Cloud Service Models


Software
as a Service

Data

Data

Runtime

Runtime

Runtime

Middleware

Middleware

O/S

O/S

Data

Virtualization
Servers
Storage
Networking

Virtualization
Servers
Storage
Networking

Middleware
O/S

Virtualization
Servers

Vendor Manages in Cloud

Applications

Vendor Manages in Cloud

Applications

Vendor Manages in Cloud

Client Manages

Applications

Platform
as a Service

Client Manages

Infrastructure
as a Service

Storage
Networking

Customization; higher costs; slower time to value


Standardization; lower costs; faster time to value

12

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Service Layers

Software
as a Service
(SaaS)

Platform
as a Service
(PaaS)

Collaboration
CRM / ERP / HR

Industry Applications
Financials

Web 2.0 Application Runtime

Development Tooling
Middleware

Database

Storage

Infrastructure
as a Service
(IaaS)

13

Java Runtime

Shared Pool

Virtual Machines
Images
Virtual Network

CRM , ERP Applications


Human Resources
Analytics
Financial Services
Mail, Web Conferencing

Applications
Middleware
Development tools
Java and Web 2.0 runtimes

Shared virtualized dynamic provisioning for:


Server functionality
Networking functionality
Data center functionality
Storage functionality

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Cloud deployment models


Hybrid Cloud
Private Cloud
1

2
Enterprise
Data Center
Private
Cloud

3
Enterprise
Data Center
Managed
Private
Cloud
Enterprise
owned
Provider
operated

1.
2.
3.
4.
5.

14

Community Cloud

Enterprise

Enterprise A
Enterprise B

Hosted
Private
Cloud
Provider
owned and
operated

Enterprise C

Shared
Cloud
Services

Public Cloud
5
User
User
User
C
E
A User
User
B
D

Public
Cloud
Services

Customer managed private Cloud


Customer premise, provider operated private Cloud
Provider premise, provider operated private Cloud
Provider premise, provider managed, public Cloud
Provider premise, provider managed, provider applications, public Cloud

developerWorks Live! Architecting Clouds

2012 IBM Corporation

IBM Cloud Computing Reference Architecture


Cloud Service Provider
Cloud Service
Integration Tools

Common Cloud
Management Platform (CCMP)

Cloud Services

Service Creation
Tools

Process Integration
Application & Data
Integration
Identity Integration

Business-Processas-a-Service

3rd

Existing &
party
services, Partner
Ecosystems

tbd

Management
Federation

Software-as-a-Service

Spillover & Failover

tbd

Middleware
Infrastructure

Service Runtime
Development
Tools

Service Automation
Management
Service Offering
Management

Service Asset
Management

Platform-as-a-Service

Software
Development
Tools

Cloud
Enablement

Programming
Model

Resources

Image Creation
Tools
Subscription
Management

Middleware
Services

Service Operations
Management
Financial
Management
Image Lifecycle
Management

Infrastructure-as-a-Service
Application
Lifecycle Services

Service
Management
Development
Tools

Customer
Management

Service Management

Applications

Business
Support
Services
(BSS)

Service Quality
Management

tbd

Consumer Inhouse IT
Business
Processes

Operational
Support
Services
(OSS)

Server Virtualization

Storage Virtualization

Network Virtualization

Platform & Virtualization


Management

Developer & Tester


Collaboration

Development
Automation
Application Lifecycle
Traceability

Infrastructure
Server

Storage

Network

Facilities

Security, Resiliency, Performance & Consumability


Governance
15

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Session Agenda
 Introduction
 Infrastructure and Platforms
 Cloud Applications
 Designing and delivering SaaS applications
 Client case studies

16

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Resource sharing considerations


Low
Low
High

Standardisation
Security risk
Cost/tenant

High
High
Low

Tenant

Tenant

Tenant

Tenant

Tenant

Tenant

Tenant

Tenant

Tenant

Application

App

App

App

App

App

App

App

App

Platform

Platform Platform

Platform

Operating System

Operating System

Operating System

Infrastructure

Infrastructure

Infrastructure

Infrastructure

Data center floor

Data center floor

Data center floor

Data center floor

Data center floor

II

III

IV

Physical-level
multi-tenancy

Hypervisor-level
multi-tenancy

Operating
System-level
multi-tenancy

Platform-level
multi-tenancy

Application- level
multi -tenancy

OS

Infrastructure

Infrastr.

Infrastr.

Traditional IT

Application

Platform

OS

Data center floor

Tenant

Platform Platform

OS

Platform Platform

Tenant

OS

OS

Legend:
Dedicated
Shared

17

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Virtualization can be on any level


Cloud Service
Consumer

Cloud Service Provider

Existing & 3rd party


services, Partner
Ecosys tems
Clo ud
Service
Integ ration
To ols

Cloud Service
Creator

Common Cloud
Management Platform (CCMP)

Cloud Services

Business-Pro cessas-a-Serv ice

Software-as -a-Serv ice


Operational
Supp ort
Servic es
(OSS)

Bus iness
Sup port
Services
(BSS)

Service
Creation
Tools

Platform-as-a-Service
Consumer
In-hous e IT

CCMP

Infrastructure-as-a-Service

Inf rastruc ture

Security, Resiliency, Performance & Consu mability


Govern ance

UI

Application-level
virtualization

BSS

Platform-level virtualization
OSS

manages
OS-level virtualization
Hypervisor-/Infrastructure
level virtualization
Virtualization options
for Cloud service
implementations

18

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Virtualization is a great start but it adds


complexity!
What is the utilization of your
environment? How do you
ensure adequate capacity?

How are your services


performing? How do
you isolate problems?

How do you
rapidly provision
services?
Server

Where are your


services running?

Storage

Network

Agility

Consolidate

How do you
manage image
sprawl?

Resources

Manage
Workloads

Automate

How do you
reduce cost of
service delivery?

Processes

Optimize
Delivery

How do you charge for


shared resources?
19

developerWorks Live! Architecting Clouds

How do you
secure your
infrastructure &
protect data?
2012 IBM Corporation

Journey to Cloud Computing

Cloud focuses on
eased service
consumption &
management

Consumption based
metering and dynamic
capacity optimization

Virtualization
underpins
Cloud

End-to-end real time


monitoring and optimization

Business service catalogs & self service

Service delivery automation

Virtualization management
developerWorks Live! Architecting Clouds

2012 IBM Corporation

The Cloud Computing Reference Architecture has best practises


for these aspects
Usage Metering and Accounting
Cloud Service
Consumer

Cloud Service Provider


Common Cloud
Management Platform

Cloud Services

Cloud Service
Flexible support of delivery models
Creator
Service
Manager

Business
Manager

Service Automation Management

Operational Support
Interpret and Execute Build-Existing
and &Management PlansOSS
Services
3 party
BPaaS
Orchestrate Management Componentry
services,

BSS Business Support


Services

rd

Partner
Ecosystems

Service Delivery Catalog

SaaS

PaaS

Consumer
In-house IT

Service Automation Management

Service
Request
Management

Change &
Configuration
Management

Image
Lifecycle
Management

Provisioning

Incident &
Problem
Management

IT Service
Level
Management

Monitoring &
Event
Management

IT Asset &
License
Management

Capacity &
Performance
Management

Platform & Virtualization Management

Customer
Account
Management

Service
Offering
Catalog

Service
Offering
Management

Contracts &
Agreement
Management

Service
Request
Management

Order
Management

Subscription
Management

Pricing

Entitlement
Management

Metering

Rating

Billing

Service Development Portal & API

Service Consumer Portal & API

Hybrid
Cloud
Integration

Service
Creation
Tools

Image Management
Clearing &
Settlement

Accounts
Payable

Accounts
Receivable

Design, build and manage images for cloud services


IaaS

Service Provider Portal & API

Virtualized Resource
Management

Deployment
Architect

Deploy cloud services on virtualized


resources
Manage virtual resources

Transition
Manager

Operations
Manager

Security &
Risk Manager

Customer
Care

Inf rastructure

Security, Resiliency, Performance & Consumability

Security

Governance

Design for Multi-Tenancy


Protect assets through Isolation, integrity, image- risk and compliance
management
21

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Session Agenda
 Introduction
 Infrastructure and Platforms
 Cloud Applications

22

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Traditional vs cloud applications

Traditional applications:
 Extend the life of these applications
 Add new functionality more cheaply and quickly
 Connect these applications to the cloud
 Maintain the security features built into on premise systems

Cloud applications:
 Connect to legacy applications
 Connect to other cloud applications
 Enhance capabilities at the lowest possible cost

23

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Implementation Considerations (1 of 4)
Current Applications,
Current IT Assets, Other
SaaS Offerings

Business Drivers

Key Cloud Characteristics


Leveraged

Market and Business


opportunities
Competitive differentiators
Business Case
Business Model
Pricing Models

On-demand self-service
Broad network access
Resource Pooling
Rapid Elasticity
Measured Service

SaaS Offerings

Cloud Application

Integration
APIs needed

Customer and
Enterprise Backend Systems

 Cloud applications supporting multiple SaaS offerings


 SaaS offerings composed of several existing applications
 Business requirements for each offering could be different
 Integration with Backend systems
24

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Implementation Considerations (2 of 4)
Current Applications,
Current IT Assets, Other
SaaS Offerings

Business Drivers

Key Cloud Characteristics


Leveraged

Market and Business


opportunities
Competitive differentiators
Business Case
Business Model
Pricing Models

On-demand self-service
Broad network access
Resource Pooling
Rapid Elasticity
Measured Service

PaaS

SaaS Offerings

Cloud Application
IaaS

Integration
APIs needed

Customer and
Enterprise Backend Systems

 choosing the appropriate underlying service layer: IaaS or PaaS


 each layer has own set of business drivers and cloud characteristics

25

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Implementation Considerations (3 of 4)  consume external XaaS cloud services


Current Applications,
Current IT Assets, Other
SaaS Offerings

 integration with external backends


Business Drivers

Key Cloud Characteristics


Leveraged

Market and Business


opportunities
Competitive differentiators
Business Case
Business Model
Pricing Models

On-demand self-service
Broad network access
Resource Pooling
Rapid Elasticity
Measured Service

PaaS

SaaS Offerings

Cloud Application
IaaS

Integration
APIs needed

Customer and
Enterprise Backend Systems

Client Domain
Business partners and other
third-party provider domain

SaaS Offering

26

Integration APIs supported

PaaS Offering

IaaS Offering

developerWorks Live! Architecting Clouds

Back-end Systems

2012 IBM Corporation

Implementation Considerations (4 of 4)  ROI, risks, cloud characteristics &


Current Applications,
Current IT Assets, Other
SaaS Offerings

business benefits are different for each


provider. Integrating external backends
Business Drivers

Key Cloud Characteristics


Leveraged

Market and Business


opportunities
Competitive differentiators
Business Case
Business Model
Pricing Models

On-demand self-service
Broad network access
Resource Pooling
Rapid Elasticity
Measured Service

PaaS

SaaS Offerings

Cloud Application
IaaS

Integration
APIs needed

Customer and
Enterprise Backend Systems

Client Domain
Business partners and other
third-party provider domain

SaaS Offering

Business Benefits
Competitive differentiators
Pricing Models

27

Integration APIs supported

PaaS Offering

IaaS Offering

Back-end Systems

Key Cloud Characteristics


Supported On-demand self-service
Broad network access
Resource pooling
Rapid Elasticity
Measured Service

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Use Guidance from the Cloud Computing Reference Architecture


Users

Cloud Environment

Delivery

Cloud Computing Management Platform

Channels

Cloud External

Cloud Business
Cloud
Environment
Roles

Services

Applications

Cloud Managed Environment

Business(SaaS)
App Service ..n

Software Platform Services

Business App Service2

Saas
Administrator

CCMP External
Components
BSS Externalized
Components

Business Application
Service1
Note: SaaS Includes SaaS,
BPaaS, AaaS

SaaS
Consumer
Business Mgr

Cloud Resources

Infrastructure Services
Virtualized Infrastructure

CCMP Internal
Components

OSS Externalized
Components

Cloud Mgmt
Supporting Services
(CMSS)

Business
Support
Systems

CMSS
Components

Operational
Support
Systems

Consumer
of SaaS

Integration Layer

BAU Application Users

Other Enterprise Resources (BAU)


Data Stores

Legacy
Applications

Packages

Non Cloud
Systems

External Entities

Business Partner
Systems

28

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Build Cloud Applications, not applications in the cloud !


Key Principles

 Virtualize the Application


Stack
 Componentize. Decouple &
design all components as a
Black Box
 Design for scalability

NIST Definition of Cloud Computing


29

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Design for scaling OUT !

Traditional way
 add more RAM
 use faster servers
 expensive micro-optimization
 complex caching
 faster hard disks
Design for scalability
 minimize mutable state
 create asynchronous services
 alternative data stores
 automate deployment
 design for failure

30

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Design for Scalability: Design for failure

"Everything fails, all the time


Werner Vogels, CTO Amazon.com
 find single point of failures
 evaluate scenarios. What
levels of risk is acceptable?
 failure tolerance
 dont overinvest

31

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Design for Scalability: Create components & asynchronous


services

 Offload work from main application servers


Web 2.0
 Break tasks into separate services, run by
different components
 Scale independently
 Use message queues for guaranteed delivery

32

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Design for Scalability: Minimize Shared Mutable State




Variables shared across application

Multiple servers and processes trying to update the same


variables at the same time result in deadlocks, time-outs,
and failed transactions
 minimize or eliminate those in webservers, application
and the database
 specific considerations for filesystems, applications
and datastores
 look at cluster filesystems, object stores, NoSQL /
CouchDB, MongoDB asynchronous fire & forget
updates

33

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Design for Scalability: Automate Deployment

Virtual Application
Patterns
Highly automated deployments
using expert patterns
Business policy driven elasticity
Built for the cloud environment
Leverages elastic workload
management services

Virtual System
Patterns
Packaged for virtual
environments
Automated deployment of
middleware topologies
Traditional administration
and management model

Workload Platform
Services
Virtualized Middleware
Services
cloud applications
34

virtualized applications

developerWorks Live! Architecting Clouds

OS Images for
Existing Software
Standard software installation
and configuration on OS
Images created through
extend/capture
Traditional administration and
management model

Virtualized Infrastructure
Services

existing applications
2012 IBM Corporation

3 take aways

 Cloud Computing is more than just technology.


Its a business transformation that can help saving
costs, increasing agility
 The IBM Cloud Computing Reference Architecture
can help you design and implement cloud
environments based on best practises and
industry standards
 Design applications specifically for the cloud,
design for scalability & failure
35

developerWorks Live! Architecting Clouds

2012 IBM Corporation

36

developerWorks Live! Architecting Clouds

2012 IBM Corporation

Trademarks and Disclaimer

37

developerWorks Live! Architecting Clouds

2012 IBM Corporation