Upload
lehanh
View
220
Download
0
Embed Size (px)
Citation preview
© 2012 IBM Corporation
Cloud Computing: Infrastructure and Application Architecture ConsiderationsUli 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 Glasner, Harirajan Padmanabhan) and “Architecting applications for the cloud @ IBM developer networks” by Peter Bell (Systemsforge)
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation2
This handout is a modified version of the original presentation deck.
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation3
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 Corporation44
Session Agenda
� Introduction
� Infrastructure and Platforms
� Cloud Applications
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation5
Cloud helps clients to…
Save costs - profit from flexibility in IT spends (CAPEX/OPEX)
Increase agility and organizational efficiency – faster time to market
Innovate and create new business models – additional revenue streams
Impr
ove
Tra
nsfo
rmC
reat
e
Enhance Extend Invent
Val
ue C
hain
Customer Value Proposition
Optimizers
Disruptors
Innovators
Disrupt the market – coming up with services that only work on the cloud model
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation6
Cloud Computing Definition
Cloud computing is a new consumption and delivery modelinspired by consumer internet services.
Essential characteristics:1. On-demand self-service 2. Broad network access3. Location independent
resource pooling4. Rapid elasticity5. Measured Service
VirtualizationService
Automation
Usage
TrackingWeb 2.0
SOA
End User Focused
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation77
What’s different with cloud computing?
Without cloud computing
• Software• Hardware• Storage• Networking
• Software• Hardware• Storage• Networking
With cloud computing
� Virtualized resources� Automated service
management� Standardized services
� Location independent
� Salability & Elasticity� Self-service
• Software• Hardware
• Storage• Networking
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation8
� Service provider owns the system
� Business rents units to offer services totheir 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
Shopping Mall – B2B IaaS Cloud
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation9
“ One Size Does not Fit All ”
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation10
What exactly do we want to do?
� Workloads � which ones? � required functionality and performance?
� Service models
� Deployment models
� Organizational Motivations & Constraints
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation11
Workloads
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation12
Networking Networking Networking
Storage Storage Storage
Servers Servers Servers
Virtualization Virtualization Virtualization
O/S O/S O/S
Middleware Middleware Middleware
Runtime Runtime Runtime
Data Data Data
Applications Applications Applications
Infrastructure
as a Service
Platform
as a Service
Software
as a Service
Ve
nd
or M
an
ag
es in
Clo
ud
Ve
nd
or M
an
ag
es in
Clo
ud
Ve
nd
or M
an
ag
es in
Clo
ud
Cli
en
t M
an
ag
es
Cli
en
t M
an
ag
es
Customization; higher costs; slower time to value
Standardization; lower costs; faster time to value
Definition – Cloud Service Models
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation13
Infrastructure as a Service
(IaaS)
Storage
Virtual MachinesImages
Shared Pool
Virtual Network
MiddlewareDatabase
Web 2.0 Application Runtime
Java Runtime
Development Tooling • Applications• Middleware• Development tools• Java and Web 2.0 runtimes
Platform as a Service
(PaaS)
Softwareas a Service
(SaaS)
Collaboration
FinancialsIndustry Applications
CRM / ERP / HR
• CRM , ERP Applications• Human Resources• Analytics• Financial Services• Mail, Web Conferencing
Shared virtualized dynamic provisioning for:• Server functionality• Networking functionality• Data center functionality• Storage functionality
Service Layers
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation14
1. Customer managed private Cloud
2. Customer premise, provider operated private Cloud
3. Provider premise, provider operated private Cloud
4. Provider premise, provider managed, public Cloud
5. Provider premise, provider managed, provider applications, public Cloud
Enterprise Data Center
Private Cloud
1Enterprise
Data Center
Enterprise owned
Provider operated
ManagedPrivate Cloud
2Enterprise A
Enterprise B
Enterprise C
Shared Cloud
Services
4Enterprise
Provider owned and operated
HostedPrivate Cloud
3
User A
PublicCloud
Services
5
User B
User C User
D
User E
Cloud deployment models
Private Cloud Public CloudCommunity Cloud
Hybrid Cloud
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation15Governance
Security, Resiliency, Performance & Consumability
Cloud Service Provider
Common CloudManagement Platform (CCMP)
Operational Support Services (OSS)
Cloud Services
Software-as-a-Service
Business-Process-as-a-Service
Business Support Services
(BSS)
Infrastructure
IBM Cloud Computing Reference Architecture
Platform-as-a-Service
Infrastructure-as-a-Service
Server Virtualization Storage Virtualization Network Virtualization
Service Automation Management
Service Quality Management
Service Asset Management
Service Operations Management
Platform & Virtualization Management
Image Lifecycle Management
Service Offering Management
CustomerManagement
Subscription Management
FinancialManagement
Consumer In-house IT
Infrastructure
Middleware
Applications
Business Processes
Service M
anagement
Service Creation Tools
Service Management Development
Tools
Service Runtime Development
Tools
Software Development
Tools
Image Creation Tools
tbd tbd
Cloud Enablement
Programming Model
ResourcesMiddleware
Services
tbd
Server Storage Network Facilities
Application Lifecycle Services
Developer & Tester Collaboration
Development Automation
Application Lifecycle Traceability
Existing & 3rd party services, Partner
Ecosystems
Cloud Service Integration Tools
Process Integration
Application & Data Integration
Identity Integration
Management Federation
Spillover & Failover
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation1616
Session Agenda
� Introduction
� Infrastructure and Platforms
� Cloud Applications
� Designing and delivering SaaS applications
� Client case studies
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation17
Resource sharing considerations
Traditional IT
Tenant
Application
Platform
Infrastructure
Data center floor
OS
StandardisationSecurity riskCost/tenant
Low HighLow High
LowHigh
Data center floor
SharedDedicated
Legend:
SharedDedicated
Legend:
I
Physical-level multi-tenancy
Tenant
App
Platform
Infrastr.
App
Platform
Infrastr.
Tenant
Data center floor
OS OS
II
Hypervisor-level multi-tenancy
Tenant
App
Platform
App
Platform
Tenant
Data center floor
OS OS
III
Operating System-level multi-tenancy
Tenant
App
Platform
App
Platform
Tenant
IV
Platform-level multi-tenancy
Tenant
App App
Tenant
Data center floor
Tenant Tenant
Data center floor
Infrastructure Infrastructure Infrastructure Infrastructure
Operating System Operating System Operating System
Platform Platform
Application
V
Application- level multi -tenancy
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation18
Virtualization can be on any level
Hypervisor-/Infrastructure level virtualization
OS-level virtualization
Platform-level virtualization
Application-level virtualization
OSS
BSS
CCMP
UI
manages
Virtualization options for Cloud service implementations
Governance
Security, Resil iency, Performance & Consumabil ity
Cloud ServiceCreator
Cloud ServiceConsumer
Cloud Service Provider
Common CloudManagement Platform (CCMP)
Operat ional Support Services
(OSS)
Cloud Services
Infrastructure-as-a-Service
Platform-as-a-Service
Software-as-a-Service
Business-Process-as-a-Service
Business Support Services
(BSS)
Cloud Service
IntegrationTools
ConsumerIn-house IT
Service Creation
Tools
Inf rastructure
Existing & 3rd party services, Partner
Ecosystems
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation19
ManageWorkloads
AutomateProcesses
OptimizeDelivery
Server
Consolidate Resources
Storage Network Agility
ManageWorkloads
AutomateProcesses
OptimizeDelivery
Server
Consolidate Resources
Storage Network AgilityAgility
Where are your services running?
How do you rapidly provision
services?
How are your services performing? How do
you isolate problems?
How do you manage image
sprawl?
What is the utilization of your environment? How do you ensure adequate capacity?
How do you reduce cost of
service delivery?How do you secure your
infrastructure & protect data?
How do you charge for shared resources?
Virtualization is a great start – but it adds complexity!
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation
Consumption based metering and dynamic capacity optimization
End-to-end real time monitoring and optimization
Virtualization management
Service delivery automation
Business service catalogs & self service
Virtualization underpins
Cloud
Cloud focuses on eased service
consumption & management
Journey to Cloud Computing
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation21
Governance
Security, Resiliency, Performance & Consumability
Cloud ServiceCreator
Cloud Service ProviderCloud ServiceConsumer
Cloud Services
IaaS
PaaS
SaaS
BPaaS
Common CloudManagement Platform
OSS – Operational Support Services
BSS – Business Support Services
Subscription Management Pricing
Entitlement Management
Metering Rating Billing
Clearing & Settlement
Accounts Payable
Accounts Receivable
Customer Account
Management
Service Offering Catalog
Service Offering
Management
Contracts & Agreement
Management
Service Request
Management
Order Management
TransitionManager
DeploymentArchitect
OperationsManager
Service Provider Portal & API
Inf rastructure
Security &Risk Manager
CustomerCare
ServiceManager
BusinessManager
Service C
onsumer P
ortal & A
PI
Service D
evelopment
Portal &
AP
I
Existing & 3rd party services, Partner
Ecosystems
Service Creation
ToolsProvisioningIncident & Problem
Management
IT Service Level
Management
Service Automation Management
Service Delivery Catalog
Service Request
Management
Change & Configuration Management
Image Lifecycle
Management
Monitoring & Event
Management
IT Asset & License
Management
Capacity & Performance Management
Platform & Virtualization Management
Hybrid Cloud
Integration
ConsumerIn-house IT
The Cloud Computing Reference Architecture has best practisesfor these aspects
Image Management•Design, build and manage images for cloud services
Image Management•Design, build and manage images for cloud services
Security•Design for Multi-Tenancy•Protect assets through Isolation, integrity, image- risk and compliance management
Security•Design for Multi-Tenancy•Protect assets through Isolation, integrity, image- risk and compliance management
Usage Metering and Accounting•Flexible support of delivery modelsUsage Metering and Accounting
•Flexible support of delivery models
Virtualized Resource Management
•Deploy cloud services on virtualized resources•Manage virtual resources
Virtualized Resource Management
•Deploy cloud services on virtualized resources•Manage virtual resources
Service Automation Management•Interpret and Execute Build- and Management Plans•Orchestrate Management Componentry
Service Automation Management•Interpret and Execute Build- and Management Plans•Orchestrate Management Componentry
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation2222
Session Agenda
� Introduction
� Infrastructure and Platforms
� Cloud Applications
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation23
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
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation24
Implementation Considerations (1 of 4)
Cloud ApplicationSaaS Offerings
Customer and Enterprise Back-
end Systems
Integration APIs needed
• On-demand self-service• Broad network access• Resource Pooling• Rapid Elasticity• Measured Service
Key Cloud Characteristics Leveraged • Market and Business
opportunities• Competitive differentiators• Business Case• Business Model• Pricing Models
Business Drivers
Current Applications, Current IT Assets, Other
SaaS Offerings
� 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
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation25
PaaS
IaaS
Cloud ApplicationSaaS Offerings
Customer and Enterprise Back-
end Systems
Integration APIs needed
• On-demand self-service• Broad network access• Resource Pooling• Rapid Elasticity• Measured Service
Key Cloud Characteristics Leveraged • Market and Business
opportunities• Competitive differentiators• Business Case• Business Model• Pricing Models
Business Drivers
Current Applications, Current IT Assets, Other
SaaS Offerings
Implementation Considerations (2 of 4)
� choosing the appropriate underlying service layer: IaaS or PaaS
� each layer has own set of business drivers and cloud characteristics
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation26
SaaS Offering PaaS Offering IaaS Offering Back-end Systems
Business partners and other third-party provider domain
Client Domain
Integration APIs supported
PaaS
IaaS
Cloud ApplicationSaaS Offerings
Customer and Enterprise Back-
end Systems
Integration APIs needed
• On-demand self-service• Broad network access• Resource Pooling• Rapid Elasticity• Measured Service
Key Cloud Characteristics Leveraged • Market and Business
opportunities• Competitive differentiators• Business Case• Business Model• Pricing Models
Business Drivers
Current Applications, Current IT Assets, Other
SaaS Offerings
Implementation Considerations (3 of 4) � consume external XaaS cloud services
� integration with external backends
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation27
Competitive differentiatorsPricing Models
On-demand self-serviceBroad network accessResource poolingRapid ElasticityMeasured Service
Key Cloud Characteristics SupportedBusiness Benefits
SaaS Offering PaaS Offering IaaS Offering Back-end Systems
Business partners and other third-party provider domain
Client Domain
Integration APIs supported
PaaS
IaaS
Cloud ApplicationSaaS Offerings
Customer and Enterprise Back-
end Systems
Integration APIs needed
• On-demand self-service• Broad network access• Resource Pooling• Rapid Elasticity• Measured Service
Key Cloud Characteristics Leveraged • Market and Business
opportunities• Competitive differentiators• Business Case• Business Model• Pricing Models
Business Drivers
Current Applications, Current IT Assets, Other
SaaS Offerings
Implementation Considerations (4 of 4) � ROI, risks, cloud characteristics & business benefits are different for each provider. Integrating external backends
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation2828
Use Guidance from the Cloud Computing Reference Architecture
Users Delivery
Channels
Business Partner Systems
Integration Layer
Other Enterprise Resources (BAU)
Cloud Environment
Roles
BAU Application Users
Legacy
Applications Packages
Non Cloud
SystemsExternal Entities Data Stores
SaaSConsumer
Business Mgr
Saas
Administrator
Consumer of SaaS
Cloud External
Services
CCMP Internal Components
Operational
Support
Systems
Business
Support
Systems
Cloud Managed Environment
Software Platform Services
Infrastructure Services
Virtualized Infrastructure
Cloud Resources
BSS Externalized
Components
OSS Externalized
Components
CCMP External Components
Business App Service ..n
Business App Service2
Cloud Business
Applications
(SaaS)
Note: SaaS Includes SaaS,
BPaaS, AaaS
Business Application
Service1
Cloud Mgmt Supporting Services
(CMSS)
CMSS
Components
Cloud Computing Management Platform
Cloud Environment
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation29
Key Principles
Build Cloud Applications, not applications in the cloud !
� Virtualize the Application Stack
� Componentize. Decouple & design all components as a ‘Black Box’
� Design for scalability
NIST Definition of Cloud Computing
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation30
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
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation31
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
� don’t overinvest
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation32
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
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation33
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
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation34
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
cloud applications
Workload Platform Services
Virtual System Patterns
• Packaged for virtual environments
• Automated deployment of middleware topologies
• Traditional administration and management model
virtualized applications
Virtualized Middleware Services
Virtualized Infrastructure Services
existing applications
OS Images for Existing Software
• Standard software installation and configuration on OS
• Images created through extend/capture
• Traditional administration and management model
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation35
3 take aways
� Cloud Computing is more than just technology. It’s 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
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation36
developerWorks Live! – Architecting Clouds © 2012 IBM Corporation37
Trademarks and Disclaimer