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
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