Using Java in Credit Suisse - Introduction to CS Standard Platforms Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and ...

Page created by Jeff Horton
 
CONTINUE READING
Using Java in Credit Suisse - Introduction to CS Standard Platforms Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and ...
JCP EC Meeting: May 14+15, 2013

  Using Java in Credit Suisse
  Introduction to CS Standard Platforms

Infrastructure Architecture & Strategy,
Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)
May 15, 2013
Using Java in Credit Suisse - Introduction to CS Standard Platforms Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and ...
Credit Suisse Group today – Key Facts (02/2013)
 Global bank headquartered in Zurich, serving clients in private banking,
 investment banking and asset management.
 Registered shares of Credit Suisse Group AG (CSGN) are listed in Switzerland
 (SIX) and as American Depositary Shares (CS) in New York (NYSE).
 Total number of employees: 47,400.
 The Group’s long-term ratings are: Moody’s A2, Standard & Poor’s A, Fitch
 Ratings A.

          Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)   May 15, 2013   2
Using Java in Credit Suisse - Introduction to CS Standard Platforms Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and ...
Outline

 1   Credit Suisse Platforms

 2   Java Application Platform

 3   JavaVision:
     Our  Application
                 JAP in
                      Platform
                        the Cloud

 3
 4   A Customer’s Perspective

          Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)   May 15, 2013   3
Using Java in Credit Suisse - Introduction to CS Standard Platforms Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and ...
Outline

 1   Credit Suisse Platforms

 2   Java Application Platform

 3   JavaVision:
     Our  Application
                 JAP in
                      Platform
                        the Cloud

 3
 4   A Customer’s Perspective

          Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)   May 15, 2013   4
Using Java in Credit Suisse - Introduction to CS Standard Platforms Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and ...
Motivation Behind Platforms
Recurring themes in application development and operations

      What infrastructure                              How to monitor correct
        software (SW)                                   behavior and find/fix                                  How to communicate
      components to use                                  incorrect behavior?                                   with other application
     (and which versions)?                                                                                         components?

      Which hardware (HW) components
                                                                                                               How to stay current in
      and system setup to use to achieve
                                                                                                                technology life cycle
         the necessary performance,
                                                                                                                  and avoid out-of-
      availability, stability, security, IT DR
                                                                                                                   support legacy?
         level, etc. at the right price?

                                                                                                              How to manage changes to
       Which infrastructure                                                                                       infrastructure SW
        SW component                                                                                           components as well as to
        features to use?                                                                                       application components?

             Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)                       May 15, 2013   5
Using Java in Credit Suisse - Introduction to CS Standard Platforms Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and ...
CS Platforms – Motivation and Definitions
Infrastructure: Standardize, Build Once, Automate, Reuse

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

                                               Infrastructure Design/Configuration
                                               HW, OS, Middleware, Network
                                               System Management setup and processes                           CS Platform
                                               Operating manual                                                Set of integrated
                                               Development tools and processes                                 technical components,
                                               Security concept and processes                                  processes, guidelines for
                                               Integration concept and processes                               the development and
                                                                                                               operation of applications

                              standardize                                                                   Application Platform (AP)
                              build once                                                                    specialized for similar applications,
                              automate                                                                      built on hosting platforms
                              reuse
                                                                                                            Hosting Platforms
                                                                                                            provide generic services
                                                                                                             computation CHP
                                                                                                             persistence DHP

           Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)                    May 15, 2013     6
Using Java in Credit Suisse - Introduction to CS Standard Platforms Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and ...
CS Platforms - Portfolio Managem ent Drivers
Benefits of managing a platform lifecycle include increased stability and reduced cost
Applications     Application A           Application B         Application ..                             Applications     Application A         Application B           Application ..
                    Application
                 Release  1     A           Application
                                         Release  1     B         Application
                                                               Release  1     ..                                              Application
                                                                                                                           Release  1     A         Application
                                                                                                                                                 Release  1     B           Application
                                                                                                                                                                         Release  1     ..
                       Application
                    Release  2     A           Application
                                            Release  2     B         Application
                                                                  Release  2     ..                                              Application
                                                                                                                              Release  2     A         Application
                                                                                                                                                    Release  2     B           Application
                                                                                                                                                                            Release  2     ..
                       Release …               Release …             Release …                                                   Release …             Release …               Release …

                                                                                                          Hosting          CHP Release 1          CHP Release 2           CHP Release 3
                                                                                                          Platform
Infrastructure   Component A             Component B           Component ...                              Infrastructure   Component A            Component A             Component A
                    Component
                 Version 1     A            Component
                                         Version 1     B          Component
                                                               Version 1     ...                                           Version 1              Version 2               Version 3
SW                     Component
                    Version 2    A             Component
                                            Version 2    B           Component
                                                                  Version 2      ...
                                                                                                          SW
Components                                                                                                Components
                       Version …               Version …             Version …         Platform                            Component B
                                                                                                                           Version 1
                                                                                                                                                  Component B
                                                                                                                                                  Version 2
                                                                                                                                                                          Component B
                                                                                                                                                                          Version 3
                                                                                       Release Mgmt.                       Component C            Component C            Component C
                                                                                                                           Version 1              Version 2              Version 3

Core OS          OS Core Version 1       OS Core Version 2     OS Core Version                            Core OS          OS Core Version 1      OS Core Version 2      OS Core Version 3

                                                                                                          Virtualization   VM Layer Version 1     VM Layer Version 2     VM Layer Version 3

Hardware         Server Model 1          Server Model 2        Server Model …                             Hardware         Server Model 1         Server Model 2         Server Model 3
                                                                                                                           Server Model 2         Server Model 3         Server Model 4

Uncoordinated lifecycles in technical stack  Combinatorial                                               Managed stack  No dependency explosion, increased
explosion of dependencies, support, and maintenance                                                       stability, capacity management, less maintenance costs,
costs                                                                                                     less support

           year         year+1         year+2       year+3     year+4                   Key Benefits of Platform Lifecycle Mgmt.
AR i-2                                                                                   Applications (and platforms) stay in technology lifecycle and mainstream (no
AR i-1                                                                                    "rotten" components)
 AR i
                                                                                         Technical upgrades due to lifecycle mgmt. of platform are combined with update
                                                                                          on business functionality
                                                                              EOL
   requirements &                       standard release                                 Constant decommissioning of out-dated platform releases identifies out-of-use
     project setup                      new applications                                  applications
   release engineering                             phase-out                             New releases of platforms (with new features) have no impact on productive
      pilot applications                application migration                             applications (no need to migrate; no stability impact due to changes)

                          Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)                                           May 15, 2013                 7
CS Platforms Overview
                                                                              Application Platforms (JAP, DAP, DWH)
                                                                              − Specialized for application areas with similar needs
                                                                              − Support standardized application development and
               Applications
                                                                                 operations
                                                                              − Provide enhanced and additional services on top of
                                                                                 generic Hosting Platforms
DBaaS         Application Platform                   PaaS                     − Platform costs are amortized by cost savings across
                                                                                 large enough application portfolio using it
    Database Hosting Platform                                                 Database Hosting Platform (DHP)
        Compute Hosting Platform                      IaaS                    − Offer DB service and backend system with decoupled
                                                                                 life cycle
                                                                              Compute Hosting Platform (CHP)
                Hardware                                                      − Underlying infrastructure basis for directly deployed
                                                                                 applications (typically 3rd party), Database Hosting
                                                                                 Platforms as well Application Platforms
                                                                              − Abstraction of infrastructure services for independent
        Reduce development risk by offering                                      lifecycles of infrastructures and applications
        standardized, integrated, and tested
        infrastructure stack and related processes

               Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)         May 15, 2013   8
CS Platform Benefits
Benefits of standardization and upfront investment in infrastructure stack/processes

Objectives                                                                         Benefits
  Design, build and test standard infrastructure stack                                  Lower cost
  (including middleware) once                                                           − Reduced development, maintenance, and
  − “Sharing the stack“: Amortize over many                                                support cost for applications and infrastructure
      applications                                                                      Better quality
  Standardize interfaces between applications and                                       − Increased infrastructure and application stability
  infrastructure                                                                        Lower risk
  Design well-defined, highly automated processes                                       − No end-of-life technologies and components in
  using standardized ecosystems                                                            data center
  Strict release and whole platform lifecycle                                           − Increased application security
  management (all components/processes at once)                                         − Reduced development risk
  Global availability                                                                   Enhanced capability
                                                                                        − Shorter time-to-market
                                                                                        − Global deployment of applications

Platform Contract: Adherence to Platform Release and Lifecycle Management
 New applications and application upgrades must use the latest major platform release available
 All applications using a platform release x must migrate to the latest platform release before the end-of-life
  date of release x is reached
 Use the roadmaps to plan the releases of the applications

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

 1   Credit Suisse Platforms

 2   Java Application Platform

 3   JavaVision:
     Our  Application
                 JAP in
                      Platform
                        the Cloud

 3
 4   A Customer’s Perspective

          Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)   May 15, 2013   10
JAP Facts and Figures
                                                                                            JAP is an Application Platform based on
Hub and Global Platform Management Zurich
                                                                                            Java EE standards specialized for Web
                                                                                            applications (both Intranet and Internet facing)
                                              Hub London
                                                                                            and transactional systems
                                              Satellite Luxemburg
                                                                                            JAP is providing services to more than 300
                                                                                            applications of all sizes, worldwide and across
                                                                                            all business units
                                                                                            Geographical presence
             Hub NY
                                                                                            − Platform centrally managed out of Zurich
                                                                                            − 4 hubs providing consulting services as
                                                                                                well as complete integration test, UAT and
                                                                                                production environments
                                             Hub Singapore                                  Lifecycle & Availability
                                                                                            − 3 major releases in parallel
                                                                                            − AR 7 is the most recent release
                                                                                            − AR 5 release in phase out

                Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)              May 15, 2013   11
JAP Model
                                                              Services provided by JAP
                                                              − Platform Product Mgmt. & Governance: Drives
                                                                 product development and release & lifecycle
                                                              − Application Development Support: Consultants guides
                                                                 projects through entire development processes, Java
                                                                 development support and trainings
                                                              − Platform Operations: Cost-efficient standardized and/or
                                                                 automated processes according to a defined set of OLA’s
                                                              Key components to provide these services
                                                              − Technical Components: Java EE based software stack
                                                                 pre-integrated with security, middleware, databases etc.
                                                              − Hosting: Shared hardware resources according to
                                                                 production guidelines
                                                              − Tool-chain: Automated processes from configuration
                                                                 management, centralized builds, package generation to
                                                                 deployment
                                                              − Architecture, Guidelines & Documentation: security,
                                                                 IT-DR, HA designed and provided for all applications,
                                                                 transaction processing incl. patterns, scalability via LBs
                                                                 and scale-out

      Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)       May 15, 2013   12
Platform Lifecycle in Action
                          Applications benefit in terms of                                                                                                            250

                          − Reduction of 30% on project costs                                                                                                         200

                            (CTB budget)                                                                                                                              150

                          − Reduction of 35% on operating costs                                                                                                       100

                            (RTB budget)                                                                                                                               50

                          JAP Hub Zurich realized                                                                                                                        0
                                                                                                                                                                                   H2       H1           H2       H1          H2        H1        H2          H1           H2       H1        H2
                          − Yearly cost avoidance of 48.5 mCHF                                                                                                                    2005     2006         2006     2007        2007      2008      2008        2009         2009     2010      2010

                          − 1 to 7 consolidation ratio on shared servers
                                                                                                                         Productive Application Statistics

                                  Tower 4/5
                                  Tower 1/2
                                  Release 5
                                  Release 4.1
                                  Release 4.0
                 200              Release 3
                                  Release 2

                 150
# Applications

                 100

                  50

                   0

                                        2005                                            2006                                               2007                                                   2008                                                 2009
                                                5

                                                                                                   6

                                                                                                                                                      7

                                                                                                                                                                                                             8

                                                                                                                                                                                                                                                                  9
                                                                05

                                                                                                                   06

                                                                                                                                                                      07

                                                                                                                                                                                                                             08

                                                                                                                                                                                                                                                                                   09
                    05

                                       5

                                                                        06

                                                                                          6

                                                                                                                           07

                                                                                                                                             7

                                                                                                                                                                                08

                                                                                                                                                                                                    8

                                                                                                                                                                                                                                      09

                                                                                                                                                                                                                                                         9

                                                                                                                                                                                                                                                                                            10
                              5

                                                                                  6

                                                                                                                                     7

                                                                                                                                                                                            8

                                                                                                                                                                                                                                                 9
                                                        5

                                                                                                           6

                                                                                                                                                              7

                                                                                                                                                                                                                     8

                                                                                                                                                                                                                                                                           9
                                     -0

                                                                                        -0

                                                                                                                                           -0

                                                                                                                                                                                                  -0

                                                                                                                                                                                                                                                       -0
                                            l-0

                                                                                               l-0

                                                                                                                                                  l-0

                                                                                                                                                                                                          l-0

                                                                                                                                                                                                                                                              l-0
                           -0

                                                                               -0

                                                                                                                                  -0

                                                                                                                                                                                         -0

                                                                                                                                                                                                                                              -0
                                                      -0

                                                                                                         -0

                                                                                                                                                            -0

                                                                                                                                                                                                                   -0

                                                                                                                                                                                                                                                                        -0
                  n-

                                                                      n-

                                                                                                                         n-

                                                                                                                                                                              n-

                                                                                                                                                                                                                                    n-

                                                                                                                                                                                                                                                                                          n-
                                                               -

                                                                                                                  -

                                                                                                                                                                     -

                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                                                    -
                                   ay

                                                                                       ay

                                                                                                                                          ay

                                                                                                                                                                                                 ay

                                                                                                                                                                                                                                                      ay
                                                            ov

                                                                                                               ov

                                                                                                                                                                  ov

                                                                                                                                                                                                                         ov

                                                                                                                                                                                                                                                                                 ov
                                                    ep

                                                                                                       ep

                                                                                                                                                          ep

                                                                                                                                                                                                                 ep

                                                                                                                                                                                                                                                                      ep
                          ar

                                                                              ar

                                                                                                                                 ar

                                                                                                                                                                                      ar

                                                                                                                                                                                                                                            ar
                                           Ju

                                                                                              Ju

                                                                                                                                                 Ju

                                                                                                                                                                                                        Ju

                                                                                                                                                                                                                                                             Ju
                 Ja

                                                                     Ja

                                                                                                                        Ja

                                                                                                                                                                             Ja

                                                                                                                                                                                                                                  Ja

                                                                                                                                                                                                                                                                                        Ja
                         M

                                                                             M

                                                                                                                                M

                                                                                                                                                                                     M

                                                                                                                                                                                                                                           M
                                  M

                                                                                      M

                                                                                                                                         M

                                                                                                                                                                                                M

                                                                                                                                                                                                                                                     M
                                                            N

                                                                                                               N

                                                                                                                                                                  N

                                                                                                                                                                                                                         N

                                                                                                                                                                                                                                                                               N
                                                    S

                                                                                                       S

                                                                                                                                                          S

                                                                                                                                                                                                                 S

                                                                                                                                                                                                                                                                      S
                                                        Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)                                                                                                       May 15, 2013                        13
JAP Technical Stack (JAP AR 7)
Layer 3 Application and Other Libraries

                                        Application (Code and Configuration)
                                          Optional Components/Extensions

Layer 2 JAP Technical Infrastructure Package (TIP)                                                              Ecosystems

        Common CS Internal and 3rd Party Libraries                                                              Monitoring Services
                                                                                                                 I3 Java Agent
        Core Services                                           Security                                         i3 URL Monitoring
          Oracle DB 11g Client
                                                                                                                 BMC Patrol
          JMS 1.1                                                 Web Entry API
                                                                                                                 SiteScope
          IBM MQ Series                                           OnePKI 3.0 (Single Sign On)
                                                                                                                Build & Deployment
        JEE Runtime                                                                                              SSDS
          Oracle WebLogic Server (WLS) 11g                        Oracle WebLogic Portal (WLP) 11g *             JAP Ordering Tool
          Java Runtime Environment (JRE)                          Java Development Kit (JDK)                     QMB Build Server

Layer 1 Infrastructure

                                                     Red Hat Linux 5
                                                      VMWare ESX
                                                      X86 Hardware
                                                                                                                       * on exceptional basis

               Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)                    May 15, 2013   14
JAP Reference Architecture
                                   Internal Applications                                  Internet facing Applications

                                                                                     Customer                              Public
                                   Strong Authentication *
                                                                                Strong Authentication                    Anonymous

                                                                     Intranet

                                                                                                                                          Internet
Client Tier                                   Web Pages                         JSF
                                                                                 WebPages
                                                                                     Pages                             Web Pages

Entry Tier                                                                      JSF Pages         Entry Server

                                                                                                                                     Entry
                                                                                                                                     DMZ
                                                                                                                                                         Legend

                                                                                                             DMZ
Presentation Tier                                Servlets                       JSF
                                                                                  Servlets
                                                                                    Pages                               Servlets                                Internal
                                                                                                                                                                External

                                                                                                                                          DMZ Public
                                                                                                                                                                Optional
                                                                                                                       Enterprise
Business Tier                                               Enterprise Beans                                                                             Remarks
                                                                                                                        Beans
                                                                                                                                                         Communication
                                                                                                                                                         subject to further

                                                                                                       CH: SeSZ/BaSz
                                                                                                                                                         restrictions

                                                                                                       RoW: Intranet
                                                  CSXB                                                                                                   * Strong

                                                                                                                                     Public Data
                                               synchronous,
Data and Service Tier                                                              DHP                                   DHP                             authentication
                                              asynchronous,
                                                                                 Databases                             Databases                         based on CS PKI

                                                                                                                                     DMZ
                                               bulk services
                                                                                                                                                         certificates

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

 1   Credit Suisse Platforms

 2   Java Application Platform

 3   JavaVision:
     Our  Application
                 JAP in
                      Platform
                        the Cloud

 3
 4   A Customer’s Perspective

          Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)   May 15, 2013   16
General Cloud
Characteristics*

  Clients                                   •     self-service
                                            •     rent/return capacity
                                            •     pay as you go
                                                                                                                •   rapid provisioning
                                                                                                                •   elasticity for applications
  Services                                                                                                      •   measured usage

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

by Amazon, Google,
Microsoft, etc.                                                                                     * NIST:
                                                                                                          High Scalability, Rapid Elasticity, Sharing and Multi-
                                                                                                    Tenancy, Measured Usage, Self-Service On-Demand

               Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)                           May 15, 2013   slide 17
Cloud is More than Virtualization!
Impact for Application Development

  Cloud Aspect                                                    Paradigm Shift for AD
  Resource abstraction/simplification                                  – Order capacity instead of HW
  towards clients (compute, storage,                                   – Choose from simple, standard options
  network resources)                                                   – 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,                                           – fully automatable 'on demand' test cycles (provision & build
  configuration & deployment (persistent                                 entire test env, run tests, decommission test env)
  specifications with infrastructure service                           – quickly reproduce production problems in UAT
  APIs)                                                                – exploit horizontal elasticity in production and maintenance
  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                              – Horizontal scalability
  demand)                                                              – Statelessness
                                                                       – Fast startup, graceful shutdown of components

              Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)            May 15, 2013   slide 18
PaaS – Platform as a Service
Cloud for Development and Operation of Applications
                                                                                                                  PaaS (e.g. JAP)
PaaS                                                   IaaS
Application services based on                          Generic infrastructure services
high-level domain abstractions                         based on low-level HW/OS                                          JAP components
                                                                                                                         & blueprints                PaaS
(reference architectures, container                    abstractions
frameworks, progr. lang. artifacts, etc.)
                                                                                                                                                     CMDB

manage entire blueprints                               manage single, unrelated VMs                                 example WS:
                                                                                                                    JAP order
rely on IaaS for capacity mgt                          capacity mgt of large server park                            •   single JAP VM
→ provide planning input to IaaS                       → support different classes of reqs                          •   fixed-size memory
                                                                                                                    •   server anti-affinities
horz. elasticity per application                       horz. elasticity within server park
                                                                                                                    •   DC affinities
→ capacity range as hint to IaaS                       → minimize free pool
                                                                                                                    •   no HA
HA in middleware                                       HA on HW, hypervisor or OS level                             •   no IT DR

IT DR in middleware                                    IT DR in hypervisor and storage                                      Web
                                                                                                                            services               events
monitoring & logging for PaaS                          monitoring & logging for IaaS
components                                             components (hypervisor, OS, ...)
                                                                                                                        CHP components               IaaS
high-level measurements                                low-level measurements                                           & VMs
→ # requests, E2E                                      → CPU, memory, I/O                                                                            CMDB

manage PaaS CMDB items                                 manage IaaS CMDB items
→ blueprints & PaaS specific components                → VMs & IaaS specific components                           IaaS (e.g. CHP)
                 Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)                           May 15, 2013   slide 19
PoC Demo – Order/Provision JAP Blueprint

           Use Case: Order Capacity in Dev/Test
           • 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
           • result: number of virtual servers running order compliant JEE or DB
             stacks configured / interconnected according to reference architecture
             and ready for application component deployment

       Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)   May 15, 2013   slide 20
PoC Demo – Deploy Application to Blueprint

     Use Case: Deploy Application Components in Dev/Test
     •   self-service
     •   specify deployable application and configuration components per blueprint tier
     •   deploy components per tier or for entire blueprint
     •   very fast deployment and activation of components (seconds/minutes)
       interactively or programmatically
     • semi-automated component wiring
       • automated remote call setup when possible
       • manual conflict resolution
       • manual specification for missing standards
     • component specifications are reproducible (can be stored/reloaded); several
       deployable to same blueprint
     • result: specified application components deployed to specified tier(s),
       wired up, and activated (ready to be used in application client requests)

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

 1   Credit Suisse Platforms

 2   Java Application Platform

 3   JavaVision:
     Our  Application
                 JAP in
                      Platform
                        the Cloud

 3
 4   A Customer’s Perspective

          Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)   May 15, 2013   22
Is Java EE ready for the Cloud?
A Customer's Point of View − Some Questions
 Is VM template cloning supported?
 − burnt-in assumptions about machine-specific configurations? (e.g. hostname hardwired in scripts)
 Is elasticity supported? (in general: dynamic automated blueprint management)
 − Growing: create and add instance to blueprint
        rapid provisioning of a new instance (incl. application components) - e.g. VM template cloning helps
        reproducible stack and configuration with own identity
        after provisioning: startup of container and of application should be fast
        KPI: how long does it take until new instance is ready to accept application requests
 − Shrinking: shutdown and remove instance from blueprint
        block any new requests (not belonging to active sessions)?
        session migration on demand? (some state might be hard to migrate to a different instance, e.g. distributed trx state or local
        cache)
        other graceful starvation/shutdown measures? (incl. standard events to application?)
        KPI: how long does it take until an instance's capacity can be given back?
 − Connection/environment management
        can connection pools gracefully and transparently grow and shrink? (i.e. without application involvement)
        load balancer, monitoring, log file mgt., etc. adjustable automatically?
 − Clustering
        dynamic ad hoc adding/removing of an instance to/from a container cluster?
        avoid cross-site clusters (operational independence!); avoid clustering anyway as much as possible (except for HA)?

              Infrastructure Architecture & Strategy, Susanne Cech Previtali (KIVO) and Peter Schnorf (KIVB)        May 15, 2013         23
Is Java EE ready for the Cloud?
A Customer's Point of View − Some Questions (cont.)
 Maintenance supported?
 − in place patching
        guaranteed backwards compatibility
        without reboot?
 − rolling upgrade (similar to elasticity!)
        add new upgraded instance, then shutdown an old one - or the other way around
        again: session migration on demand or other graceful shutdown measures?
 Resource management in shared environments?
 − heap size adjustable?
 − CPU and I/O requirements expressible by container? -> standard way to pass that to JVM and from there to OS
   and to hypervisor
 − in general: standard indication to hypervisors about memory usage for code that can be potentially shared across
   VMs

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