Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design...

19
Implementation and Usage Aspects of a Private JEE Cloud SI-SE 2013 Peter Schnorf, Platform Service Architecture January, 2013

Transcript of Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design...

Page 1: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

Implementation and Usage Aspects of a Private JEE Cloud

SI-SE 2013

Peter Schnorf, Platform Service Architecture January, 2013

Page 2: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

Content

CS Platform Concepts Cloud Context Design Work for a Private

JEE PaaS Proof of Concept Some Design Details

January, 2013 Peter Schnorf, Platform Service Architecture slide 2

Page 3: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

CS Platforms Standardize, build once, automate and reuse

Application Specific Logic GUI, Business Logic, DB Schemas, Configuration, etc.

Infrastructure Design/Configuration

HW, OS, Middleware, Network System Management setup and processes Operating manual Development tools and processes Security concept and processes Integration concept and processes

January, 2013 Peter Schnorf, Platform Service Architecture slide 3

Standardize Build once Automate Reuse

CS Platform Set of integrated technical components, processes, and guidelines for application development and operation

Application Platform (AP) Specialized for similar applications, built

on hosting platforms (Java EE, DotNET, Data Warehouse, Mainframe PL/1)

Hosting Platforms Provide generic services

(Computation, Persistence)

Page 4: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

CS Platforms Benefits Benefits of standardization and upfront investment in infrastructure stack/processes

Objectives Design, build and test standard

infrastructure stack (including middleware) once – “Sharing the stack“: Amortize over many

applications

Standardize interfaces between applications and infrastructure

Design well-defined, highly automated processes using standardized ecosystems

Strict release and whole platform lifecycle management (all components/processes at once)

Global availability

Benefits Lower cost

– Reduced development, maintenance, and support cost for applications and infrastructure

Better quality – Increased infrastructure and application

stability

Lower risk – No end-of-life technologies and

components in data center – Increased application security – Reduced development risk

Enhanced capability – Shorter time-to-market – Global deployment of applications

January, 2013 Peter Schnorf, Platform Service Architecture slide 4

Page 5: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

Cloud Computing at Credit Suisse - Deliver in Platform Offerings

January, 2013 Peter Schnorf, Platform Service Architecture slide 5

SharePoint Microsoft

JAP* Java EE WebLogic

DWH* Oracle

DAP* .NET

Mainframe* IBM DHP*

Oracle, SQLServer, Sybase CHP*

Linux (RedHat) Windows CSV

ESX Hypervisor

Software as a Service

(SaaS)

Applications Applications

Platform as a Service

(PaaS) Application Platform

Database Hosting Platform

Application Platform

DB Hosting Platform

Infrastructure as a Service

(IaaS)

Compute Hosting Platform

Hardware

Compute Hosting Platform

Hardware

* CS Platforms

Page 6: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

General Cloud Characteristics*

January, 2013 Peter Schnorf, Platform Service Architecture slide 6

• self-service • rent/return capacity • pay as you go

• process automation • sharing/virtualization • standardized machines & stacks

• rapid provisioning • elasticity for applications • measured usage

Data Center

Services

Clients

* NIST: High Scalability, Rapid Elasticity, Sharing and Multi-Tenancy, Measured Usage, Self-Service On-Demand

by Amazon, Google, Microsoft, etc.

Page 7: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

Sum of Peaks vs. Peak of Sums Example: JAP Requests on a Typical Day

January, 2013 Peter Schnorf, Platform Service Architecture slide 7

Number of HTTP requests in current JAP (prod in CH) sum of peaks: ~fixed allocated capacity today peak of sums: ~dynamically allocated potential capacity peak in JAP Cloud

sum of peaks

perfect distribution (all requests divided by number of time intervals)

peak of sums

Page 8: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

Importance of Standardization

January, 2013 Peter Schnorf, Platform Service Architecture slide 8

Page 9: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

JAP Cloud Design Phase

January, 2013 Peter Schnorf, Platform Service Architecture slide 9

Goals: provide conceptual basis for next major release • establish mind set and agree on

vision and use cases • develop concepts and proof of

concepts • trial migrations of applications • look at market, including vendor

contacts

Working group Broad participation: • Operation • System Engineering • IT Architecture • Application Development

PoC Test bed for: • trying out of engineering and operation concepts/ideas • first application migration studies • Web services and GUI protoype

Some Principles and Guidelines Standardization

enable efficient implementation/operation while supporting needed features for application delivery

Very fast provisioning enable elasticity in production and agile development for faster time to market and less cost

Use case oriented pursue low hanging fruit along requirements

Radical simplicity avoid complexity, do not try to optimize the last 10-20% in the beginning

Independence local decisions at deploy time, i.e. avoid dependencies on central infrastructures for speed and reliability

Automation and self-service reduce manual operation and pass some control to developers for speed and reliability,

Service APIs design infrastructure services (WS) for clean structure, separation of concerns, and programmatic automation

Reproducibility support fully reproducible orders for automated grow/shrink in production and prescribed releasing of development infrastructure during periods of inactivity ('elasticity in the large')

Page 10: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

Use Cases – Order Capacity in Dev/Test

Case: Order capacity in dev/test Consequences

• self-service • order entire blueprints along JAP

reference architecture incl. presentation, business, and data tier interactively or programmatically

• specify elasticity requirements • simplified specification choices only • very fast order fulfillment

(seconds/minutes) • blueprint specifications can be

stored/reloaded • sizing to be established interactively by

client (non trivial) but help for that process is offered

• result: number of virtual servers running order compliant JEE or DB stack ready for application component deployment

• need pre-provisioning of servers for very fast self-service and elasticity tests

• need pre-assembly and pre-provisioning of VMs with full infra stack or template cloning

• need capacity planning for optimized pre-provisioning

• need automated capacity and placement management at provisioning time for self-service and elasticity with affinity constraints

• need automated inventory for automated capacity/placement management and storage of blueprint specifications

• need simplified client choices to enable simplified management algorithms/processes

• need technical siz ing support (tbd.)

January, 2013 Peter Schnorf, Platform Service Architecture slide 10

Page 11: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

PoC Demo – Order/Provision JAP Blueprint

January, 2013 Peter Schnorf, Platform Service Architecture slide 11

Page 12: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

HW/ESXi

HW/ESXi

... HW/ESXi

HW/ESXi

HW/ESXi

HW/ESXi

HW/ESXi

HW/ESXi HW/ESXi

Oracle RAC node

WLS/ RHEL

DB

PoC: Order/Provision Blueprint – What is Happening?

January, 2013 Peter Schnorf, Platform Service Architecture slide 12

Presentation Tier

Test Zone

Business Tier

Intranet

Client Tier HTML

Data and Service Tier DHP Databases

ServiceBus synchronous, asynchronous, bulk services

Internal Applications

Strong Authentication *

Enterprise Beans

Servlets

Order: • 2 presentation tier nodes (not on same HW) • 2 business tier nodes (not on same HW) • 1 Oracle DB in RAC (with HA on RAC)

Page 13: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

CHP node

PoC Setup

January, 2013 Peter Schnorf, Platform Service Architecture slide 13

Data Center Test Zone JAP Cloud VMs

Load Balancer

VM

iDesktop

Eclipse

Web Browser

ESXi servers

HTTPS

HTTPS

Test Client HTTPS

JAP WLS on

CHP Linux VM

WLS on RedHat

Linux VM

JAP WLS on

CHP Linux VM

WLS on RedHat

Linux VM

JAP WLS on

CHP Linux VM

WLS on RedHat

Linux VM

Oracle RAC on

CHP Linux VM

Oracle RAC on RedHat

Linux VM …

Presentation Business/ Service

Data

WS JAP

WLS on CHP

Linux VM

WLS on RedHat

Linux VM

WS

HTTPS VMwarevCenter Server

VM

Oracle on RedHat

Linux VM

SSH SCP etc.

JDBC

Page 14: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

PoC Demo – Deploy App to Blueprint

January, 2013 Peter Schnorf, Platform Service Architecture slide 14

Page 15: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

PaaS IaaS

manage entire blueprints manage single, unrelated VMs

rely on IaaS for capacity mgt → provide planning input to IaaS

capacity mgt of large server park → support different classes of reqs

horz. elasticity per application → capacity range as hint to IaaS

horz. elasticity within server park → minimize free pool

HA in middleware

HA on HW, hypervisor or OS level

IT DR in middleware IT DR in hypervisor and storage

monitoring & logging for PaaS components

monitoring & logging for IaaS components (hypervisor, OS, ...)

high-level measurements → # requests, E2E

low-level measurements → CPU, memory, I/O

manage PaaS CMDB items → blueprints & PaaS specific components

manage IaaS CMDB items → VMs & IaaS specific components

Design Details – Layering

January, 2013 Peter Schnorf, Platform Service Architecture slide 15

events

JAP components & blueprints

CHP components & VMs

Web services

PaaS (e.g. JAP)

IaaS (e.g. CHP)

IaaS CMDB

PaaS CMDB

example WS: JAP order • single JAP VM • fixed-size memory • server anti-affinities • DC affinities • no HA • no IT DR

Page 16: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

Design Details – Automation

Characteristics Typically a workflow calling a series of

coarse-grain steps (which call more fine-grain steps, ...)

Very limited possibility to react to individual step failures

The more involved infrastructure parts the higher the risk of failures

Individual steps may take a long time Inventory must adequately reflect

actions taken Stability and well defined results are

vital Must sustain high load

Possible Consequences Use orchestration tool or programmatic logic calling well

defined infrastructure services (typically Web Services) Use design guidelines/governance/repository for

layering/syntax/semantics of infra services (SOA) Deliver services as part of Platform releases (following

Platform life cycle) Use asynchronous calls (with persistence) wherever

possible Design for step outcomes like: 'finished ok', 'cancelled

and cleaned up', 'will finish eventually' Use design to avoid need for atomicity (there cannot be

transaction guarantees) Avoid serialization of long running steps, design for

parallelism Provide 'undo' action of workflows (and individual steps

if possible) for worst case scenarios Provide reporting, notification, and control services for

actions that will 'eventually finish'

January, 2013 Peter Schnorf, Platform Service Architecture slide 16

Page 17: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

Cloud is More than Virtualization! Impact for Application Development

January, 2013 Peter Schnorf, Platform Service Architecture slide 17

Cloud Aspect Paradigm Shift for AD

Resource abstraction towards clients (compute, storage, and network resources)

– Order capacity instead of HW – Choose from simple, standard options – Make no assumptions about placement (e.g. host names)

Rapid provisioning with self-service – Test early, test often, explore – Test individually in entire application context – Rapid prototyping → early business feedback

Reproducible provisioning, configuration & deployment (persistent specifications with infrastructure service APIs)

– fully automatable test cycles (provision & build test env, run tests, decommission test env)

– quickly reproduce production problems in UAT – exploit horz. elasticity in production

Rental model (pay as you go) – Significantly lower entry cost (start small and quick) – Order and pay only what you need – Return what you currently do not need anymore

Elasticity (grow and shrink capacity on demand)

– Horizontal scalability – Statelessness – Fast startup, graceful shutdown of components

Page 18: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

Summary (Internal Cloud)

'Cloud' is much more than technology: design, processes, guidelines, governance

Benefits vary from IaaS to PaaS but are always in the big picture, i.e. for large parts of the company and not for single, individual projects alone

No Cloud without standardization, restriction, simplification, automation, size − and overall design → fit applications to cloud and support them with novel services

Biggest obstacle: inertia in organization − traditional mind set ('we always did it like that') − not invented here ('we know ourselves what is best') − open or implicit resistance ('I do not help to optimize my job away')

Use external references as benchmark, use external help if necessary to overcome internal inertia

Have a strategy based on top-down design and main use cases

January, 2013 Peter Schnorf, Platform Service Architecture slide 18

Page 19: Implementation and Usage Aspects of a Private JEE Cloud · JEE PaaS Proof of Concept Some Design Details Peter Schnorf, Platform Service Architecture January, 2013 slide 2 ... HW,

Q & A

January, 2013 Peter Schnorf, Platform Service Architecture slide 19