32
Selecting a Cloud Platform Chris Haddad Vice President Technology Evangelism Follow me @cobiacomm Download white paper at http://wso2.com/casestudies/selecting-a-cloud- platform Read more about PaaS at http://blog.cobia.net/ cobiacomm Try StratosLive https://stratoslive.wso2.com/

Selecting a cloud platform

Embed Size (px)

DESCRIPTION

As an application platform in the Cloud, Platform as a Service (PaaS) should facilitate Cloud characteristics (i.e. elastic scale, on-demand self service, resource pooling, and consumption based pricing). While all middleware vendors purport to deliver a platform product or service powering the Cloud, all PaaS offerings do not deliver appropriate granularity, abstraction, capabilities, simplicity, and solution breadth.A competitive scorecard can help enterprise architects and solution architects evaluate and select PaaS offerings. The scorecard can be used to shortlist PaaS providers, build questions posed in a Request for Proposal (RFP) document, or generate use case scenarios. This white paper presents a scorecard that contains comparison tables describing detailed criterion and a comparison chart visually illustrating PaaS strengths and weaknesses.When your team is selecting a PaaS provider, road-test the PaaS offerings and validate benefits. At a minimum, become comfortable with your team’s ability to realize goals, measure improvements using key metrics, and confidently design, build, deploy, and manage cloud-enabled applications. The white paper presents a quick start roadmap.

Citation preview

Page 1: Selecting a cloud platform

Selecting a Cloud PlatformChris Haddad

Vice President Technology Evangelism

Follow me @cobiacommDownload white paper at

http://wso2.com/casestudies/selecting-a-cloud-platform

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

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

Page 2: Selecting a cloud platform

Platform as a Service Criteria

• Goals and outcomes• Cloud Characteristics• What is Platform as a Service?

– Capabilities, Abstractions, and Scale• Platform as a Service Reference Architecture• Platform as a Service Evaluation Framework• Key Metrics• Quick Start Use Cases

Page 3: Selecting a cloud platform

PaaS Objectives for CIOs

Reduce time to market

Avoid operating expenses,

preserve capital

Rapidly deliver new capabilities

Cost effectively scale environment to meet business

demand

Increase operational efficiency

Reduce data center footprint

Re-use existing investments

Provide access to all devices,

customers, and partners

Integrate with other Web and Cloud

Applications

Page 4: Selecting a cloud platform

What is Platform as a Service?

Page 5: Selecting a cloud platform

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 6: Selecting a cloud platform

PaaS Objectives for Developers and Infrastructure Specialists

• Ensure application satisfies consumer demand while maximizing resource utilization

• Scale workload processing and increase performance while minimizing infrastructure spend

• Allocate, provision, monitor, manage, and administer resources across multiple tenants, nodes, and locations

• Deploy on preferred topology that meets deterministic performance requirements (e.g., replication, utilization, latency, bandwidth, and coherency)

6

Page 7: Selecting a cloud platform

• 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 8: Selecting a cloud platform

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 9: Selecting a cloud platform

ResourceTier

Cloud Scale

Functional Role

Client Tier

Integration Services

Integration ServicesResourceServices

Functional Role

Presentation and Mashups

Functional RoleFunctional

code

Presentation RolePresentation and

MashupsPresentation and Mashups

ResourceServices

Private Applications

Public Cloud Services

Business ProcesBusiness

ProcessBusiness ProcessBusiness Process and

Business Rules

Page 10: Selecting a cloud platform

Bridging CloudsMobile

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 ApplicationWeb

applicationEndpoint

Page 11: Selecting a cloud platform

Domain Specific Platform as a ServiceVertical Application 3

Ma

na

ged

by Paa

S

Ve

rtical S

um

mit

OS/Hypervisor

Containers

Hardware

Programming Languages

Frameworks

App Source Code

App Data

Ve

rtical A

PI

Domain Services

Domain Artifacts

App Configuration

Domain Services

Domain Artifacts

App Source Code

App Data

App Configuration

App Source Code

App Data

App Configuration

Vertical Application 1 Vertical Application 2

Page 12: Selecting a cloud platform

Cloud Application Platform Shared Middleware Services

Page 13: Selecting a cloud platform

Core Services in WSO2 StratosPlus core cloud services

– Stratos Controller– Elastic Load Balancer– Deployment Synchronizer (now with SVN support)– Ghost Deployer– Billing and Metering– Distributed Cloud Logging– Column Storage Services (CSS) and Relational Storage

Services (RSS)• Based on Cassandra and MySQL

– Google Apps Integration

Page 14: Selecting a cloud platform

PaaS Evaluation Framework

• Cloud Characteristics• Cloud Dimensions• Production Ready• DevOps Activities and Phases• Cloud Architecture• Platform Services• Programming Model

Page 15: Selecting a cloud platform

PaaS Evaluation FrameworkCloud Characteristics• On-demand self-service• Rapid Elasticity• Resource Pooling• Measured service / pay-as-you go consumption

Page 16: Selecting a cloud platform

PaaS Evaluation FrameworkCloud Dimensions• Sharing

– Private / Public / Community• Responsibility

– Internal / External• Location

– On-premise / outsourced

Page 17: Selecting a cloud platform

PaaS Evaluation FrameworkProduction Ready• PaaS Maturity• Suitability for enterprise and mission critical use

– Service level agreement (SLA) quality– Quality of Service warranted by the service provider

• Service level management capabilities– Resource monitoring and management– Resource quota and performance management– Traffic orchestration

Page 18: Selecting a cloud platform

PaaS Evaluation FrameworkDevOps Activities and Phases• Automated provisioning, self-service configuration,

continuous integration, continuous delivery, automated release management, incremental testing

• PaaS integration with on-premise software development life-cycle tooling

• Automated governance including:– Service catalogue and service tiers– Demand and capacity management– Life-cycle management– Infrastructure authority integration

Page 19: Selecting a cloud platform

PaaS Evaluation Framework

Cloud Architecture• Tenancy, dynamic discovery, and distributed cache• Fine-grained metering, billing, and reporting of

business entities, activities, and interactions• Scale discrete application service instances instead of

scaling monolithic application instances• Shared nothing architecture, Thirteen Dwarf Patterns,

parallel processing, resource coordination• Cloud service provisioning and load balancer

Page 20: Selecting a cloud platform

PaaS Evaluation FrameworkPlatform Services• Presentation services• Application and service container services• Business process and business rule services• Integration services and message brokers• Composite application services (i.e. mashups and orchestration)• Complex event processing services• Data access and persistence services• Development governance• Application life-cycle management• Automated run-time governance services• Policy registry and repository services• Identity management• Security• Service level management• Compute, network, and storage infrastructure services

Page 21: Selecting a cloud platform

PaaS Evaluation FrameworkProgramming 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 22: Selecting a cloud platform

Platform Comparison

http://blog.cobia.net/cobiacomm/2011/11/02/paas-evaluation-framework-for-cios-and-architects/

January 2012 Scorecard Results

Page 23: Selecting a cloud platform

Platform ComparisonJanuary 2012 Scorecard Results

Page 24: Selecting a cloud platform

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 25: Selecting a cloud platform

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 26: Selecting a cloud platform

Quick Start Use Cases

DevOps Tooling and On-demand self-service• Use Cases

– Rapidly provision application environment– Rapidly provision application tenant– Allocate, provision, monitor, manage, and administer

resources across multiple tenants, nodes, and locations– Develop complex, composite integrated applications

• Key metrics– Time to create new application environment– Time to redeploy application

Page 27: Selecting a cloud platform

Quick Start Use Cases

Automated Governance• Use Cases

– Create users and configure rights– Deploy on preferred topology that meets deterministic

performance requirements (e.g., replication, utilization, latency, bandwidth, and coherency)

– Create service throttling and security governance (XACML) policies

• Key Metrics– Time and effort required integrating business process, event

processor – creating a complex app.– Time and effort required to apply policy across tenant(s)

Page 28: Selecting a cloud platform

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)

Page 29: Selecting a cloud platform

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

Page 30: Selecting a cloud platform

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 31: Selecting a cloud platform

Contact us:http://wso2.com/contact/

Follow us:

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

Follow us:

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

Page 32: Selecting a cloud platform

lean . enterprise . middleware