Continuous Application Delivery From concept to reality Carsten Lentz Sr. Solution strategist carsten.lentz@ca.com
Agenda - Introduction to customer case A Danish insurance company started the journey, this is why - What is Continuous Application Delivery Why is this a game changer for many companies - especially if agile development is introduced - How do we get to Continuous Application Delivery Is it a all or nothing solution and is my organization mature enough?
Introduction to customer case A Danish insurance company started the journey 39. december 2013 Copyright 2013 CA. All rights reserved.
Why Continuous Application Delivery Situation at many customers As-is situation Due to newly adopted agile development methods, deployment organization fail to deploy frequent and fast enough Deployments are done manual by many different resources that are all utilizing their own best practice Complex deployments requires specialised resources that are already over utilized and in some areas external consultants Multiple handovers between different resources specialist in different teams No audit trail on the actual changes performed in the different environments Deployment consequence Different semi automated scripts are created for individual projects that leads to faulty deployments Slow and sequential deployment process due to lots of manual interaction and idle time release phases Due to lack of insight/history into who did what and when, error identification and remediation takes a long time Knowledge on deployment procedures rely on specialist/consultant and introduces huge bottlenecks Project consequence Projects get delayed, releases applies for dispensations etc. Projects run over budget or alternative features get dropped/pushed for next release Revision marks due to non compliant Business Consequence Lost of potential revenue due to inability to quickly act upon new market demands Negative publicity and brand damage due to poor application quality and End User Experience Unable to meet assigned budget Etc. Actual output from a Danish insurance company
Why Continuous Application Delivery How Introduce Application Deployment as a Service in the organisation Benefits Reduce risk of delay and overrun because of deployment Improved quality due to standardized, and repetitive deployment methods and procedures Solution Implement a comprehensive application deployment framework and supporting process Acquire an automated release management tool Define and standardise a deployment management process across the organisation Improve operational productivity reducing cost and time to resolution Remove dependency on scarce resources (higher throughput ) Provide automated audit trail on all deployment actions performed on any environment in scope Enhance change management and improve business acceptance of new systems Actual output from a Danish insurance company
Why Continuous Application Delivery Design, manage and automate application centric operations accross physical, virtual and cloud environments Deployment operations Enterprise Applications Preventive operations Corrective operations Specialized solution for automating release deployment operations on complex hybrid enteprise applications (e.g. SOA & TIA) across the entire lifecycle (SIT, UAT, QA, PROD) Made for dynamic infrastructure environment Release deployment processes are cloud ready Full segregation between process specification (abstract) and process run execution (specific for environment) Most comprehensive solution for full release operations automation (not just the deployment process...) Actual output from a Danish insurance company
Continuous Application Delivery Why is this a game changer for many companies - especially if agile development is introduced
Continuous Application Delivery Solution: Release Automation + Test + Promotion Business demand :More Innovation, quicker Minutes time to market, better quality, reduce cost Agile Development Test Automation Continuous Integration 60% CONTINUOUS DELIVERY Virtualization/Cloud Provisioning Automation Configuration Mgmt DEV Release Errors SYS INT Long Time To Market PERF High Costs UAT PROD Development Days/Weeks Operations
Level 3 - Application Release Automation Workflow: Generic process with relationships & dependencies Artifacts: jars, ears, dll, aspx, war, config. ini,... Release Deployment Process Environment Adaptation: Test, QA, Acceptance, Production User Input: Run type settings verifications, prerequisites... Copyright 2013 CA. All rights reserved.
Level 3 Application Release Automation Env Mgmt Zero Touch Release Deployment Deployment Manifest
Level 4 Continuous Application Delivery Continuous Integration Build Automation Artifact Repository Change Mgmt Test Automation Continuous Application Delivery CA LISA Release Automation Config Mgmt Infra Prov DEV TEST UAT PROD 11 9. december 2013 Copyright 2013 CA. All rights reserved.
Continuous Delivery - PreProd Cont. Integration TeamCity Artifact repository Test Automation Selenium Cont Application Delivery CA LISA Release Automation Dev QA STG Prod
Continuous Delivery - Prod Cont. Integration TeamCity Artifact repository Cont Application Delivery Test Automation Selenium CA LISA Release Automation Approval Change Mgmt ServiceNow Dev QA STG Prod
Continuous Application Delivery Benefits Improve business productivity reducing time to market All releases are fully automated reducing risks Improve operational productivity reducing cost and time to resolution Standardization reducing complexity of deployments Automatic promotion reducing idle time between release phases 14 9. december 2013 Copyright 2013 CA. All rights reserved.
Our Customers Experience Company Application Release Business Value Before/After Multinational Grocer Online Grocery and Wine 2.5 Days 20 Minutes Streamlined International Updates of online grocery Apps 250K / a month Financial Institution Fix Income IB division 12 Days 1.5 Minutes 8.6M annually implement globally Oil and Gas Oil drilling platform application 3 Days 4 Minutes 380K / a month Financial Rating Business information 90minutes 3minutes $1.3M annually Online Gambling On Line Gambling 2 Days 3 Minutes $2.3M annually implement globally Global Retailer Online store 2 Days 12 Minutes $1.2M annually 15 9. december 2013 Copyright 2013 CA. All rights reserved.
16 How do we get to Continuous Application Delivery Is it a all or nothing solution and is my organization mature enough?
Application Delivery Maturity Model Key Achievements Ongoing Improvement Optimization Continuous End to End Delivery Automation Standardization Process Manual Scripting Heroes Level 1 Level 2 Level 3 Delivery Levels Level 4 Level 5 17 9. december 2013 Copyright 2013 CA. All rights reserved.
Phased implementation Five phased implementation strategy : from concept to reality What is the vision for the end goal of the implementation What is the eco-system that needs to be in place to perform Continuous Application Delivery? Automated release Automated testing Needed Integrations / External systems update Mindset & Behavior What are the priorities Prerequisites (Phase 1) Phase 2-4 (What can be done in parallel) Rollout governance Team members Required skillset Etc.
Phased implementation Phase 1 - Prerequisites Things in place before Implementation can begin Configuration management: Source repository (non-packaged software) Environments: Definition of environments (Development, Test, Acceptation and Production etc.), Is some outsourced etc. Intake environment (packaged software) how do we cope with third party vendors Pre-installed software requirements on each environment: OS requirements (windows, Unix..), Software requirements (Java v7, native deployment tools), Application requirements ( connection to third party / legacy systems) Deployment procedures: Individual repeatable deployment procedures transformed into CA Release Automation flows Mindset & Behavior The willingness to change the deployment process
Phased implementation Phase 2 Sleep at night Main deliverable: Automatic deployment to individual environments. Deployment automation: Automated deployment of software into the different environments Normalize the current procedure and automate it (Repeatable process) Deployments should be zero touch (Manifest) Canary/smoke test deployment (if applicable) Identify connection to peripheral systems: Monitoring, Backup, sheduling tools etc.
Phased implementation Phase 3 Sleep trough the week-end Main deliverable: Structured conf. management & Automated testing Deployment automation: Place files in repository and deliver files from repository to staging environment Automated verification (dependencies & successful deployment) Automated testing: Smoke tests (production) Functional tests (intake) Regression (QA) Configuration Management /Build server: Building tools / File transfer servers Orchestration tools (Jenkins / Ca process automation) Code Repository / Configuration Repository
Phased implementation Phase 4 Sleep through the day Main deliverable: Automated promotion (Dev-Tst-Acc-Prod) Deployment automation: End to end testing (chain testing) Performance testing (ACC) Connection to Peripheral Systems: CMDB Discovery (TADDM) Introduce approval workflow Approvals from change management process triggers and controls Ca Release Automation deployment Mindset & Behavior: Willingness to have a daily release candidate
Phased implementation Rollout governance 1 CA release automation expert from deployment mid-range team (governs standards) 2 Highly skilled IT experts (UNIX, scripting, powershell etc.) CA release automation training (3 days) for IT experts 1 Project owner (sets & guards project milestones) Central product owner Set of standard CA release automation flows CA release automation community User boards Steering committee
Faster, Better, Cheaper Agile from development to production Focus on the Application delivery Carsten Lentz Sr. Solution Strategist 25 9. december 2013 Copyright 2013 CA. All rights reserved.
Common Agile approach Common agile Situation Sprint A D B Sprint A D B Sprint A D B Sprint A D B Test Days/Weeks Release Development Department Operation Department The last mile becomes the new bottleneck Tests on a production like machine outside of scope scrum delivery Performance and deployment issues are only caught at this stage Consequences Substantial rework may lead to delay in project delivery Insufficient testing due to project time lines may lead to incidents in production
Continues Application Delivery Common agile Situation Sprint A D B Sprint A D B Sprint A D B Sprint A D B Test Days/Weeks Release Development Department Operation Department Sprint A D B H H H H Sprint T R A D B T R Sprint A D B T R Sprint A D B T R Development and Operation Department Releases tied to business needs rather than operational Constraints
Our Customers Experience Company Application Release Before/After Multinational Grocer Financial Institution Oil and Gas Financial Rating Online Gambling Global Retailer Online Grocery and Wine Fix Income IB division Oil drilling platform Business information On Line Gambling Online store 2.5 Days 20 Minutes 12 Days 1.5 Minutes 3 Days 4 Minutes 90minutes 3minutes 2 Days 3 Minutes 2 Days 12 Minutes 28 9. december 2013 Copyright 2013 CA. All rights reserved.
Full automation required of each step in the deployment pipe line Configuration management Build Deploy System tests Functional tests Performance tests 29 9. december 2013 Copyright 2013 CA. All rights reserved.