CREDIT SUISSE's Java Application Platform JUGS Presentation March, 27 th 2008 Robert Bennek KIRO 6 robert.bennek@credit-suisse.com
Agenda 1 JAP facts and figures 2 3 4 5 6 JAP history Application Platform Business Case Lessons learned Roadmap 7 Summary and Q&A Date: 27.03.2008 Slide 2
Agenda 1 JAP facts and figures 2 3 4 5 6 JAP history Application Platform Business Case Lessons learned Roadmap 7 Summary and Q&A Date: 27.03.2008 Slide 3
JAP Facts & Figures JAP Hub Zurich 400 servers (120 prod, 1:7 consolidation) 190 applications 169'000 users (intranet & internet) 14 MLines of effective code 360 mio requests per month 43 FTEs for Hub Zurich for 190 apps and 30+ concurrent projects Days/UCP of projects and platform (time-to-market) -50% Average Min Max JAP: Java AP MF: Mainframe SE: Special Eng. UCP: Use Case Point Hub Singapore 12 servers (4 prod.) 4 PB applications 6 FTEs for Hub SG 71 % of apps. on JAP 5.5 2.7 9.3 11.5 # Applications 180 160 140 120 100 80 60 40 Tower 4/5 Tower 1/2 Productive Application Statistics PB IB AM TIS CoS Hub New York (Q2/08) 0 5 servers (2 prod.) 1 PB pilot application + prospect applications from PB and IB 20 Jan 05 Mrz 05 Mai 05 Jul 05 Sep 05 Nov 05 Jan 06 Mrz 06 Mai 06 Jul 06 Sep 06 Nov 06 Jan 07 Mrz 07 Mai 07 Jul 07 Sep 07 Date: 27.03.2008 Slide 4
Agenda 1 JAP facts and figures 2 3 4 5 6 JAP history Application Platform Business Case Lessons learned Roadmap 7 Summary and Q&A Date: 27.03.2008 Slide 5
JAP History STARTING SITUATION (1999 2002) Hand crafted heterogeneous servers Multiple variants => expensive testing Numerous application servers with different versions Each application needed to organize component providers Applying component patches systematically to all servers was a major challenge Audit and regulatory compliancy was at risk. Developer support in production Date: 27.03.2008 Slide 6
JAP History STARTED WITH SIMPLE SERVLET APPLICATIONS (1999-2002) Started with servlet and mainframe integration (Corba) Added additional middleware and integration topics (DB, MQ, Mail,...) Scalability via HW Load Balancer and multiple WLS instances Two active sides/data centers for Disaster Recovery (BCP) First technical stack including all necessary basic components Release concept provides rules and guidelines for updates Date: 27.03.2008 Slide 7
JAP History DISTRIBUTED EJB APPLICATIONS CHALLENGED THE PROCESS (2002/3) Due to additional needs from Internet applications separation of presentation and business logic and additional non mainframe logic was required EJB Started with Session, Message and finally a limited number of Entity Beans Clear technical structure and architectural blue prints, as well as fully adherence to J2EE standards New functionality increased configuration complexity significantly Date: 27.03.2008 Slide 8
JAP History AUTOMATE AND SUPPORT THE PROCESS (2004, ongoing) Development Tool-Chain for compilation and packaging Automated generation of AppServer configuration reduced the error rate drastically. Application configuration DB contains setup of all JAP applications. Rebuild (for additional deployments or upgrades) of identically configured WLS instances on a click. End2End consultant supports IT-PL with all processes. Date: 27.03.2008 Slide 9
Agenda 1 Credit Suisse facts and figures 2 3 4 5 6 JAP history Application Platform Business Case Lessons learned Roadmap 7 Summary and Q&A Date: 27.03.2008 Slide 10
Application Platform WHY WE INVEST IN PLATFORMS? Applications Infrastructure Component a SW Version Component 1 a components Version Component 2 a Version... Core OS Application a Release Component 1 a Release Component 2 a Release... OS Core Version 1 Application b Release Component 1 a Release Component 2 a Release... Component b Version Component 1 a Version Component 2 a Version... Application c Version Component 1 a Release Component 2 a Release... Component c Version Component 1 a Version Component 2 a Version... Application... Version Component 1... Release Component 2... Release... Component... Version Component 1... Version Component 2... Version... OS Core Version 2 OS Core Version 3 OS Core Version... Platform Release Mgt Applications Application a Release Component 1 a Release Component 2 a Release... Application b Application c Application... Release Component 1 a Version Component 1 a Version Component 1... Release Component 2 a Release Component 2 a Release Component 2... Release... Release... Release... Runtime Platform RTP Release 1 RTP Release 2 RTP Release 3 Release Component a Component a Component a Version 1 Version 1 Version 2 Infrastructure Component b Component b Component b SW Version 1 Version 2 Version 3 components Component c Component c Component... Version 1 Version 2 Version 1 Core OS OS Core Version 1 OS Core Version 2 OS Core Version 3 Virtualization VM Layer Version 1 VM Layer Version 1 VM Layer Version 1 Hardware Server Model 1 Server Model 2 Server Model 3 Server model... Explosion of dependencies and support and maintenance costs, un-coordinated lifecycles in technical stack Hardware Server Model 1 Server Model 2 Server Model 2 Server Model 3 Server Model 3 Server Model... Managed Stack, no Dependency Explosion, increased Stability, less maintenance costs, less support, capacity mgt (CHP) AR i-2 AR i-1 AR i year year+1 year+2 year+3 year+4 requirements & project setup release engineering pilot applications standard release new applications phase-out application migration EOL Key Key Benefits of of Platform Lifecycle Mgmt Applications (and (and platforms) stay stay in in technology lifecycle lifecycle and and mainstream (no (no"rotten" components) Technical upgrades due due to to lifecycle lifecycle mgmt mgmt of of platform platform are are combined with with update update on on business business functionality Constant Constant decommissioning of of out-dated platform platform releases releases identifies identifies no no longer longer used used applications New New releases releases of of platforms platforms (with (with new new features) features) have have no no impact impact on on productive applications (no (no need need to to migrate; migrate; no no stability stability impact impact due due to to changes) changes) Date: 27.03.2008 Slide 11
Application Platform TECHNICAL DRIVERS Application Specific Work Graphical User Interface (GUI) Business Logic Database Schemas Configuration Infrastructure Design / Implementation Runtime Stack HW, OS, Middleware, Network Systems Management/Operation, Security, Development Tools, etc. From custom building platform: Integrated and tested components in runtime stack Fixed component versions per platform release Defined and largely automated processes for ordering, provisioning, configuration management, software distribution, change management, performance & capacity management, monitoring, IT DR, auditing, etc. Platform management for platform as a whole: requirements management, release management, life cycle management, technology strategy & architecture, end to end service, pricing, business case, KPIs, etc. Price Price design/build/test design/build/test once, once, operate operate and and automate automate centrally, centrally, amortize amortize across across many many applications applications Quality Quality Risk Risk shared shared tested tested components, components, common common monitoring monitoring & stability stability measures measures (including (including bug bug fixes/patches) fixes/patches) pre-defined pre-defined infra infra security, security, IT-DR, IT-DR, accountability accountability established established and and enforced enforced for for platform platform Capability Capability defined defined operational operational characteristics, characteristics, performance performance and and capacity capacity Date: 27.03.2008 Slide 12
Application Platform WHAT IS A PLATFROM? A set of integrated technical components and processes for the development and operation of applications Platform Types Runtime Platform (RTP) generic Hosting Platform (HP) added services like capacity mgt (virtualization) for OS build, DB build, etc. Application Platform (AP) added services specialized for areas of similar applications Architecture, Guidelines & Documentation Automated, integrated Tool-chain high-quality Technical Components Hosting on Shared HW Resources Date: 27.03.2008 Slide 13
Application Platform HIGH-LEVEL MODEL Architecture, Guidelines & Documentation Automated, integrated Tool-chain high-quality Technical Components Hosting on Shared HW Resources Services provided by an Application Platform Platform Product Mgmt & Governance: drives product development and release & lifecycle management adhering to a well-defined governance model Platform Operations: operates applications cost-efficiently with standardized processes according to OLA Application Development Support: guides projects through entire development process and shields projects from low-level infrastructure issues Infrastructure needed to provide these services Technical Components: providers supply high-quality and well-managed technical components that are tested and integrated into readily deployable packages (so-called TIP) Hosting: applications are hosted on shared hardware resources according to production guidelines; applications may also run on dedicated servers if required Tool-chain: automates key processes of solution delivery such as configuration management and deployment in a reliable, repeatable manner Architecture, Guidelines & Documentation: defined, standardized architecture based on open standards for various needs, and information to implement applications for the platform Date: 27.03.2008 Slide 14
Application Platform TOOL-CHAIN OVERVIEW SCM Configuration Management Developer Machine IDE TIPD Browser Debugging Testing Tool-chain Build Server Hosting environment Software Deployment WLS Instance Creation Tool-chain supports typical create-edit/configure-build-deployrun-debug functionality Tool-chain automates key processes of solution delivery such as configuration mgmt and deployment JAP enables repeatable deployment of applications to any system at any time (in accordance to CMMI/SOX) Main elements are: TIPD (technical infrastructure package for development) create application & components structures collaboration / configuration mgmt of source code build-deploy-run-debug on local machine Configuration Mgmt (required by CMMI / SOX) for source code, components, deployment units, and documentation Build Server: automatically compile code and package deployment units WLS Instance Creation: create configuration of runtime environment (instance) of WebLogic Server Debugging, Testing: start/stop instance, inspect log-files, perform load tests, monitor application behavior Software Deployment: configuration of profiles of target machines, package repository and installation of packages (Shared) Test Servers (Shared) Production Servers Date: 27.03.2008 Slide 15
Application Platform Toolchain Date: 27.03.2008 Slide 16
Application Platform OVERVIEW TECHNICAL COMPONENTS Layer 3 Monitoring Oracle TAP 1 JMX TAP 1 WLS TAP 1 Tr@Log Notify Core Runtime Java Developer Kit (JDK) Applications (Code, Configuration) Layer 2: Technical Infrastructure Package (TIP) Performance (Introscope) J2EE Monitoring Probe Enterprise Perf. Agent JCF Extension Java Core Framework (JCF) Java Runtime Env. (JRE ) BEA WebLogic Server (WLS) CS Application Interface (Tivoli Adapter) Standard Libraries Security Web Entry Integration Public Key Infra. & API PKI Certificates Integration Java Mail API JMS Wrapper Java Corba Bridge Corba Infra. Middleware Oracle DB Client Batch Framework Batch Libraries JAP defines the runtime stack in three layers Layer 1 subsumes infrastructure elements provided by a Runtime Platform (OS Build & Services) Layer 2 contains application server and APIs to access infrastructure (security, integration, systems mgmt) Layer 3 subsumes configuration, code, and resources of applications (some libraries are standardized) Applications only access interfaces provided by Layer 2 JAP may exchange Layer 1 components without affecting applications (e.g., cheaper hardware) JAP owns no components but reuses already existing components from various providers; components are engineered once for the platform JAP provides a bundle of layer 2 components as TIP (Technical Infrastructure Package) that runs on a well defined layer 1 Layer 1 (Hardware, Disk, Network, OS Build, Core Systems Mgmt / Security / Integration) 1 TAP = Tralog Application Probe Date: 27.03.2008 Slide 17
Application Platform ARCHITECTURE, GUIDELINES & DOCUMENTATION JAP Organization JAP Customers Component Providers Architectural Guidelines Platform Documentation Operations Manual Training Material Support Material Java Support (Platform) Architects JAP supports Java applications that are built according to the CS Tower architecture JAP provides the necessary information to facilitate the application development for and operation on JAP Architectural & Process Guidelines Manuals & Training Material... The information are centrally available through the JAP Homepage JAP ensures the configuration management of the relevant documents Date: 27.03.2008 Slide 18
Application Platform HOSTING ON SHARED HW RESOURCES Typical J2EE application requires up to 20 servers with traditional hosting including test stages and BCP JAP provides the necessary infrastructure; applications share server but are still isolated at the system level Each platform release may require its own resources but only 3 releases in parallel Quantitative Benefits: JAP hosts 190 applications on 400 servers. Traditional hosting would require more than 2800 servers More efficient operations support critical mass of applications required Qualitative Benefits: Standardized OLA, multi-rail, BCP solution, fail-over Standardized processes for operations Date: 27.03.2008 Slide 19
Complex Applications JAP DEPLOYMENTS Example shows a "logical Deployment" and two "physical Deployments" Date: 27.03.2008 Slide 20
Agenda 1 JAP facts and figures 2 3 4 5 6 JAP history Application Platform Business Case Lessons learned Roadmap 7 Summary and Q&A Date: 27.03.2008 Slide 21
Business Case APPLICATION COST MODEL (CUSTOM DEVELOPMENT) BFD IID Business Engineering Analysis & Design Implementation Testing Configuration Project Mgmt Stack Engineering Integration into Surrounding Systems Deployment 70% (A1) 30% 1&2 IL AL Application Maintenance Application Monitoring 3 rd Level Support (App) Infra. Maintenance Infra. Monitoring 3 rd Level Support (Infra) 1 st and 2 nd Level Support 60% (A4) 30% (A6) 10% One time Costs (Change the Bank) Business Functionality Development (BFD) incl. Business Engineering, Analysis & Design, Implementation, Testing, Configuration, Project Mgmt Infrastructure Integration & Deployment (IID) Stack Engineering (Systems Engineering, Infrastructure Testing, Configuration) Integration into Surrounding Systems (Security, Systems Mgmt, SOA, Legal & Compliance) Deployment Assumptions: A1: 70% of project costs are spent for BFD Recurring Costs (Run the Bank) Maintenance Costs at Application Level (AL), i.e. Application Maintenance, Monitoring, Support (3 rd ) Maintenance Costs at Infrastructure Level (IL) i.e. Infrastructure Maintenance, Monitoring, Support (3 rd ) 1 st and 2 nd Level Support (1&2LS), i.e., only infrastructure support excluding business support Assumptions: A4: 60% of all RTB costs at application level A6: 30% of all RTB costs at infrastructure level Date: 27.03.2008 Slide 22
Business Case SAVINGS FOR DEVELOPMENT ON JAP 70% (A1) 30% 100% BFD IID custom 10% (A2) 80% (A3) BFD IID on JAP 63% 6% 69% 60% (A4) 30% (A6) 10% 100% AL IL 1&2LS custom 8% (A5) 66% (A7) 100% (A8) AL IL on JAP 55% 10% 65% Savings on One time Costs (CTB) Business Functionality Development (BFD) Savings: Reuse of common framework and components (Facades, JSF,...) provided by JAP Residual Costs: development of business func. Infrastructure Integration & Deployment (IID) Savings: complete stack from JAP; integration into infrastructure done; servers up and running Residual Costs: extensions of infrastructure; infrastructure configuration; JAP E2E consultant Assumptions: A2: 10% savings for BFD in solution delivery A3: 80% savings for II&S in solution delivery Savings on Recurring Costs (RTB) Maintenance Costs at Application Level (AL) Savings: High quality reduces problems in prod.; periodic review & decommissioning of applications Residual Costs: 3 rd level support & maintenance Maintenance Costs at Infrastructure Level (IL) Savings: Infrastructure lifecycle mgmt does not involve applications (e.g., DST handling) 1 st and 2 nd Level Support (1&2LS) Savings: JAP provides full 1 st and 2 nd level support Assumptions: A5: 8% savings for maintenance on AL A7: 66% savings for maintenance on IL A8: 100% savings for 1 st and 2 nd level support Date: 27.03.2008 Slide 23
Business Case BENEFITS OF A JAVA AP Provision of significant quality attributes (e.g. security, failover, operability, auditability, ) is ensured. Lifecycle is in place. Release 1 and 2 of the platform are already phased out, currently 3 & 4. Shared servers improve utilization. Unit prize constantly reduzed (-15% per year) Increased efficiency of application products. Standardization improves QoS. Toolchain makes upgrade or extension of applications much more efficient. Documentation of processes and organisation enables a steep learning curve for new IT-PLs. KPIs provide important management information. Architecture, Guidelines & Documentation Automated, integrated Tool-chain high-quality Technical Components Hosting on Shared HW Resources Date: 27.03.2008 Slide 24
Agenda 1 JAP facts and figures 2 3 4 5 6 JAP history Application Platform Business Case Lessons learned Roadmap 7 Summary and Q&A Date: 27.03.2008 Slide 25
Lessons learned It is much more than Technology, prepare for heavy investments in Processes and Value Chain coordination Complexity increases, platform consultancy for application development is required (processes and services) Tool Chain Automation reduces error rate and prevents manual interventions Decouple infrastructure standardization from application-driven approach otherwise a sustainable cost efficiency may be corrupted Standardization is important, but controlled flexibility as well More transparency makes you vulnerable, be prepared for heavy fights Agree on Platform Development Strategy in advance and tailor approach to your specific environment, organization and culture Prepare your stress hormones for unbelievable huge numbers of organizational interfaces. There is always lot's of politics... Processes organizational change from silos to value chains new discipline Platform Management establish adequate governance system introduce key metrics Services Competence Center & Support Platform Consultancy Automation and tool support Communication & Information Product Management Sustainable value creation requires a productoriented approach Flexibility must be part of the architectural product line design Culture and organizational readiness Stakeholder Management Management Attention Politics Date: 27.03.2008 Slide 26
Lessons learned It is much more than Technology, prepare for heavy investments in Processes and Value Chain coordination Complexity increases, platform consultancy for Processes It It is is much much more more than than Technology, Technology, prepare for investments in Processes and Value Chain coordination prepare for investments in Processes and Value Chain coordination application development is required (processes and services) Tool Chain Automation reduces error rate and prevents manual interventions Decouple infrastructure standardization from application-driven approach otherwise a sustainable cost efficiency may be corrupted Standardization is important, but controlled flexibility as well More transparency makes you vulnerable, be prepared for heavy fights Agree on Platform Development Strategy in advance and tailor approach to your specific environment, organization and culture Prepare your stress hormones for unbelievable huge numbers of organizational interfaces. There is always lot's of politics... Services organizational change from silos to value chains new discipline Platform Management establish adequate governance system introduce key metrics Competence Center & Support Platform Consultancy Automation and tool support Communication & Information Product Management Sustainable value creation requires a product-oriented approach Flexibility must be part of the architectural product line design Culture and organizational readiness Stakeholder Management Management Attention Politics Date: 27.03.2008 Slide 27
Lessons learned It is much more than Technology, prepare for heavy investments in Processes and Value Chain coordination Complexity increases, platform consultancy for application development is required (processes and services) Complexity Complexity increases, increases, platform platform consultancy consultancy Tool Chain Automation reduces error rate and prevents Processes Services for for application application development development is is required required (processes (processes and and services) services) manual interventions Decouple infrastructure standardization from application-driven approach otherwise a sustainable cost efficiency may be corrupted Standardization is important, but controlled flexibility as well More transparency makes you vulnerable, be prepared for heavy fights Agree on Platform Development Strategy in advance and tailor approach to your specific environment, organization and culture Prepare your stress hormones for unbelievable huge numbers of organizational interfaces. There is always lot's of politics... organizational change from silos to value chains new discipline Platform Management establish adequate governance system introduce key metrics Competence Center & Support Platform Consultancy Automation and tool support Communication & Information Product Management Sustainable value creation requires a product-oriented approach Flexibility must be part of the architectural product line design Culture and organizational readiness Stakeholder Management Management Attention Politics Date: 27.03.2008 Slide 28
Lessons learned It is much more than Technology, prepare for heavy investments in Processes and Value Chain coordination Complexity increases, platform consultancy for application development is required (processes and services) Tool Chain Automation reduces error rate and prevents manual interventions Decouple infrastructure standardization from application-driven approach otherwise a sustainable Standardization Standardization is is important, important, but cost efficiency may be corrupted but controlled controlled flexibility flexibility as as well well Standardization is important, but controlled flexibility as well More transparency makes you vulnerable, be prepared for heavy fights Agree on Platform Development Strategy in advance and tailor approach to your specific environment, organization and culture Prepare your stress hormones for unbelievable huge numbers of organizational interfaces. There is always lot's of politics... Processes introduce key metrics Services Platform Consultancy Product Management organizational change from silos to value chains new discipline Platform Management establish adequate governance system Competence Center & Support Automation and tool support Communication & Information Sustainable value creation requires a product-oriented approach Flexibility must be part of the architectural product line design Culture and organizational readiness Stakeholder Management Management Attention Politics Date: 27.03.2008 Slide 29
Agenda 1 JAP facts and figures 2 3 4 5 6 JAP history Application Platform Business Case Lessons learned Roadmap 7 Summary and Q&A Date: 27.03.2008 Slide 30
Roadmap WRITE AN APPLICATION ONCE, RUN IT EVERYWHERE First international hub established in Singapore. Hub New York is currently rolled out. JAP Global Platform Mgmt Global JAP Governance Centralized Platform Product Management provides JAP JAP 3rd level support for other JAP locations Same location as a JAP Hub JAP Hub Support JAP application development and running One per region First contact for satellite locations in the region Date: 27.03.2008 Slide 31
Roadmap PORTAL FUNCTIONALITY IN JAP 5 Weblogic Portal enables a new class of applications. Integration driven portals allow decoupling of complex applications Portal functionality is focused on application integration Decouple portlet applications from portals Allow reuse of portlet providers in different portals Update of single portlet apps at runtime Support campaign management Challenges include: provide registry and repository development, packaging und distribution support ensure operability and maintainability manage new dependencies between applications versioning and lifecycle Date: 27.03.2008 Slide 32
Roadmap FIRST STEP FOR ENTERPRISE READY TRANSACTION SUPPORT A new dimension for the Java platform: get ready to host applications and data with massive transaction requirements Challenges include: development, packaging und distribution support guidelines needed for data modelling, DB engineering, programming, migration, testing,. ensure operability and maintainability interaction with existing systems. JAP 5 is the first step towards a Java transaction platform delivers basic architectural & engineering principles PoC by building a prototype for applications with massive transaction requirements establish technical and application confidence for future developments Benchmark measurements Date: 27.03.2008 Slide 33
Agenda 1 JAP facts and figures 2 3 4 5 6 JAP history Application Platform Business Case Lessons learned Roadmap 7 Summary and Q&A Date: 27.03.2008 Slide 34
Summary Standards Release Management End2End Support Governance Business Case Case Architecture & Guidelines Few Few Hardware Types Types J2EE/Java EE EE One One Application Server Server Product One One DB DB Product One One Toolchain Synchronous Bus Bus (Corba/JAX WS) WS) Asynchronous Bus Bus (JMS/MQ) Bulk Bulk Transfer Date: 27.03.2008 Slide 35
Summary Standards Release Management End2End Support Governance Business Case Case 3 parallel parallel releases defined defined phase phase out out planned migration managed lifecycle coordinated with with providers AR i-2 AR i-1 AR i year year+1 year+2 year+3 year+4 requirements & project setup release engineering pilot applications standard release new applications phase-out application migration EOL Date: 27.03.2008 Slide 36
Summary Standards Release Management End2End Support Governance Complexity requires E2E E2E support support Hub Hub model model allows allows cloning cloning Single Single point point of of contact contact Compliancy check check Guided Guided process Training End-2-End Process Business Case Case Date: 27.03.2008 Slide 37
Summary Standards Release Management End2End Support Governance Stakeholder Management Steering Committee Provider Board Board Lifecycle Board Board Architects Office Office Long-term Strategy Global Global Rollout Rollout Hub Hub model model Business Case Case Date: 27.03.2008 Slide 38
Summary Standards Release Management End2End Support JAP JAP reduces costs costs by by ~30% ~30% JAP JAP decrease billing billing prices prices ~38% ~38% Server Server utilization 1:7 1:7 ratio ratio Environmental aspects -15% Governance LE LE -28% -32% -38% LE LE LE (preliminary figure) Business Case Case 2005 2006 2007 2008 Date: 27.03.2008 Slide 39
Summary Architecture, Guidelines & Documentation Automated, integrated Tool-chain high-quality Technical Components Hosting on Shared HW Resources Business Case Case Release Management End2End Support Standards Governance Date: 27.03.2008 Slide 40
Time To Market? I need the latest lib of...?...but I want framework X?.Net? Flexibility? Sounds interesting, but...? Maven? QUESTIONS? Speed? Agility? Business wants...? MDA? Application Server X? Web 2? Date: 27.03.2008 Slide 41