You are on page 1of 28

Architecting Your Cloud: Lessons Learned

from 100 CloudStack Deployments


Speaker:
Shannon Williams
Vice President Market Development, Cloud Platforms
EMEA contact:
Olivier Maes
Sr Dir Market Development EMEA, Cloud Platforms
Olivier.maes@citrix.com, twitter: @omaes72

Cloud computing in 10 years


Computing clouds will have
standardized
Servers/Storage/Networking will be
commodities available on demand.
Applications will be designed to leverage
distributed computing resources
Key questions wont have changed

Application Performance
Application Reliability
Infrastructure Security/Compliance
Operational Costs

Goal: Deliver applications


quicker with more reliably
at a fraction of the
current cost.

Cloud computing today


Start-ups and Web Companies are
achieving the 10-year vision today
Standardizing on big public clouds (Amazon,
Softlayer, BT, Terremark, etc.)
Designing applications that can leverage
distributed availability zones for reliability

Enterprises are generally not leveraging


cloud computing
Most apps arent written for distribution
Security/Compliance concerns over leveraging
shared resources
Proven mechanism for delivering apps remains
standard.

Goal: Provide improved


access for developers
and operators.

Todays goal: provide a basic understanding of


different cloud architectures
Outline a process for defining a cloud
Describe the building blocks used to
deploy a computing cloud
Look at traditional workloads and cloud
workloads
Consider architectures that meet a
broad set of requirements

Since 2008 CloudStack has powered hundreds


of clouds
Secure, multi-tenant cloud
orchestration platform
Turnkey platform for delivering IaaS
clouds
Hypervisor agnostic
Highly scalable, secure and open
Complete Self-service portal
Open source, open standards
Deploys on premise or as a hosted
solution

Since becoming part of Apache CS has exploded


It's just amazing! In just 3
months, CloudStack has gone
directly to the same level as
OpenStack is. This is much
steeper community growth
than I could have predicted
(if anyone had asked me for
predictions, that is...).
Source: Cloudstack has proof: Foundations is
the way to create a FOSS community http
://openlife.cc/blogs/2012/july/cloudstack-h
as-proof-foundations-way-create-foss-commun
ity

WINDOWS
DEV
ON-DEMAND & TEST

DISASTER BRIDGE &


BYO
INFRAYOUR
RECOVERY GATEWAY PLATFORMSTRUCTURE SERVICE

CloudPortal
NetScaler

CloudPlatform

CloudBridge

Powered by Apache CloudStack


ESX

Hyper-V

XenServer

KVM

OVM

VIRTUALIZATION
VIRTUALIZATION

Compute

Network

Storage

CloudPortal Delivers Cloud Apps & the


Business Logic
Account
Management

Authentication
Account
Provisioning

Account S elf
Service
Delegated Account
Management

Account
Management
Cloud Management
User Roles
Portal
Administration

Pricing &
Billing

Self Service
Cloud Apps

Customer
Management

Customer
Relationship

Product Definition

Sales CRM

Usage Reporting

Catalog
Management

Ticketing /
HelpDesk

Messaging

Usage Tracking

Community
Forums

Alerts

Billing

Flexible and
Extensible SDK

Dashboard

Payment Processing

Service Status

Service Status

CloudPortal
Plugins

Content Management

Customer Relationship

Billing

Authentication

Liferay

Salesforce.com

Zuora

CAS (LDAP/AD)

Drupal

Each cloud drives unique requirements


Service Providers

Web 2.0

Enterprise

Architecture definition is a process


IaaS
IaaSCloud
Cloud
Define target workloads
Determine how that workload will be delivered reliably
Determine the necessary functionality and performance
Develop your technical architecture
Implement your environment

Workload categories give us a starting point


Traditional
Enterprise
Applications
Disaster
Recovery

Software
Development,
Testing and
Maintenance

Social Media
Applications

Managed IT
Services

Batch
processing
11

High
Performance
Computing

Possible to categorize workloads into two sets


Cloud Workloads

Traditional Workload
Reliable hardware, backup entire
cloud, and restore for users when
failure happens

Cloud Workload
Tell users to expect failure.
Users to build apps that can
withstand infrastructure failure

Both types of workloads must run reliably in the cloud

Reliability & DR are Workload Specific

O (Recovery Point Objective)

$
$$
$$

1
Regular

Critical

Mission
Critical

RTO (Recover Time Objective)

Recovery Point Objective (RPO) and


Recovery Time Objective (RTO) should be
determined based on workloads
Deployment and DR plan should be
designed per RPO, RTO requirements
Different types of workloads will achieve
workload reliability in different ways

Workload reliability drives unique requirements


Traditional Workload

Cloud Workload

Link Aggregation

VM Backup/Snapshots

Storage Multi-pathing

Ephemeral Resources

VM HA, Fault Tolerance

Chaos Monkey

VM Live Migration

Multi-site Redundancy

Expect reliability. Back-up entire cloud.


Admin controlled failure handling
Think Server Virtualization 1.0

Expect failure. Design app for failure.


Self-service failure handling
Think Amazon Web Services

Other functionality will impact design as well

Every cloud starts with basic building blocks


Servers
Servers

Storage
Storage

Networking
Networking

Networking
Networking
Serve
Serve
rr
Cluste
Cluste
rs
rs

Serve
Serve
rr
Cluste
Cluste
rs
rs

Serve
Serve
rr
Cluste
Cluste
rs
rs

Storage
Storage

Hypervisor
Hypervisor

Resources

Availability Zones

Clouds

Two sample zone architectures


-

Traditional server virtualization zone


Amazon-Style availability zone

Designing a zone for a traditional workload


Hypervisor
Feature Rich vSphere, vCenter

vCenter
vCenter
Enterprise
Enterprise Networking
Networking (e.g.,
(e.g.,
VLAN)
VLAN)
ESXi
ESXi
Cluste
Cluste
rr

ESXi
ESXi
Cluste
Cluste
rr

ESXi
ESXi
Cluste
Cluste
rr

Enterprise
EnterpriseStorage
Storage (e.g.,
(e.g., SAN)
SAN)

Storage
SAN

Networking
L2
L2 VLANs
VLANs

Network Services
Load
Load
Balancing

PV-LANs
PV-LANs

Multi-tier Apps
Multi-tier
Multi-tier
VLANs
VLANs

OVF
OVF

Designing a zone for a traditional workload


vCenter
vCenter
Enterprise
Enterprise Networking
Networking (e.g.,
(e.g.,
VLAN)
VLAN)
ESXi
ESXi
Cluste
Cluste
rr

ESXi
ESXi
Cluste
Cluste
rr

ESXi
ESXi
Cluste
Cluste
rr

Enterprise
EnterpriseStorage
Storage (e.g.,
(e.g., SAN)
SAN)

Can achieve significant reliability for


applications running in one zone.
Reliability of individual nodes is very high.
All zone storage is replicated to a second
storage platform (synchronous or
asynchronous)
In event of failure, images are recovered
from second storage array.
Existing workloads will run reliably.
Little cost benefit over existing approaches

Designing a zone for an Amazon-style workload


Amazon-Style Availability Zone
Software
Software Defined
Defined Networks
Networks
(e.g.,
(e.g., Security
Security Groups,
Groups, EIP,
EIP, ELB,...)
ELB,...)

Hypervisor
Simple
Simple -XenServer
XenServer

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Storage

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Networking

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Network Services

Elastic
Elastic Block
Block Storage
Storage

Local
Local

L3
L3

Security
Security Groups
Groups

EBS
EBS

SDN
SDN based
based L2
L2

ELB
ELB

Object
store

Elastic IP

GSLB
GSLB

Multi-tier Apps
L3
L3

SDN
SDN based
based VPC
VPC

CloudFormatio
CloudFormatio
n
n

Object store is critical for Amazon-style cloud


Amazon-Style Cloud

Amazon-Style Availability Zone

CloudStack
Mgmt. Server

Availabili
Availabili
ty
ty Zone
Zone

Availabili
Availabili
ty
ty Zone
Zone

Object
Object Storage
Storage

Software
Software Defined
Defined Networks
Networks
(e.g.,
Security
Groups,
(e.g., Security Groups, EIP,
EIP, ELB,...)
ELB,...)

Availabili
Availabili
ty
ty Zone
Zone

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Serve
Serve
rr
Racks
Racks

Elastic
Elastic Block
Block Storage
Storage

Object store is critical for Amazon-style cloud


Amazon-Style Cloud
CloudStack
Mgmt. Server

Availabili
Availabili
ty
ty Zone
Zone

Availabili
Availabili
ty
ty Zone
Zone

Object
Object Storage
Storage

Workloads are distributed across


availability zones
No guarantee on zone reliability
Availabili
Availabili
ty
ty Zone
Zone

Applications designed to handle node


level failue
DBs and Templates snapped to object
store.
In event of failure, images are
recreated on new availability zone.
Dramatically less expensive

Cloud Transition General to Workload specific


Past
General
Architecture

General architecture for any


workload
Limited definitive failure/disaster
recovery strategy
Focused on legacy or cloud app
architectures

Today
Traditional-Style

Amazon-Style

Workload-centric architecture
Workload-specific failure/disaster
recovery
Separate legacy and cloud app
architectures with interoperability

Support for different styles is required


CloudStack
Mgmt. Server

Server Virtualization Availability Zone


vCenter
vCenter

Availabili
Availabili
ty
ty Zone
Zone

Availabili
Availabili
ty
ty Zone
Zone

Object
Object Storage
Storage

Availabili
Availabili
ty
ty Zone
Zone

Enterprise
Enterprise Networking
Networking (e.g.,
(e.g.,
VLAN)
VLAN)
ESXi
ESXi
Cluste
Cluste
rr

ESXi
ESXi
Cluste
Cluste
rr

ESXi
ESXi
Cluste
Cluste
rr

Enterprise
Enterprise Storage
Storage (e.g.,
(e.g., SAN)
SAN)

Availability zones will be distributed globally


CloudStack Management Cluster

San Jose

London
Hosted Dehli

Miami

Hosted Rio

Tokyo

Availability zones are becoming on-demand


On Premise
Private
Cloud
Enterprise
Data Center

Hosted

Managed
Private Cloud

Hosted Private
Cloud

Enterprise
Data Center

Dedicated resource
Total control/security
Internal network

Multi-tenant
Users

Enterprise

Public
Cloud Services
Multi-tenant
Users

3rd party hosted &


operated

3rd party
operated

Federated/Hybrid
Cloud Services

3rd party owned and


operated
SLA bound
Security
Dedicated resource

Mix of shared and


dedicated
resources
Shared facility
and staf
VPN access

Shared resources
Elastic scaling
Pay as you go
Public internet

Key takeaways
1. Understand your workload and the type of cloud you
want to build.
2. Consider the services you will be delivering from the
cloud in the future.
3. Choose a platform and architecture that is flexible
enough to support you today and in the future.

Work better. Live better.