Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment, and Synchronization
1. 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
2. Achieve Cloud-Scale
Agenda
• Scale Objectives
• Architecting for Scale
• Elastic Load Balancing
• Asset Deployment Synchronization and
Optimization
• Getting started
3. Share Business Capabilities at Scale
Business
Functional Proces
Presentation and Business
Mashups Role Process
Presentation Functional Business
Role Role Process
Business
Presentation and Functional
Role Process and
Mashups Functional Business Rules
Presentation and
Mashups code
Client Tier
Resource
Integration Services Tier
Resource
Services
Resource
Services
Integration Services
Public Cloud Services
Private
Applications
4. Scale across Clouds
Composite Mobile
Infrastructure as a
Application Application Service (IaaS)
SaaS Application
Cloud API
Web
Endpoint application
Endpoint
Integration Services
Business Service Portfolio Application Portfolio
Hybrid
Presentation Services
Platform
Business
Process and
Functional Services
Services
Rules Services
Resources Services
Integration Services
5. Maintain Availability by Scaling across Regions and Zones
Multiple IaaS (hybrid) Deployment
HIGHEST
Zone 1
Private cloud (data center) Zone 2
Zone 1
Zone 2
Amazon EC2
Zone 1
Availability
Cost
Zone 2
LOWEST
Rackspace Cloud
5
6. 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
7. Architecting for Scale
Cloud Scale
On-demand Consumption
Elastic Scalability Resource Pooling
Self-service based Funding
Create tenant Match capacity
Asset deployment Meter usage
environment with demand
Asset
Deploy Service Load balancing Bill per scale unit
Synchronization
Dynamic
Configure Service
Clustering
8. Mission-critical Cloud Scale
requires new architecture components
Availability Scalability Management
State replication Tenant partitioning Management nodes
Private jet mode
Session replication Ghost deployment Logging infrastructure
Multiple load balancers BAM 2.0 architecture Deployment
with synchronization
keepalived or DNS RR
Auto-scaling
Elastic Load Balancer
9. Cloud-aware Reference Architecture
Cloud Platform
Platform as a Service Run-time Framework (i.e. WSO2 Stratos,
Cloud Cloud Foundry, RedHat OpenShift)
Management Service-aware, tenant-aware
Elastic Load Balancer
PaaS Manager
Stratos Controller Cloud Native Container(s)
Cloud
Asset/Code Deployer Tenant 1 Tenant (n)
Governance
Identity Asset/Code Synchronizer
Management Application Platform Services
(web server, database, ESB)
Metering and Billing
Asset Repositories and
Registries(tenant code, service Infrastructure as a Service
endpoints, meta-data, (AWS, Eucalyptus, OpenStack,
configuration, policies) CloudStack)
10. Platform as a Service Reference Architecture
aPaaS
iPaaS
Carbon Any
Carbon ESB Other Carbon PHP
App Server Pluggable
Cartridge Cartridges Cartridge
Cartridge Cartridge
Relational Column File Task
Message Logging Security Registry Billing
Data Storage Storage Mgmt
Service Service Service Service Service
Foundation
Service Service Service Service
PaaS
Stratos Controller
Elastic Cloud Artifact
Deployment Management Load
Load Controller/ Distribution
Synchronizer
Auto-scaler Controller Console Monitor
Balancer
IaaS
Infrastructure Cloud (EC2, vmWare, Rackspace, OpenStack, Eucalyptus, etc)
22. Scaling a Cloud Business
• Measuring Revenue versus Cost
Source: http://giffconstable.com/2009/11/freemium-business-model-template/
23. Tenant Scaling Method Impacts Value Proposition
• Single Application Tenant per Multiple Application Tenants per
Shared Application Platform Service
• Dedicated Application Server
Container
Container
24. Cloud Topology and Value
Five (5) Container Instances, Three Tenants
Tenant
Application Solution Traffic
Tenant Partition Tenant-1 Tenant-2 Tenant-3
Container AS-1 ESB-1 AS-2 ESB-2 ESB-3
Tenant Context Tenant-1 Tenant-1 Tenant-2 Tenant-2 Tenant-3
25. Cloud Topology and Value
Three (3) Container Instances, Three Tenants
Tenant
Application Solution Traffic
Web
Service Partition ESB
Application
Container ESB-1 ESB-2 AS-1
Tenant Context Tenant-1 Tenant-3 Tenant-2 Tenant-1 Tenant-2
26. Single Node
Primary-Secondary, single LB
Primary-Secondary,
with multiple LBs
at a cost
Multi-node active
cluster
- Single zone
Multi-zone
Multi-region
Cloud Scale = High Availability
Multi-IaaS
26
27. 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
28. 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)
29. 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
30. 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
31. 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
32. 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/