Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment, and Synchronization

Post on 01-Nov-2014

1,809 views 1 download

Tags:

description

 

transcript

Achieve Cloud-Scale by implementing Elastic Load Balancing, Asset Deployment,

and Synchronization

Chris Haddad Vice President Technology Evangelism

Follow me on Twitter @cobiacomm

December 2012

Achieve Cloud-Scale

Agenda

• Scale Objectives

• Architecting for Scale

• Elastic Load Balancing

• Asset Deployment Synchronization and Optimization

• Getting started

Resource Tier

Share Business Capabilities at Scale

Functional Role

Client Tier

Integration Services

Integration Services Resource Services

Functional Role

Presentation and Mashups

Functional Role

Functional code

Presentation Role

Presentation and Mashups

Presentation and Mashups

Resource Services

Private Applications

Public Cloud Services

Business Proces

Business Process

Business Process Business Process and

Business Rules

Scale across Clouds

Mobile Application

Application Portfolio

Hybrid Platform Services

Presentation Services

Resources Services

Functional Services

Business Process and

Rules Services

Integration Services

Composite Application

Business Service Portfolio

Integration Services

Cloud API Endpoint

Infrastructure as a Service (IaaS)

SaaS Application

Web application Endpoint

Maintain Availability by Scaling across Regions and Zones Multiple IaaS (hybrid) Deployment

Avail

ab

ilit

y

Co

st

LOWEST

HIGHEST

5

Private cloud (data center)

Zone 1

Zone 2

Amazon EC2

Zone 1

Zone 2

Rackspace Cloud

Zone 1

Zone 2

Scale Challenges (a subset)

• Tenant and service partitioning

– Traffic Routing

• Dynamically registering service instances

– Right-sizing service instances to match demand

• Code deployment into multiple Cloud instances

– Minimizing Cloud instance footprint

Architecting for Scale

Cloud Scale

On-demand

Self-service

Create tenant environment

Deploy Service

Configure Service

Elastic Scalability

Match capacity with demand

Load balancing

Dynamic Clustering

Resource Pooling

Asset deployment

Asset Synchronization

Consumption based Funding

Meter usage

Bill per scale unit

Mission-critical Cloud Scale requires new architecture components

Availability Scalability Management

State replication Tenant partitioning Private jet mode

Management nodes

Session replication Ghost deployment Logging infrastructure

Multiple load balancers with keepalived or DNS RR

BAM 2.0 architecture Deployment synchronization

Auto-scaling

Elastic Load Balancer

Cloud-aware Reference Architecture

Cloud Platform

Cloud Management

PaaS Manager

Cloud Governance

Identity Management

Asset Repositories and Registries(tenant code, service

endpoints, meta-data, configuration, policies)

Infrastructure as a Service (AWS, Eucalyptus, OpenStack,

CloudStack)

Platform as a Service Run-time Framework (i.e. WSO2 Stratos, Cloud Foundry, RedHat OpenShift)

Service-aware, tenant-aware

Elastic Load Balancer

Stratos Controller

Asset/Code Deployer

Asset/Code Synchronizer

Metering and Billing

Cloud Native Container(s)

Application Platform Services (web server, database, ESB)

Tenant 1 Tenant (n)

Platform as a Service Reference Architecture

Carbon ESB

Cartridge

Carbon

App Server

Cartridge

Stratos Controller

Message Service

Logging Service

Security Service

Registry Service

Relational Data

Service

Elastic Load

Balancer

Cloud Controller/ Auto-scaler

Artifact Distribution Controller

Deployment Synchronizer

Management Console

Column Storage Service

File Storage Service

Task Mgmt Service

Billing Service

Other Carbon

Cartridges

PHP

Cartridge

Any

Pluggable

Cartridge

Infrastructure Cloud (EC2, vmWare, Rackspace, OpenStack, Eucalyptus, etc)

Load Monitor

IaaS

Pa

aS

Fo

un

da

tio

n

aP

aa

S

iPa

aS

Dynamic Instance Clustering

Hybrid group

N WK2

WK1

WK3 WK4

Static members

M6

M5

M7

Dynamic members

Join (IP, Port) Notify

Tenant-awareness impacts Cloud Scaling

Elastic Load Balancer Config

Private Service Clouds

Deployment Synchronization

• Allows you to synchronize deployment artifacts across nodes in a cluster

• Also includes meta data synchronization

Deployment Synchronization • Allows you to synchronize deployment artifacts across

nodes in a cluster

• Also includes meta data synchronization

Management Node Config – carbon.xml

• <DeploymentSynchronizer>

• <Enabled>true</Enabled>

• <AutoCommit>true</AutoCommit>

• <AutoCheckout>true</AutoCheckout>

• <RepositoryType>svn</RepositoryType>

• <SvnUrl>http://10.100.3.115/svn/repos/wsas</SvnUrl>

• <SvnUser>wso2</SvnUser>

• <SvnPassword>wso2123</SvnPassword>

• <SvnUrlAppendTenantId>true</SvnUrlAppendTenantId>

• </DeploymentSynchronizer>

AutoCommit/Checkout = RW

Deployment Optimization

• Four variants

• Lazy initialization

• Virtual proxy

• Value holder

• Ghost

• Two aspect of lazy loading in Carbon

• Lazy loading global configuration

• Lazy loading artifacts

Ghost deployment for services carbon.xml - <EnableGhostDeployer>true</EnableGhostDeployer>

Lazy loading with Ghost Deployment

What is your scale value baseline?

Scaling a Cloud Business

• Measuring Revenue versus Cost

Source: http://giffconstable.com/2009/11/freemium-business-model-template/

Tenant Scaling Method Impacts Value Proposition

• Single Application Tenant per

• Dedicated Application Server Container

Multiple Application Tenants per Shared Application Platform Service

Container

Cloud Topology and Value

Tenant Context

Container

Tenant Partition

Application Solution Tenant Traffic

Tenant-1

AS-1

Tenant-1

ESB-1

Tenant-1

Tenant-2

AS-2

Tenant-2

ESB-2

Tenant-2

Tenant-3

ESB-3

Tenant-3

Five (5) Container Instances, Three Tenants

Cloud Topology and Value

Tenant Context

Container

Service Partition

Application Solution Tenant Traffic

ESB

ESB-1

Tenant-1 Tenant-3

ESB-2

Tenant-2

Web Application

AS-1

Tenant-1 Tenant-2

Three (3) Container Instances, Three Tenants

Cloud Scale = High Availability at a cost

26

Sin

gle

No

de

Pri

mar

y-Se

con

dar

y, s

ingl

e LB

Mu

lti-

no

de

acti

ve

clu

ster

-

Sin

gle

zon

e

Mu

lti-

regi

on

Pri

mar

y-Se

con

dar

y,

wit

h m

ult

iple

LB

s Mu

lti-

zon

e

M

ult

i-Ia

aS

Key Metrics

• Foundation • Time to create new application environment

• Time to redeploy application

• Optimize • Minimum and maximum scale

• Scale frequency (i.e. time to scale up/down)

• Transformation • Time and effort required integrating business process, event

processor – creating a complex app.

• Time and effort required to apply policy across tenant(s)

• Cost to operate application per user or transaction

Quick Start Use Cases

Service level management and elastic scale • Use cases

• Ensure application satisfies consumer demand while maximizing resource utilization • Scale workload processing and increase performance while

minimizing infrastructure spend

• Load test application service • Demonstrate multi-tenant web application

• Key Metrics • Minimum and maximum scale • Scale frequency (i.e. time to scale up/down)

Quick Start Use Cases

Consumption based pricing and billing

• Use cases

• View service logs

• View bill by business value

• Key Metric

• Cost to operate application per user or transaction

Resources

• Try Stratos right now:

– https://stratoslive.wso2.com/

• Read about Stratos:

– http://wso2.com/cloud/stratos/

– Source Download available

• Contact us:

– bizdev@wso2.com

Resources

• Information on tenant-aware load balancing • http://sanjeewamalalgoda.blogspot.com/2012/03/tenant-aware-load-balancer-is-upcoming.html

• http://sanjeewamalalgoda.blogspot.com/2012/05/tenant-aware-load-balancer.html

• Information on long running performance • http://kishanthan.wordpress.com/2012/06/27/lazy-loading-pattern-in-wso2-stratos

• Lazy loading deployment artifacts • http://blog.afkham.org/2011/11/lazy-loading-deployment-artifacts-in.html

• Scaling Stratos • http://srinathsview.blogspot.com/2012/06/scaling-wso2-stratos.html

• http://blog.afkham.org/2011/09/how-to-setup-wso2-elastic-load-balancer.html

• http://blog.afkham.org/2011/09/wso2-load-balancer-how-it-works.html

Resources

• Auto-scaler service deployment • http://nirmalfdo.blogspot.com/2012/07/autoscaler-service-deployment.html

• Auto-scaler service • http://nirmalfdo.blogspot.com/2012/07/wso2-autoscaler-service-part-i.html

• Pass-through transport – performance comparison

• http://wso2.org/library/articles/2012/03/wso2-esb-message-transfer-mechanisms-comparative-benchmarks/

• Automatic failover for WSO2 ELB • http://gonesimple.org/2012/09/24/automatic-fail-over-for-wso2-elb/