summer school scale cloud across the enterprise

61
Scaling Cloud Across the Enterprise Chris Haddad Vice President Technology Evangelism, WSO2 Asanka Abeysinghe Director, Solutions Architecture Follow me @cobiacomm Read more about PaaS at http://blog.cobia.net/cobiacomm Try StratosLive https://stratoslive.wso2.com/

Upload: wso2

Post on 10-May-2015

6.709 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Summer School   Scale Cloud Across the Enterprise

Scaling Cloud Across the Enterprise

Chris Haddad Vice President Technology Evangelism, WSO2

Asanka Abeysinghe

Director, Solutions Architecture

Follow me @cobiacomm Read more about PaaS at http://blog.cobia.net/cobiacomm

Try StratosLive https://stratoslive.wso2.com/

Page 2: Summer School   Scale Cloud Across the Enterprise

Your Presenters Chris Haddad WSO2 Vice President Technology Evangelism Former Burton Group and Gartner research leader whose main role is to raise visibility, awareness, and knowledge of the Platform as Service, Service Oriented Architecture, and API Management Twitter @cobiacomm http://blog.cobia.net/cobiacomm Asanka

WSO2 Director, Solutions Architecture

Twitter @asankama

http://asanka.abeysinghe.org

Page 3: Summer School   Scale Cloud Across the Enterprise

Scaling Cloud Across the Enterprise

• Where your cloud application strategy may encounter challenges

• When to migrate applications to the cloud

• How to scale your cloud strategy and cloud tactics across the organization.

Page 4: Summer School   Scale Cloud Across the Enterprise

Application Development Challenges

• Long time and significant effort required to create application project environment(s)

• Complex integration required to extend core application capabilities and bridge consumers

• Difficult to enforce governance best practices and policies

• Time consuming, manual process to obtain project status, dependencies, and change impact

Page 5: Summer School   Scale Cloud Across the Enterprise

Cloud Governance Challenges

• New data types and metadata

• Interface with new Cloud management infrastructure

• Resurgent focus on bridging silos and creating a hybrid solution requires extensibility

• Emerging specifications and practices requires customization and experimentation

Page 6: Summer School   Scale Cloud Across the Enterprise

What is Platform as a Service?

Page 7: Summer School   Scale Cloud Across the Enterprise

Cloud Characteristics and Architecture

Resource pooling

• Multi-tenancy

• Resource utilization

• Shared, virtual infrastructure

• Interoperability

On-demand

self-service

• Flexible workload assignment

• Standard service offerings

• Quick startup and automation

Rapid Elasticity

• Stateless services

• Rapid provisioning

• Flexible topology

• High Quality of Service

Measured service or pay per use

• Fine-grained metering

• Billing • Reporting

Page 8: Summer School   Scale Cloud Across the Enterprise

Defining Cloud Boundaries • Distributed Topology

– Latency – Stateless, autonomous services – Instrumented, redundant, and expecting failure

• Efficient resource pooling – Consumption aware and multi-tenant – Automated, continuous

• Scale – Asynchronous, event driven callbacks – Parallelizable, workload decomposition, and idempotent

• On-demand self service – Personalization extensibility points – Fine grained, modular – Template driven

Page 9: Summer School   Scale Cloud Across the Enterprise

Dev Ops Tooling Automated Governance

Service Level Management

Consumption based Funding

Platform as a Service Capabilities

Page 10: Summer School   Scale Cloud Across the Enterprise

• Resource monitoring

• Resource management

• Performance management

• Traffic orchestration

• Metering

• Reporting

• Billing

• Service catalogue

• Service tiers

• Demand and capacity management

• Lifecycle management

• Infrastructure Authority integration

• Self service configuration

• Automated provisioning

• Policy configuration

• Process automation

Dev Ops Tooling

Automated Governance

Service Level Management

Consumption based Funding

Platform as a Service Capabilities

Page 11: Summer School   Scale Cloud Across the Enterprise

PaaS Abstraction Levels

• Users, workspaces, transactions

• Services, channels, API

Component Services

• Application session, frameworks

• Application instance, .war files

• Installing application

Application Platform

• Command line interface, bash shell

• Machine size, JVM configuration

• Installing infrastructure

Hardware Infrastructure

Page 12: Summer School   Scale Cloud Across the Enterprise

Resource Tier

Cloud 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

Page 13: Summer School   Scale Cloud Across the Enterprise

Bridging 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

Page 14: Summer School   Scale Cloud Across the Enterprise

Composing a Cloud Platform

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)

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)

Page 15: Summer School   Scale Cloud Across the Enterprise

Composing a Cloud Platform

Load Balancer

Manager

Repository

Code Deployer

Platform Services

Metering and Billing

Controller

Cloud Application Platform Architecture

Page 16: Summer School   Scale Cloud Across the Enterprise

Platform as a Service

Page 17: Summer School   Scale Cloud Across the Enterprise

Cloud Application Platform Shared Middleware Services

Page 18: Summer School   Scale Cloud Across the Enterprise

Platform as a Service Architecture What is a tenant? • An isolated or personalized run-time environment context that cannot be

shared across PaaS consumers

• Tenant specific personalization can occur across multiple personalization dimensions • Information access privileges • Information aggregation and composition • Business processes and rules • Service levels and Quality of Service • Security policies, subscriber entitlements, and social network access privileges • Monetization rates

• Personalization may require loading code, configuration files, or data

• Tenant isolation dictated by expected performance, security requirements, and legacy technology. • PaaS security managers, code deployers, and tenant-aware load balancing

influences required container-level isolation

Page 19: Summer School   Scale Cloud Across the Enterprise

Platform as a Service Architecture

What is a container? • A standalone, Internet addressable node offering

application platform services • Web application hosting, API management, integration

endpoint hosting, ESB mediation, registry services, identity management, relational database

• Containers host tenant resources and context

• Code, configuration files, data, process definitions, rules, policies, entitlements

• Containers may serve

• a single tenant at a time (dedicated), or • multiple-tenants at a time (shared)

Page 20: Summer School   Scale Cloud Across the Enterprise

Tenant Scaling Method Impacts Value Proposition • Single Application

Tenant per

• Dedicated Application Server Container

Multiple Application Tenants per

Shared Application Platform Service Container

Page 21: Summer School   Scale Cloud Across the Enterprise

Partitions modify value proposition

• Single, flat namespace Multiple partitions and segmented name space

Page 22: Summer School   Scale Cloud Across the Enterprise

Partitioning and Tenancy Implications

Tenant Context

Container

Service Partition

Application Solution Tenant Traffic

ESB

ESB-1

Tenant-1 Tenant-3

ESB-2

Tenant-2

Web Applicati

on

AS-1

Tenant-1 Tenant-2

Three (3) Container Instances

Page 23: Summer School   Scale Cloud Across the Enterprise

Scaling your Cloud

Page 24: Summer School   Scale Cloud Across the Enterprise

How to size an infrastructure

• Expected Maximum TPS

– Any max latency requirements

• Work done per transaction

• Size of messages

• Availability

• Deployment needs (e.g. specific setup might need based on the infrastructure policy etc.)

Page 25: Summer School   Scale Cloud Across the Enterprise

Cloud Capacity Planning

• Service types

• System load – Per service type

– Administration

• Scaling – Static

– Dynamic

• PaaS system and deployment architecture

• Limitation of IaaS

Page 26: Summer School   Scale Cloud Across the Enterprise

• Stratos Controller

- Management, Governance, Monitoring component - System security

• Stratos Service Cluster - Worker nodes provide the runtime for application logic / services - Administrator nodes to create, manage, govern the application

logic / services

Controller

Service Cluster

1:M

WSO2 Stratos Component Architecture

Page 27: Summer School   Scale Cloud Across the Enterprise

Scaling Stratos Controller

Page 28: Summer School   Scale Cloud Across the Enterprise

i – Number of WSO2 Carbon instances x – Number of worker nodes per service cluster y – Number of service clusters In most cases each service node will not have equal number of worker nodes.

i = 2 + (2 +x) y

i = 2 + (2 + x1) + (2 + x2) + …….. + (2 + xn)

Stratos Controller

LB + Admin Node

Z

Stratos Controller instances.

Formula for Static Scaling

Page 29: Summer School   Scale Cloud Across the Enterprise

Optimizing Cloud Performance: Cloud Scaling

Page 30: Summer School   Scale Cloud Across the Enterprise

Cloud Aware App

Page 31: Summer School   Scale Cloud Across the Enterprise

Architectural Difference Between Web Application and Cloud Application

Web Application • Synchronous request-reply

interaction • Centralized state (i.e. single

database) and session management

• Clustered server instances • Silo architecture

Cloud Application • Asynchronous interaction • Queues and workers • Scale out across datacenters

and providers • Distributed state and session

management • Autonomous service instances • Tenant context personalization • Shared JVM / Shared Schema • Shared nothing architecture

Page 32: Summer School   Scale Cloud Across the Enterprise

PaaS Evaluation Framework

Programming Model • Actor model (i.e. message passing instead of function

invocation • RESTful interactions • Dynamic recoverability • Consensus protocols • Asynchronous rather than synchronous interactions • Shared nothing architecture • Data partitioning and sharding • Federated data queries • Service orchestration • Functional programming • MapReduce

Page 33: Summer School   Scale Cloud Across the Enterprise

Cloud Application Demo • Register a new tenant

– Show the self service aspect, multi tenancy aspect

– Create and provision a new tenant on shared infrastructure

• Demonstrate PaaS facilities available for a tenant (metering, billing, logs)

• Upload an existing web application to the tenant

– Demonstrate the zero cost/easy migration of applications

• Creating a new hello world web application

– Demonstrate the procedure to create an application

– Deploy application to Cloud using WSO2 Dveloper Studio

• Secure the web application(Tie the authentication to underlying user model).

• Create a database

– Relational storage model options

– NoSQL storage model options

• Access a database via web application

• Expose a database table as data services.

• Demonstrate WSO2 Stratos and WSO2 StratosLive application platform services

• Explain the programming model + services

– Access "CarbonContext” within applications

Page 34: Summer School   Scale Cloud Across the Enterprise

Optimizing Cloud Performance: Asset Lifecycle

Tenant Traffic Balancer

Code Deployer

Activity Metering

Instance Scaling

Code Development and Update

Code Synchronizer

Page 35: Summer School   Scale Cloud Across the Enterprise

Optimizing Cloud Performance

Stratos Monitoring, Metering, and Billing

• Number of users and applications

• Tenant Storage

• Tenant transaction activity

Page 36: Summer School   Scale Cloud Across the Enterprise

Cloud-aware Design

Page 37: Summer School   Scale Cloud Across the Enterprise

Application Architecture Crossroads

Innovation

Familiarity

Page 38: Summer School   Scale Cloud Across the Enterprise

Migrated or Native

Web Application • Synchronous request-reply

interaction • Centralized state (i.e. single

database) and session management

• Clustered server instances • Silo architecture

Cloud Application • Asynchronous interaction • Queues and workers • Scale out across datacenters

and providers • Distributed state and session

management • Autonomous service instances • Tenant context personalization • Shared JVM / Shared Schema • Shared nothing architecture

Page 39: Summer School   Scale Cloud Across the Enterprise

Cloud Application Patterns and Anti-Patterns

18

Deterministic performance

Deploy and execute on optimum topology

Separation of concerns

Embarrassingly Parallel / Shared Nothing ArchitectureMinimal

Consumption

Failure Resilient Leaky interfaces

Tightly coupled modules

Monolithic footprint

Single threaded, serial execution

Resource locks Single tenancy model

Page 40: Summer School   Scale Cloud Across the Enterprise

Cloud Aware Application Use Cases and Underlying Cloud Patterns

• Maximize utilization – Requires deterministic performance – Load balance based on tenant, service, and workload,

context

• Increase reliability, availability, scalability – Shared nothing architecture – Stateless server-side elements – Consensus protocols

• Ecosystem platform – Monetize assets based on business value – Tenant/Consumer personalization and isolation – Sharing domain specific business capabilities

Page 41: Summer School   Scale Cloud Across the Enterprise

Cloud Architecture Best Practices

Transitioning to a New normal – Traditional practices may not apply • Distributed and federated interactions

– Event based, heterogeneous systems, network latency

• Configurable containers and engines – Declarative data, rules, and process definitions

• De-normalized and simplified data models – Hadoop/BigTable, Hypertext media, simple NoSQL entities

• Expect failure – Systems span transactional control

• Applications decomposed into distinct services – Federated environment drives autonomy, statelessness, and

composition

Page 42: Summer School   Scale Cloud Across the Enterprise

Cloud-aware Design

Cloud-aware Application

Parallelizable, Shared nothing

Asynchronous, stateless services

Fine grained, modular design

Tenant personalization

Efficient resource consumption

Deterministic performance

Multi-tenant Application Platform Services

ESB

Application Server

Business Process

Registry

Identity Management

Storage

PaaS Framework

Controller Load

balancer

Asset Deployer and Synchronizer

Repositories Metering and

Billing

Page 43: Summer School   Scale Cloud Across the Enterprise

Scaling Cloud Adoption

Page 44: Summer School   Scale Cloud Across the Enterprise

Cloud Business Value Blockers

• Silo owners

• Adoption curve

• Trust barrier

• Unknown baseline

• Funding model

Source: http://blog.industryweapon.com/2010/01/beware-of-the-business-blocker/

Page 45: Summer School   Scale Cloud Across the Enterprise

Architecture Shapes Value

• Resource friendly := small footprint, minimal consumption,

parallelizable workloads

• Poolablility := Non-exclusive use, short usage duration

• Automation := decrease activity time, latency between

steps

• Governance := encourage trust, communication,

coordination

• Distribution friendly:= Stateless, autonomous

Page 46: Summer School   Scale Cloud Across the Enterprise

DevOp Principles

• Iterative

• Incremental

• Continuous

• Automated

• Self-service

• Collaborative

• Holistic

Page 47: Summer School   Scale Cloud Across the Enterprise

DevOps Processes

• Self-service configuration

• Automated provisioning

• Continuous build

• Continuous integration

• Continuous delivery

• Automated release management

• Incremental testing

Page 48: Summer School   Scale Cloud Across the Enterprise

DevOps Tooling

• Self service project and policy configuration – Via project configuration portals

– Security, service levels, frameworks, usage, topology

• Automated platform provisioning – Via service tier templates

– Framework and policy enforcement points (PEPs)

• Process automation – Continuous build, test, and deployment

– Code promotion and synchronization across environments and servers

• Dependency analysis and impact analysis

Page 49: Summer School   Scale Cloud Across the Enterprise

Defining Governance

• Ensuring people do the right thing

• Make doing the right thing the easy path – via automation

• Spans precepts, policies, people, and process

Governance applies to many domains – Design and development

– Operational processes and run-time environment

– Organizational resources

• Effective governance requires a big picture view of portfolio and dependencies

Page 50: Summer School   Scale Cloud Across the Enterprise

Cloud Governance extends general purpose Registry & Repository

• Store Cloud Governance Artifacts:

– Contracts, Models, Workflows, Service Definitions, Documentation

– SLAs, Monetization Rates, Usage Limits

– Cloud Service Dependencies and Machine Instance Configurations

– Scale and Resource Pool Policies

Page 51: Summer School   Scale Cloud Across the Enterprise

Automated Governance

Requires

• Service catalogue and service tiers

• Demand and capacity management

• Lifecycle management and workflow

• Continuous provisioning and deployment

• Cloud management integration

Page 52: Summer School   Scale Cloud Across the Enterprise

WSO2 AppFactory

A Cloud-based, agile, DevOps approach to application design, development, and delivery

– On-demand self service and Cloud provisioning

– Continuous build, continuous integration, continuous test, and continuous delivery

– Governed, iterative lifecycle management across hybrid clouds and composite applications

Page 53: Summer School   Scale Cloud Across the Enterprise

WSO2AppFactory

Existing IT infrastructure

Scalable Private Cloud infrastructure

CIO/Management Dashboard

Workflow managedbuild and deploy

Stratos Multi-tenant elasticintegration and ESB runtime

Governanceand Identity

API Management

Lightweight High PerformanceIntegration

Partner and Mobile applications

WSO2 AppFactory

Page 54: Summer School   Scale Cloud Across the Enterprise

WSO2 AppFactory

• For developers • Simplifies project setup and provisioning

• Fits into their existing IDE (i.e. Eclipse, IDEA, Rational)

• Works with leading development tooling (i.e. SVN, Git, Junit, Selenium, Maven, Jenkins, Bamboo, and JIRA

• For development managers • Manage project lifecycle with well defined checkpoints and phases

• Ensures projects follow governance model and best practices

• Provides consistent frameworks and architecture

• For the CIO and Executive IT management • Development dashboards deliver at a glance view of projects’ status, lifecycle,

activity, and health

Page 55: Summer School   Scale Cloud Across the Enterprise

WSO2 App Factory

7/25/2012 55

Page 56: Summer School   Scale Cloud Across the Enterprise

Overcoming Cloud Value Blockers: WSO2 AppFactory

Page 57: Summer School   Scale Cloud Across the Enterprise

Configuration Governance • Governs any kind of server/system configuration

• Manages Versions and Revisions with checkpointing & rollback

• Manages the full promotion lifecycle spanning across development, testing, staging and production environments

• Deeply integrates with all WSO2 Carbon middleware products

• Integration to any 3rd party product via command-line clients

Page 58: Summer School   Scale Cloud Across the Enterprise

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

Page 59: Summer School   Scale Cloud Across the Enterprise

Quick Start Use Cases

• DevOps Tooling and On-demand self-service

• Automated Governance

• Service level management and elastic scale

• Consumption based pricing and billing

Page 60: Summer School   Scale Cloud Across the Enterprise

Resources • Try StratosLive right now:

– https://stratoslive.wso2.com/

• Read about Stratos: – http://wso2.com/cloud/stratos/ – Source Download available

• White Paper – Selecting Platform as a Service

• Blog Articles – What is Platform as a Service? – PaaS Evaluation Framework for CIOs and Architects – How to simplify Platform as a Service Complexity – Searching for Cloud Reference Architecture

• Contact us: – [email protected]

Page 61: Summer School   Scale Cloud Across the Enterprise

Contact us:

http://wso2.com/contact/

Follow us:

http://twitter.com/#!/wso2