18.07.2013 Views

Using Java in Credit Suisse - Java Community Process Program

Using Java in Credit Suisse - Java Community Process Program

Using Java in Credit Suisse - Java Community Process Program

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

JCP EC Meet<strong>in</strong>g: May 14+15, 2013<br />

<strong>Us<strong>in</strong>g</strong> <strong>Java</strong> <strong>in</strong> <strong>Credit</strong> <strong>Suisse</strong><br />

Introduction to CS Standard Platforms<br />

Infrastructure Architecture & Strategy,<br />

Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)<br />

May 15, 2013


<strong>Credit</strong> <strong>Suisse</strong> Group today – Key Facts (02/2013)<br />

Global bank headquartered <strong>in</strong> Zurich, serv<strong>in</strong>g clients <strong>in</strong> private bank<strong>in</strong>g,<br />

<strong>in</strong>vestment bank<strong>in</strong>g and asset management.<br />

Registered shares of <strong>Credit</strong> <strong>Suisse</strong> Group AG (CSGN) are listed <strong>in</strong> Switzerland<br />

(SIX) and as American Depositary Shares (CS) <strong>in</strong> New York (NYSE).<br />

Total number of employees: 47,400.<br />

The Group’s long-term rat<strong>in</strong>gs are: Moody’s A2, Standard & Poor’s A, Fitch<br />

Rat<strong>in</strong>gs A.<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 2


Outl<strong>in</strong>e<br />

1<br />

<strong>Credit</strong> <strong>Suisse</strong> Platforms<br />

2 <strong>Java</strong> Application Platform<br />

3 <strong>Java</strong> Our Vision: Application JAP <strong>in</strong> Platform the Cloud<br />

3 4 A Customer’s Perspective<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013<br />

3


Outl<strong>in</strong>e<br />

1<br />

<strong>Credit</strong> <strong>Suisse</strong> Platforms<br />

2 <strong>Java</strong> Application Platform<br />

3 <strong>Java</strong> Our Vision: Application JAP <strong>in</strong> Platform the Cloud<br />

3 4 A Customer’s Perspective<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013<br />

4


Motivation Beh<strong>in</strong>d Platforms<br />

Recurr<strong>in</strong>g themes <strong>in</strong> application development and operations<br />

What <strong>in</strong>frastructure<br />

software (SW)<br />

components to use<br />

(and which versions)?<br />

Which hardware (HW) components<br />

and system setup to use to achieve<br />

the necessary performance,<br />

availability, stability, security, IT DR<br />

level, etc. at the right price?<br />

Which <strong>in</strong>frastructure<br />

SW component<br />

features to use?<br />

How to monitor correct<br />

behavior and f<strong>in</strong>d/fix<br />

<strong>in</strong>correct behavior?<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)<br />

How to communicate<br />

with other application<br />

components?<br />

How to stay current <strong>in</strong><br />

technology life cycle<br />

and avoid out-ofsupport<br />

legacy?<br />

How to manage changes to<br />

<strong>in</strong>frastructure SW<br />

components as well as to<br />

application components?<br />

May 15, 2013<br />

5


CS Platforms – Motivation and Def<strong>in</strong>itions<br />

Infrastructure: Standardize, Build Once, Automate, Reuse<br />

standardize<br />

build once<br />

automate<br />

reuse<br />

Application Specific Logic<br />

GUI, Bus<strong>in</strong>ess Logic, DB Schemas, Configuration, etc.<br />

Infrastructure Design/Configuration<br />

HW, OS, Middleware, Network<br />

System Management setup and processes<br />

Operat<strong>in</strong>g manual<br />

Development tools and processes<br />

Security concept and processes<br />

Integration concept and processes<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)<br />

CS Platform<br />

Set of <strong>in</strong>tegrated<br />

technical components,<br />

processes, guidel<strong>in</strong>es for<br />

the development and<br />

operation of applications<br />

Application Platform (AP)<br />

specialized for similar applications,<br />

built on host<strong>in</strong>g platforms<br />

Host<strong>in</strong>g Platforms<br />

provide generic services<br />

computation CHP<br />

persistence DHP<br />

May 15, 2013<br />

6


CS Platforms - Portfolio Management Drivers<br />

Benefits of manag<strong>in</strong>g a platform lifecycle <strong>in</strong>clude <strong>in</strong>creased stability and reduced cost<br />

Applications<br />

Infrastructure<br />

SW<br />

Components<br />

Core OS OS Core Version 1 OS Core Version 2 OS Core Version<br />

Hardware<br />

Application A<br />

Release Application 1 A<br />

Release Application 2 A<br />

Release …<br />

Component A<br />

Version Component 1 A<br />

Version Component 2 A<br />

Version …<br />

Application B<br />

Release Application 1 B<br />

Release Application 2 B<br />

Release …<br />

Component B<br />

Version Component 1 B<br />

Version Component 2 B<br />

Version …<br />

Application ..<br />

Release Application 1 ..<br />

Release Application 2 ..<br />

Release …<br />

Component ...<br />

Version Component 1 ...<br />

Version Component 2 ...<br />

Version …<br />

Server Model 1 Server Model 2 Server Model …<br />

Uncoord<strong>in</strong>ated lifecycles <strong>in</strong> technical stack Comb<strong>in</strong>atorial<br />

explosion of dependencies, support, and ma<strong>in</strong>tenance<br />

costs<br />

AR i-2<br />

AR i-1<br />

AR i<br />

year year+1 year+2 year+3 year+4<br />

requirements &<br />

project setup<br />

release eng<strong>in</strong>eer<strong>in</strong>g<br />

pilot applications<br />

standard release<br />

new applications<br />

phase-out<br />

application migration<br />

EOL<br />

Platform<br />

Release Mgmt.<br />

Applications<br />

Host<strong>in</strong>g<br />

Platform<br />

Infrastructure<br />

SW<br />

Components<br />

Core OS<br />

Virtualization<br />

Hardware<br />

Application A<br />

Release Application 1 A<br />

Release Application 2 A<br />

Release …<br />

CHP Release 1<br />

Component A<br />

Version 1<br />

Component B<br />

Version 1<br />

Component C<br />

Version 1<br />

OS Core Version 1<br />

Server Model 1<br />

Server Model 2<br />

Application B<br />

Release Application 1 B<br />

Release Application 2 B<br />

Release …<br />

CHP Release 2<br />

Component A<br />

Version 2<br />

Component B<br />

Version 2<br />

Component C<br />

Version 2<br />

OS Core Version 2<br />

Server Model 2<br />

Server Model 3<br />

Application ..<br />

Release Application 1 ..<br />

Release Application 2 ..<br />

Release …<br />

CHP Release 3<br />

Component A<br />

Version 3<br />

Component B<br />

Version 3<br />

Component C<br />

Version 3<br />

OS Core Version 3<br />

VM Layer Version 1 VM Layer Version 2 VM Layer Version 3<br />

Server Model 3<br />

Server Model 4<br />

Managed stack No dependency explosion, <strong>in</strong>creased<br />

stability, capacity management, less ma<strong>in</strong>tenance costs,<br />

less support<br />

Key Benefits of Platform Lifecycle Mgmt.<br />

Applications (and platforms) stay <strong>in</strong> technology lifecycle and ma<strong>in</strong>stream (no<br />

"rotten" components)<br />

Technical upgrades due to lifecycle mgmt. of platform are comb<strong>in</strong>ed with update<br />

on bus<strong>in</strong>ess functionality<br />

Constant decommission<strong>in</strong>g of out-dated platform releases identifies out-of-use<br />

applications<br />

New releases of platforms (with new features) have no impact on productive<br />

applications (no need to migrate; no stability impact due to changes)<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 7


CS Platforms Overview<br />

DBaaS<br />

Applications<br />

Application Platform<br />

Database Host<strong>in</strong>g Platform<br />

Compute Host<strong>in</strong>g Platform<br />

Hardware<br />

PaaS<br />

IaaS<br />

Reduce development risk by offer<strong>in</strong>g<br />

standardized, <strong>in</strong>tegrated, and tested<br />

<strong>in</strong>frastructure stack and related processes<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)<br />

Application Platforms (JAP, DAP, DWH)<br />

− Specialized for application areas with similar needs<br />

− Support standardized application development and<br />

operations<br />

− Provide enhanced and additional services on top of<br />

generic Host<strong>in</strong>g Platforms<br />

− Platform costs are amortized by cost sav<strong>in</strong>gs across<br />

large enough application portfolio us<strong>in</strong>g it<br />

Database Host<strong>in</strong>g Platform (DHP)<br />

− Offer DB service and backend system with decoupled<br />

life cycle<br />

Compute Host<strong>in</strong>g Platform (CHP)<br />

− Underly<strong>in</strong>g <strong>in</strong>frastructure basis for directly deployed<br />

applications (typically 3 rd party), Database Host<strong>in</strong>g<br />

Platforms as well Application Platforms<br />

− Abstraction of <strong>in</strong>frastructure services for <strong>in</strong>dependent<br />

lifecycles of <strong>in</strong>frastructures and applications<br />

May 15, 2013<br />

8


CS Platform Benefits<br />

Benefits of standardization and upfront <strong>in</strong>vestment <strong>in</strong> <strong>in</strong>frastructure stack/processes<br />

Objectives<br />

Design, build and test standard <strong>in</strong>frastructure stack<br />

(<strong>in</strong>clud<strong>in</strong>g middleware) once<br />

− “Shar<strong>in</strong>g the stack“: Amortize over many<br />

applications<br />

Standardize <strong>in</strong>terfaces between applications and<br />

<strong>in</strong>frastructure<br />

Design well-def<strong>in</strong>ed, highly automated processes<br />

us<strong>in</strong>g standardized ecosystems<br />

Strict release and whole platform lifecycle<br />

management (all components/processes at once)<br />

Global availability<br />

Benefits<br />

Lower cost<br />

− Reduced development, ma<strong>in</strong>tenance, and<br />

support cost for applications and <strong>in</strong>frastructure<br />

Better quality<br />

− Increased <strong>in</strong>frastructure and application stability<br />

Lower risk<br />

− No end-of-life technologies and components <strong>in</strong><br />

data center<br />

− Increased application security<br />

− Reduced development risk<br />

Enhanced capability<br />

− Shorter time-to-market<br />

− Global deployment of applications<br />

Platform Contract: Adherence to Platform Release and Lifecycle Management<br />

New applications and application upgrades must use the latest major platform release available<br />

All applications us<strong>in</strong>g a platform release x must migrate to the latest platform release before the end-of-life<br />

date of release x is reached<br />

Use the roadmaps to plan the releases of the applications<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 9


Outl<strong>in</strong>e<br />

1<br />

<strong>Credit</strong> <strong>Suisse</strong> Platforms<br />

2 <strong>Java</strong> Application Platform<br />

3 <strong>Java</strong> Our Vision: Application JAP <strong>in</strong> Platform the Cloud<br />

3 4 A Customer’s Perspective<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013<br />

10


JAP Facts and Figures<br />

Hub and Global Platform Management Zurich<br />

Hub NY<br />

Hub London<br />

Satellite Luxemburg<br />

Hub S<strong>in</strong>gapore<br />

JAP is an Application Platform based on<br />

<strong>Java</strong> EE standards specialized for Web<br />

applications (both Intranet and Internet fac<strong>in</strong>g)<br />

and transactional systems<br />

JAP is provid<strong>in</strong>g services to more than 300<br />

applications of all sizes, worldwide and across<br />

all bus<strong>in</strong>ess units<br />

Geographical presence<br />

− Platform centrally managed out of Zurich<br />

− 4 hubs provid<strong>in</strong>g consult<strong>in</strong>g services as<br />

well as complete <strong>in</strong>tegration test, UAT and<br />

production environments<br />

Lifecycle & Availability<br />

− 3 major releases <strong>in</strong> parallel<br />

− AR 7 is the most recent release<br />

− AR 5 release <strong>in</strong> phase out<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 11


JAP Model<br />

Services provided by JAP<br />

− Platform Product Mgmt. & Governance: Drives<br />

product development and release & lifecycle<br />

− Application Development Support: Consultants guides<br />

projects through entire development processes, <strong>Java</strong><br />

development support and tra<strong>in</strong><strong>in</strong>gs<br />

− Platform Operations: Cost-efficient standardized and/or<br />

automated processes accord<strong>in</strong>g to a def<strong>in</strong>ed set of OLA’s<br />

Key components to provide these services<br />

− Technical Components: <strong>Java</strong> EE based software stack<br />

pre-<strong>in</strong>tegrated with security, middleware, databases etc.<br />

− Host<strong>in</strong>g: Shared hardware resources accord<strong>in</strong>g to<br />

production guidel<strong>in</strong>es<br />

− Tool-cha<strong>in</strong>: Automated processes from configuration<br />

management, centralized builds, package generation to<br />

deployment<br />

− Architecture, Guidel<strong>in</strong>es & Documentation: security,<br />

IT-DR, HA designed and provided for all applications,<br />

transaction process<strong>in</strong>g <strong>in</strong>cl. patterns, scalability via LBs<br />

and scale-out<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 12


# Applications<br />

Platform Lifecycle <strong>in</strong> Action<br />

200<br />

150<br />

100<br />

50<br />

0<br />

Jan-05<br />

Applications benefit <strong>in</strong> terms of<br />

− Reduction of 30% on project costs<br />

(CTB budget)<br />

− Reduction of 35% on operat<strong>in</strong>g costs<br />

(RTB budget)<br />

JAP Hub Zurich realized<br />

− Yearly cost avoidance of 48.5 mCHF<br />

− 1 to 7 consolidation ratio on shared servers<br />

Mar-05<br />

Tower 4/5<br />

Tower 1/2<br />

Release 5<br />

Release 4.1<br />

Release 4.0<br />

Release 3<br />

Release 2<br />

May-05<br />

Jul-05<br />

Sep-05<br />

Nov-05<br />

Jan-06<br />

Mar-06<br />

May-06<br />

Jul-06<br />

Sep-06<br />

Nov-06<br />

Productive Application Statistics<br />

2005 2006 2007 2008 2009<br />

Jan-07<br />

Mar-07<br />

May-07<br />

Jul-07<br />

Sep-07<br />

250<br />

200<br />

150<br />

100<br />

50<br />

0<br />

Nov-07<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 13<br />

H2<br />

2005<br />

Jan-08<br />

Mar-08<br />

H1<br />

2006<br />

May-08<br />

H2<br />

2006<br />

Jul-08<br />

H1<br />

2007<br />

Sep-08<br />

H2<br />

2007<br />

Nov-08<br />

H1<br />

2008<br />

Jan-09<br />

Mar-09<br />

H2<br />

2008<br />

May-09<br />

H1<br />

2009<br />

Jul-09<br />

H2<br />

2009<br />

Sep-09<br />

H1<br />

2010<br />

Nov-09<br />

H2<br />

2010<br />

Jan-10


JAP Technical Stack (JAP AR 7)<br />

Layer 3 Application and Other Libraries<br />

Layer 2 JAP Technical Infrastructure Package (TIP)<br />

Common CS Internal and 3 rd Party Libraries<br />

Core Services Security<br />

Oracle DB 11g Client<br />

JMS 1.1<br />

IBM MQ Series<br />

JEE Runtime<br />

Oracle WebLogic Server (WLS) 11g Oracle WebLogic Portal (WLP) 11g *<br />

<strong>Java</strong> Runtime Environment (JRE)<br />

Layer 1 Infrastructure<br />

Application (Code and Configuration)<br />

Optional Components/Extensions<br />

Red Hat L<strong>in</strong>ux 5<br />

VMWare ESX<br />

X86 Hardware<br />

Web Entry API<br />

OnePKI 3.0 (S<strong>in</strong>gle Sign On)<br />

<strong>Java</strong> Development Kit (JDK)<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)<br />

Ecosystems<br />

Monitor<strong>in</strong>g Services<br />

I3 <strong>Java</strong> Agent<br />

i3 URL Monitor<strong>in</strong>g<br />

BMC Patrol<br />

SiteScope<br />

Build & Deployment<br />

SSDS<br />

JAP Order<strong>in</strong>g Tool<br />

QMB Build Server<br />

* on exceptional basis<br />

May 15, 2013<br />

14


JAP Reference Architecture<br />

Client Tier<br />

Entry Tier<br />

Presentation Tier<br />

Bus<strong>in</strong>ess Tier<br />

Data and Service Tier<br />

Internal Applications Internet fac<strong>in</strong>g Applications<br />

Strong Authentication *<br />

Web Pages<br />

Servlets<br />

CSXB<br />

synchronous,<br />

asynchronous,<br />

bulk services<br />

Intranet<br />

Enterprise Beans<br />

Customer<br />

Strong Authentication<br />

JSF Web Pages<br />

Web Pages<br />

JSF Pages Entry Server<br />

JSF Servlets Pages Servlets<br />

DHP<br />

Databases<br />

CH: SeSZ/BaSz<br />

RoW: Intranet<br />

DMZ<br />

Public<br />

Anonymous<br />

Enterprise<br />

Beans<br />

DHP<br />

Databases<br />

Entry<br />

DMZ<br />

DMZ<br />

Public Data<br />

Internet<br />

DMZ Public<br />

Legend<br />

Internal<br />

External<br />

Optional<br />

Remarks<br />

Communication<br />

subject to further<br />

restrictions<br />

* Strong<br />

authentication<br />

based on CS PKI<br />

certificates<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 15


Outl<strong>in</strong>e<br />

1<br />

<strong>Credit</strong> <strong>Suisse</strong> Platforms<br />

2 <strong>Java</strong> Application Platform<br />

3 <strong>Java</strong> Our Vision: Application JAP <strong>in</strong> Platform the Cloud<br />

3 4 A Customer’s Perspective<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013<br />

16


General Cloud<br />

Characteristics *<br />

Clients<br />

Services<br />

Data Center<br />

by Amazon, Google,<br />

Microsoft, etc.<br />

• self-service<br />

• rent/return capacity<br />

• pay as you go<br />

• rapid provision<strong>in</strong>g<br />

• elasticity for applications<br />

• measured usage<br />

• process automation<br />

• shar<strong>in</strong>g/virtualization<br />

• standardized mach<strong>in</strong>es & stacks<br />

* NIST: High Scalability, Rapid Elasticity, Shar<strong>in</strong>g and Multi-<br />

Tenancy, Measured Usage, Self-Service On-Demand<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 slide 17


Cloud is More than Virtualization!<br />

Impact for Application Development<br />

Cloud Aspect Paradigm Shift for AD<br />

Resource abstraction/simplification<br />

towards clients (compute, storage,<br />

network resources)<br />

– Order capacity <strong>in</strong>stead of HW<br />

– Choose from simple, standard options<br />

– Make no assumptions about placement (e.g. host names)<br />

Rapid provision<strong>in</strong>g with self-service – Test early, test often, explore<br />

Reproducible provision<strong>in</strong>g,<br />

configuration & deployment (persistent<br />

specifications with <strong>in</strong>frastructure service<br />

APIs)<br />

– Test <strong>in</strong>dividually <strong>in</strong> entire application context<br />

– Rapid prototyp<strong>in</strong>g early bus<strong>in</strong>ess feedback<br />

– fully automatable 'on demand' test cycles (provision & build<br />

entire test env, run tests, decommission test env)<br />

– quickly reproduce production problems <strong>in</strong> UAT<br />

– exploit horizontal elasticity <strong>in</strong> production and ma<strong>in</strong>tenance<br />

Rental model (pay as you go) – Significantly lower entry cost (start small and quick)<br />

– Order and pay only what you need<br />

– Return what you currently do not need anymore<br />

Elasticity (grow and shr<strong>in</strong>k capacity on<br />

demand)<br />

– Horizontal scalability<br />

– Statelessness<br />

– Fast startup, graceful shutdown of components<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 slide 18


PaaS – Platform as a Service<br />

Cloud for Development and Operation of Applications<br />

PaaS<br />

Application services based on<br />

high-level doma<strong>in</strong> abstractions<br />

(reference architectures, conta<strong>in</strong>er<br />

frameworks, progr. lang. artifacts, etc.)<br />

IaaS<br />

Generic <strong>in</strong>frastructure services<br />

based on low-level HW/OS<br />

abstractions<br />

manage entire bluepr<strong>in</strong>ts manage s<strong>in</strong>gle, unrelated VMs<br />

rely on IaaS for capacity mgt<br />

→ provide plann<strong>in</strong>g <strong>in</strong>put to IaaS<br />

horz. elasticity per application<br />

→ capacity range as h<strong>in</strong>t to IaaS<br />

capacity mgt of large server park<br />

→ support different classes of reqs<br />

horz. elasticity with<strong>in</strong> server park<br />

→ m<strong>in</strong>imize free pool<br />

HA <strong>in</strong> middleware HA on HW, hypervisor or OS level<br />

IT DR <strong>in</strong> middleware IT DR <strong>in</strong> hypervisor and storage<br />

monitor<strong>in</strong>g & logg<strong>in</strong>g for PaaS<br />

components<br />

high-level measurements<br />

→ # requests, E2E<br />

manage PaaS CMDB items<br />

→ bluepr<strong>in</strong>ts & PaaS specific components<br />

monitor<strong>in</strong>g & logg<strong>in</strong>g for IaaS<br />

components (hypervisor, OS, ...)<br />

low-level measurements<br />

→ CPU, memory, I/O<br />

manage IaaS CMDB items<br />

→ VMs & IaaS specific components<br />

PaaS (e.g. JAP)<br />

JAP components<br />

& bluepr<strong>in</strong>ts<br />

example WS:<br />

JAP order<br />

• s<strong>in</strong>gle JAP VM<br />

• fixed-size memory<br />

• server anti-aff<strong>in</strong>ities<br />

• DC aff<strong>in</strong>ities<br />

• no HA<br />

• no IT DR<br />

Web<br />

services<br />

CHP components<br />

& VMs<br />

IaaS (e.g. CHP)<br />

PaaS<br />

CMDB<br />

events<br />

IaaS<br />

CMDB<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 slide 19


PoC Demo – Order/Provision JAP Bluepr<strong>in</strong>t<br />

Use Case: Order Capacity <strong>in</strong> Dev/Test<br />

• self-service<br />

• order entire bluepr<strong>in</strong>ts along JAP reference architecture <strong>in</strong>cl.<br />

presentation, bus<strong>in</strong>ess, and data tier <strong>in</strong>teractively or<br />

programmatically<br />

• specify elasticity requirements<br />

• simplified specification choices only<br />

• very fast order fulfillment (seconds/m<strong>in</strong>utes)<br />

• bluepr<strong>in</strong>t specifications can be stored/reloaded<br />

• result: number of virtual servers runn<strong>in</strong>g order compliant JEE or DB<br />

stacks configured / <strong>in</strong>terconnected accord<strong>in</strong>g to reference architecture<br />

and ready for application component deployment<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 slide 20


PoC Demo – Deploy Application to Bluepr<strong>in</strong>t<br />

Use Case: Deploy Application Components <strong>in</strong> Dev/Test<br />

• self-service<br />

• specify deployable application and configuration components per bluepr<strong>in</strong>t tier<br />

• deploy components per tier or for entire bluepr<strong>in</strong>t<br />

• very fast deployment and activation of components (seconds/m<strong>in</strong>utes)<br />

<strong>in</strong>teractively or programmatically<br />

• semi-automated component wir<strong>in</strong>g<br />

• automated remote call setup when possible<br />

• manual conflict resolution<br />

• manual specification for miss<strong>in</strong>g standards<br />

• component specifications are reproducible (can be stored/reloaded); several<br />

deployable to same bluepr<strong>in</strong>t<br />

• result: specified application components deployed to specified tier(s),<br />

wired up, and activated (ready to be used <strong>in</strong> application client requests)<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 21


Outl<strong>in</strong>e<br />

1<br />

<strong>Credit</strong> <strong>Suisse</strong> Platforms<br />

2 <strong>Java</strong> Application Platform<br />

3 <strong>Java</strong> Our Vision: Application JAP <strong>in</strong> Platform the Cloud<br />

3 4 A Customer’s Perspective<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013<br />

22


Is <strong>Java</strong> EE ready for the Cloud?<br />

A Customer's Po<strong>in</strong>t of View − Some Questions<br />

Is VM template clon<strong>in</strong>g supported?<br />

− burnt-<strong>in</strong> assumptions about mach<strong>in</strong>e-specific configurations? (e.g. hostname hardwired <strong>in</strong> scripts)<br />

Is elasticity supported? (<strong>in</strong> general: dynamic automated bluepr<strong>in</strong>t management)<br />

− Grow<strong>in</strong>g: create and add <strong>in</strong>stance to bluepr<strong>in</strong>t<br />

rapid provision<strong>in</strong>g of a new <strong>in</strong>stance (<strong>in</strong>cl. application components) - e.g. VM template clon<strong>in</strong>g helps<br />

reproducible stack and configuration with own identity<br />

after provision<strong>in</strong>g: startup of conta<strong>in</strong>er and of application should be fast<br />

KPI: how long does it take until new <strong>in</strong>stance is ready to accept application requests<br />

− Shr<strong>in</strong>k<strong>in</strong>g: shutdown and remove <strong>in</strong>stance from bluepr<strong>in</strong>t<br />

block any new requests (not belong<strong>in</strong>g to active sessions)?<br />

session migration on demand? (some state might be hard to migrate to a different <strong>in</strong>stance, e.g. distributed trx state or local<br />

cache)<br />

other graceful starvation/shutdown measures? (<strong>in</strong>cl. standard events to application?)<br />

KPI: how long does it take until an <strong>in</strong>stance's capacity can be given back?<br />

− Connection/environment management<br />

can connection pools gracefully and transparently grow and shr<strong>in</strong>k? (i.e. without application <strong>in</strong>volvement)<br />

load balancer, monitor<strong>in</strong>g, log file mgt., etc. adjustable automatically?<br />

− Cluster<strong>in</strong>g<br />

dynamic ad hoc add<strong>in</strong>g/remov<strong>in</strong>g of an <strong>in</strong>stance to/from a conta<strong>in</strong>er cluster?<br />

avoid cross-site clusters (operational <strong>in</strong>dependence!); avoid cluster<strong>in</strong>g anyway as much as possible (except for HA)?<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 23


Is <strong>Java</strong> EE ready for the Cloud?<br />

A Customer's Po<strong>in</strong>t of View − Some Questions (cont.)<br />

Ma<strong>in</strong>tenance supported?<br />

− <strong>in</strong> place patch<strong>in</strong>g<br />

guaranteed backwards compatibility<br />

without reboot?<br />

− roll<strong>in</strong>g upgrade (similar to elasticity!)<br />

add new upgraded <strong>in</strong>stance, then shutdown an old one - or the other way around<br />

aga<strong>in</strong>: session migration on demand or other graceful shutdown measures?<br />

Resource management <strong>in</strong> shared environments?<br />

− heap size adjustable?<br />

− CPU and I/O requirements expressible by conta<strong>in</strong>er? -> standard way to pass that to JVM and from there to OS<br />

and to hypervisor<br />

− <strong>in</strong> general: standard <strong>in</strong>dication to hypervisors about memory usage for code that can be potentially shared across<br />

VMs<br />

Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB) May 15, 2013 24

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!