41
Deliver a mission-critical, production grade architecture and infrastructure Right-Size Deployment Instances to Meet Enterprise Demand © WSO2 2012. Not for redistribution. Commercial in Confidence. Asanka Abeysinghe - Director, Solutions Architecture, WSO2

Right-size Deployment Instances to Meet Enterprise Demand

  • Upload
    wso2

  • View
    847

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Right-size Deployment Instances to Meet Enterprise Demand

Deliver a mission-critical, production grade architecture and infrastructure

Right-Size Deployment Instances to Meet Enterprise Demand

© WSO2 2012. Not for redistribution. Commercial in Confidence.

Asanka Abeysinghe - Director, Solutions Architecture, WSO2

Page 2: Right-size Deployment Instances to Meet Enterprise Demand

Mission-critical Deployment Webinar Series

Page 3: Right-size Deployment Instances to Meet Enterprise Demand

We are going to look at

-  Deployment Patterns

-  Deployment Architecture

-  Capacity Planning

-  Best Practices

Picture Credit : http://www.ibtimes.com/

Page 4: Right-size Deployment Instances to Meet Enterprise Demand

Why ?

Production System

Business stakeholders Consumers

Business Objectives

IT Capabilities

Architecture

Standards SDLC

Reviews

SLAs

Page 5: Right-size Deployment Instances to Meet Enterprise Demand

Patterns Find a catalog

Page 6: Right-size Deployment Instances to Meet Enterprise Demand

Deployment Patterns : Standalone with individual runtimes

Page 7: Right-size Deployment Instances to Meet Enterprise Demand

Deployment Patterns : Standalone with shared runtime

Page 8: Right-size Deployment Instances to Meet Enterprise Demand

Break : Icons

Page 9: Right-size Deployment Instances to Meet Enterprise Demand

Deployment Patterns : Shared Registry – JDBC mode

Page 10: Right-size Deployment Instances to Meet Enterprise Demand

Deployment Patterns : Shared Registry – WS-* mode

Page 11: Right-size Deployment Instances to Meet Enterprise Demand

Deployment Patterns : Cluster for high-availability

A P

-  Stateful Cluster -  Enable Carbon Clustering -  Multicasting -  WKA

-  Stateless Cluster -  Rely on load-balancer

Page 12: Right-size Deployment Instances to Meet Enterprise Demand

Deployment Patterns : Cluster for scalability

-  Static -  Use any load-balancer

-  Elastic -  Use WSO2 ELB A A

Page 13: Right-size Deployment Instances to Meet Enterprise Demand

Deployment Patterns : Cluster for scalability Elastic

A A A

Page 14: Right-size Deployment Instances to Meet Enterprise Demand

Deployment Patterns : Cluster with Deployment-Sync

A A A

Admin Node Worker Nodes

Deployment Synchronizer - SVN

Page 15: Right-size Deployment Instances to Meet Enterprise Demand

Architecture Draw the blueprints

Page 16: Right-size Deployment Instances to Meet Enterprise Demand

Things to consider before go to the whiteboard -  Infrastructure

-  Physical / Virtual / Cloud / Hybrid

-  Infrastructure Policies

-  Non Functional

-  Performance

-  Security

-  High-availability

-  Recovery

Page 17: Right-size Deployment Instances to Meet Enterprise Demand

Things to consider before go to the whiteboard -  Make it simple

-  Manageable (TechOps)

-  Change control and configuration management

-  Governance

-  Future proof

-  Unexpected business demand

Page 18: Right-size Deployment Instances to Meet Enterprise Demand

Build the architecture visually

Page 19: Right-size Deployment Instances to Meet Enterprise Demand

Deployment Architecture – Reference architecture 1

Page 20: Right-size Deployment Instances to Meet Enterprise Demand

Deployment Architecture – Reference architecture 2

Page 21: Right-size Deployment Instances to Meet Enterprise Demand

Deployment Architecture – Reference architecture 3

Page 22: Right-size Deployment Instances to Meet Enterprise Demand

Deployment Architecture – Reference architecture 4

Page 23: Right-size Deployment Instances to Meet Enterprise Demand

Deployment Architecture – Reference architecture 5

Page 24: Right-size Deployment Instances to Meet Enterprise Demand

Capacity Planning How to Scale

Page 25: Right-size Deployment Instances to Meet Enterprise Demand

Gather Data : Sources

-  From monitoring systems -  From business marketing stats -  Current data -  Future / Projected data

Page 26: Right-size Deployment Instances to Meet Enterprise Demand

Gather Data : Types

-  Expected maximum throughput/TPS -  Expected latency -  Size of messages -  Work done per transaction

Page 27: Right-size Deployment Instances to Meet Enterprise Demand

Expected Maximum TPS / Peak load

-  You have to know TPS or TPM (per minute). Transactions per day is useless unless we have some store and process model in the architecture. Often, most messages in a day come within minutes.

-  When there is no numbers to refer try to get a rough idea, is it 10s, 100s 1000s or 10000s?

-  Remember, this is Maximum value, not the average

Page 28: Right-size Deployment Instances to Meet Enterprise Demand

Size of Messages

-  Try to classify them to following -  Small (<50k) -  Moderate (<1M) -  Large (<5M) -  Extra large (> 5M)

-  If messages greater than 1M, better to a trial run as results are very unreliable

Page 29: Right-size Deployment Instances to Meet Enterprise Demand

Transaction : Identify the CPU cycles

Page 30: Right-size Deployment Instances to Meet Enterprise Demand

Apply to each deployment architecture layer

Component Capacity Planning Guidelines

API Gateway Peak load of the API calls

Auth Server Peak load of the API calls

API Store Peak load of the subscriptions and browsing

API Publisher Peak load of the API publishing and LCM tasks

Analytics System load of the API calls

Example : API Manager Capacity Planning

Page 31: Right-size Deployment Instances to Meet Enterprise Demand

Refer available performance numbers

Page 32: Right-size Deployment Instances to Meet Enterprise Demand

Compute the instances Pattern With WSO2 Analytics With WSO2 LB

Minimum Internal Store

5 [ 2 GW + 2 Auth + 1 (Store + Publisher) ]

7 [ 2 GW + 2 Auth + 1 (Store + Publisher) + 2 BAM (DC + DS, DB + DS + DA ]

9 [ 2 LB + 2 GW + 2 Auth + 1 (Store + Publisher) + 2 BAM (DC + DS, DB + DS + DA ]

Minimum External Store

6 [ 2 GW + 2 Auth + 1 Store + 1 Publisher ]

8 [ 2 GW + 2 Auth + 1 Store + 1 Publisher + 2 BAM (DC + DS, DB + DS + DA ]

10 [ 2 LB + 2 GW + 2 Auth + 1 Store + 1 Publisher + 2 BAM (DC + DS, DB + DS + DA ]

Extend = n1 GW + n2 Auth + n3 Store + n4 Publisher

= n1 GW + n2 Auth + n3 Store + n4 Publisher + n5 Analytics

= n1 LB + n2 GW + n3 Auth + n4 Store + n5 Publisher + n6 Analytics

Page 33: Right-size Deployment Instances to Meet Enterprise Demand

But … try it on your environment with the use-cases

-  Performance test -  Actual use-cases -  Message sizes -  Infrastructure -  Tools (Jmeter/SOAP-UI/Grinder ….)

Page 34: Right-size Deployment Instances to Meet Enterprise Demand

Work with a WSO2 Consultant

-  Fill the capacity planning sizing parameter doc -  Work with a WSO2 consultant

Page 35: Right-size Deployment Instances to Meet Enterprise Demand

Things to consider

-  Keep a buffer of 30% -  Should not load servers beyond 25% of normal instantaneous peak load -  Allocate 2GB memory per Carbon instance/ JVM -  Keep minimum 2GB memory for the OS and system utilities -  Use system load (TPD/TPY) for data / log growth -  Keep performance test (2x) and long running test as part of the

acceptance test

Page 36: Right-size Deployment Instances to Meet Enterprise Demand

Extend the deployment

-  Secure vault -  Headless worker nodes -  Connect to the existing user-store (LDAP/AD/RDBMS) -  Fine-tune , thread pools, throttling -  Command-line tools -  Connect to SDLC, change control

Page 37: Right-size Deployment Instances to Meet Enterprise Demand

Summary

-  Identify the deployment patterns -  Consider the deployment needs and constraints -  Draw the deployment architecture (logical)

-  Identify the architecture layers

-  Gather data -  Current -  Future

-  Refer performance statistics for a given HW and use-case(s) -  Compute the instance count per each layer -  Identify the physical architecture

Page 38: Right-size Deployment Instances to Meet Enterprise Demand

Future webinars on Mission-critical Deployment

Page 39: Right-size Deployment Instances to Meet Enterprise Demand

API Management Webinar Series

Page 40: Right-size Deployment Instances to Meet Enterprise Demand

More Info

§  Corporate website: http://wso2.com

§  Solution Architecture Blog: http://wso2.com/blogs/architecture/

§  Business development team: [email protected]

§  Asanka Abeysinghe

§  Blog : http://asanka.abeysinghe.org

§  Twitter : @asankama

Page 41: Right-size Deployment Instances to Meet Enterprise Demand

41

lean . enterprise . middleware