Cloud Services Legacy2Cloud Migration Service POC AIS Mainframe COBOL 2 Java running on Azure Final Readout Executive Summary May 27 2014
POC Context Business Transformation Program As part of a large Business Transformation program, the client plans to move a number of its applications to run in the Azure Cloud environment. A central part of this plan is to move the 8.5 Million lines of code that make up the AIS Mainframe COBOL application developed by Accenture for the client. The AIS COBOL application has two key components to modernize 90% of code - Business Modules - Handwritten Cobol code 10% of code - Rules Engine - Product generator / generated Cobol code For scope purposes, we defined two separate work streams for the POC Business Modules the team selected two representative modules to migrate, deploy and test in the Azure cloud environment Rules Engine the team reviewed a previously migrated solution for another client and estimated the effort to re-write based on that solution s delivery plan. In parallel, the team also provided an approach and estimate using the Legacy2Cloud (Blu Age) migration tooling
POC Objectives Validate Solution Quality (Technology and Business) Code Quality Satisfy Accenture Foundation Platform for Java (AFP-J) standards review Code Quality Target 90% SONARQUBE Industry Independent Java Rules Compliance Functional Equivalency Target 100% of Legacy Test Cases pass against the modern application Performance Indicative measures with Java service code response times equivalent/better than legacy Validate Tooling Acceleration Metrics (as compared to traditional re-write approach) 1,000 Lines of code (LoC) per man day target 5X speed as compared to 200 LoC per man day for manual re-write approach Validate Technical Feasibility of AIS COBOL Migration to Java on Azure Validate/Confirm the integration architecture approach Rich Client UI (CTG)*, Batch (JCL), Messaging (TPMI), Rules Engine (Product Generator)* Deploy & Test migrated application running on Azure cloud environment Provide Input for AIS Legacy2Cloud Migration Business Case Define Business Case as compared to platform migration option (Micro Focus COBOL). Create Legacy2Cloud Migration Roadmap (Delivery timelines/cost and AO/Run cost)
POC Results : Executive Summary It Works 2 COBOL Business Modules successfully Migrated to Java, Deployed and Tested on the Azure Cloud Environment Delivery Costs are Higher than Microfocus Services : 4.9M Versus 2.5M 2.5M - Micro Focus COBOL estimate for the client excluded the effort to convert the Mainframe COBOL to Micro Focus COBOL (work completed on previous project) 4.9M - Legacy2Cloud Migration estimate includes the effort COBOL Conversion to Java and Platform Migration Run Costs are Lower 450K per Annum versus 77K per Annum 450K per Annum for Micro Focus COBOL internally hosted by IO provider 77K per Annum for L2C Migrated Java on Azure Both a substantially lower than the 5.4M per annum for current IO on the mainframe (for AIS only)
POC Results : Business Modules (90% of AIS Code) Highlights Validated technical feasibility and indicative performance of Java on Azure cloud environment - successfully installed/tested all POC Java code on the Azure Cloud environment. Measured faster response times for modernized services through message integration channel Validated functional equivalency - all test cases provided produced same output on legacy and modernized code Validated technical quality and delivery acceleration - exceeded the target delivery accelerations metrics (speed to deliver), exceeded Java code industry standard quality target, and satisfied AFP-J Java architect review (minor items to be addressed as expected through tooling configuration) Metrics for the 2 Selected Business Modules Party Creation Service Message Driven Service Backend 32 K LoC Cobol code transformed to Java running in Azure 93.8% rule compliance : Java code Quality SONARQUBE (industry standard is 80% compliance) 1,100 LoC per Man Day : Transformation throughput including test (manual re-write average is 200) 1.33x Faster response time for Java services on Azure compared to the recorded Mainframe COBOL times for the 6 test messages Central Printing Job Batch Processing 56.5 K LoC Cobol code transformed to Java running in Azure 94.2 % rule compliance : Java code Quality SONARQUBE 1,300 LoC per Man Day : Transformation throughput including test
POC Results : Rules Engine (10% of AIS Code) Re-write based on another client Option Context : The Spain team manually migrated the product generator (rating engine) to Java for another client in the UK for their aggregators in 2008 in order to reduce the mips rating costs. The same solution was later adapted for the same client for their Spain Aggregators in 2013. This rating engine is used by the aggregators for quote & buy, but could be easily extended to the rest of Policy Admin transactions and channels (i.e., other than aggregators) This migrated generator has been in production since 2008, which would have eliminated the need to look at manually re-writing the COBOL or migrating the COBOL code with the Blu Age tooling if we could use the production version of the Java code. However, there is no reusability possible: Accenture does not have the IP from this other client Also, the client COBOL generator is very heavily customised and the gaps would have to be added to the Java version Proposal : The other client re-write proposal has been adapted for the client and the key elements are: The new Java generator will dynamically generate Java code (rating engine) there is a technical solution for this. Decoupling of the rating engine from the rest of the AIS architecture (either COBOL or Java) This new rating engine, will be accessible through business services. The other client figures indicate a rating response time of less than 4 seconds (SLA was 15 seconds). The other client s Spain products are equivalent in complexity to the client ones. Cost : Based on the other client s UK experience (when this rating engine was developed), we believe the effort to migrate and test the generator will be 2,340 Man Days non-contingent 936,000 assuming a blended rate of 400 exclusive of VAT, expenses and contingency Timeline : 12 months Project duration DBT (MD) FLC (MD) Infrastructure 114 456 Generation Process 390 1561 Download Data Process 81 323 Total: 585 2340
POC Results : Rules Engine (10% of AIS Code) L2C Migration Option Context : Ahead of its time, the AIS product generation was custom built using the now well understood Rules Engine architecture principles From a set of configuration tables (PF Tables) the custom generator code builds a product code module that will be used with the PF Table data by business modules to perform validation, operations and define text on business objects Proposal : Regardless of employing a traditional re-write strategy or using the tooling approach to accelerate delivery, leverage the good legacy Rules Engine architecture principles to modernize the product generator as follows: Rules Creation Component Keep the PF Table structure (the rules) to define the products Modernize or keep as is the legacy COBOL module that creates the rules stored in the PF Tables Rules Usage Component Use Drools (or similar Rules Engine) in place of the custom generated COBOL modules (and the PF table deployed to the mainframe) to handle the modern rules and their set of values Using the L2C tooling, modernize the Cobol Generator to a Java Generator that generates the Drools Rules for any set of products (Commercial) Cost : Based on Legacy2Cloud estimation model, we believe the effort to migrate and test the Rules Engine to Java Drools will be 1,880 Man Days non-contingent 1.18M assuming a blended rate of 545 exclusive of VAT, expenses and contingency Timeline : 9 months Project duration
POC Results : Proposed AIS Modernized Architecture Architecture Area Legacy Architecture Modern Architecture Deployment Platform Mainframe Azure Application Server N/A Tomcat Batch Layer Tivoli / JCL Jenkins / Spring Batch Product (Rules) Layer Generated COBOL Drools Engine Generated Drools Rules Service Layer COBOL Java Spring Persistence Layer COBOL / JDBC Spring JDBC Database Server DB2 Mainframe DB2 UDB Messaging MQ Series Microsoft Azure Service Bus 8
POC Results : High level Business Case Comparison - Criteria AIS Mainframe Application Migrated to Cloud Environment Options : Micro Focus COBOL Migration or Legacy2Cloud Migration Baseline : 8.23 Million LOC Cobol code (target language Java) Database : DB2 UDB distributed * Evaluation Criteria Delivery Effort / Timeline / Cost Risk of Approach Solution Quality AO Maintenance Run Cost Skillsets needed Business Value Expected End of Life Speed to Market for new Business Opportunities Support for new business channels (e.g., mobile)
POC Results : High Level Business Case Comparison - Delivery Delivery Effort Legacy2Cloud Micro Focus COBOL Activities Effort Man Days Effort Man Days Build 4,490 2616 * Test 5,521 4,679 Automate 1,543 0 PM 891 0 Deploy 1,130 1,678 TOTAL 13,575 6,357 * Effort to convert the Mainframe COBOL to Micro Focus COBOL is not included (work completed on previous project) Delivery Costs 4.9M Legacy2Cloud Migration (includes Business Modules and Rules Engine + PM days) 2.5M - Micro Focus COBOL Migration (Business Modules) Delivery Schedule Legacy2Cloud Migration (work streams can be done in parallel) 16 Months for Business Modules 9 Months for Rules Engine Micro Focus COBOL Migration 15 Months for Business Modules
POC Results : High Level Business Case Comparison AO&IO/Run AO/IO Run Cost AIS Java on Azure Azure Runtime Environment 77.5K per annum size based on MF COBOL infrastructure requirements 155K per annum with contingency AO maintenance team - KT 1 Year / 1M based on previous experience with Spain to IDC for AIS AIS Micro Focus COBOL Micro Focus Infrastructure Cost 526K per annum : Accenture Private cloud (excludes MF COBOL licenses) 450K per annum : Reuse current MTH environment (includes MF COBOL licenses) assume reuse is possible this will avoid any capital expenditure Micro Focus Runtime Licenses AO maintenance team KT None expected
Contacts Josh Meyer (FS Cloud Sales Enablement lead for EALA, Accenture) joshua.e.meyer@accenture.com Michael Evans (Custom App Migration lead, Accenture) michael.p.evans@accenture.com Frédéric Vermenouze (Professional Services Director, BluAge) f.vermenouze@bluage.com