Continuous Application Delivery - BizTalk Usergroupbiztalkusergroup.se/blogs/info/CA release...

28
Continuous Application Delivery From concept to reality Carsten Lentz – Sr. Solution strategist [email protected]

Transcript of Continuous Application Delivery - BizTalk Usergroupbiztalkusergroup.se/blogs/info/CA release...

Continuous Application Delivery From concept to reality

Carsten Lentz – Sr. Solution strategist [email protected]

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

3 9. december 2013 Copyright © 2013 CA. All rights reserved.

Why Continuous Application Delivery Situation at many customers

Deployment consequence

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

Different semi automated

scripts are created for

individual projects that leads

to faulty deployments

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.

Due to newly adopted agile

development methods,

deployment organization fail to

deploy frequent and fast enough

Complex deployments requires

specialised resources that are

already over utilized and in some

areas external consultants

No audit trail on the actual

changes performed in the

different environments

Deployments are done manual by

many different resources that are

all utilizing their own best practice

As-is situation

Multiple handovers between

different resources specialist in

different teams

Actual output from a Danish insurance company

Why Continuous Application Delivery

Implement a comprehensive

application deployment

framework and supporting

process

Solution

How

Define and standardise a

deployment management

process across the

organisation

Introduce “Application

Deployment as a Service” in

the organisation

Acquire an automated

release management tool

Actual output from a Danish insurance company

Benefits

Improve operational

productivity – reducing cost

and time to resolution

Provide automated audit trail

on all deployment actions

performed on any

environment in scope

Enhance change

management and improve

business acceptance of new

systems

Improved quality due to

standardized, and repetitive

deployment methods and

procedures

Remove dependency on

scarce resources (higher

throughput )

Reduce risk of delay and

overrun because of

deployment

Why Continuous Application Delivery

Enterprise

Applications

Deployment operations

Corrective operations Preventive operations

Design, manage and automate application centric operations accross physical, virtual and cloud environments

• 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

Development Operations

DEV PROD

Days/Weeks

Agile Development Test Automation Continuous Integration

Virtualization/Cloud Provisioning Automation Configuration Mgmt

Business demand :More Innovation, quicker time to market, better quality , reduce cost

60%

Release Errors High Costs

Long Time To

Market

CONTINUOUS DELIVERY

PROD UAT PERF INT SYS DEV

Minutes

Copyright © 2013 CA. All rights reserved.

Level 3 - Application Release Automation

Artifacts: jars, ears, dll,

aspx, war, config. ini, ...

User Input: Run type settings

verifications, prerequisites...

Environment Adaptation:

Test, QA, Acceptance, Production

Workflow: Generic process with

relationships & dependencies

Release Deployment Process

Level 3 – Application Release Automation

Zero Touch Release Deployment

Deployment Manifest

Env Mgmt

11 9. december 2013 Copyright © 2013 CA. All rights reserved.

Level 4 – Continuous Application Delivery

DEV TEST UAT PROD

Artifact Repository

Test

Automation

Change Mgmt

Config Mgmt

Infra Prov CA LISA®

Release Automation

Continuous Application Delivery

Build Automation

Continuous Integration

Continuous Delivery - PreProd

Cont. Integration

TeamCity

Cont Application Delivery

Artifact

repository

Test Automation

Selenium

Dev QA STG Prod

CA LISA® Release Automation

Continuous Delivery - Prod

Cont. Integration

TeamCity

Cont Application Delivery

Change Mgmt

ServiceNow

Artifact

repository

Test Automation

Selenium

Dev QA STG Prod

Approval

CA LISA® Release Automation

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.

Continuous Application Delivery Benefits

15 9. december 2013 Copyright © 2013 CA. All rights reserved.

Our Customers’ Experience

Company Application Release Business Value Before/After

Online Grocery and Wine 2.5 Days 20 Minutes

Streamlined International Updates of online grocery Apps £250K / a month

Fix Income IB division 12 Days 1.5 Minutes

Oil drilling platform application

3 Days 4 Minutes

Business information 90minutes 3minutes

On Line Gambling 2 Days 3 Minutes

Online store 2 Days 12 Minutes

£ 8.6M annually implement globally

£380K / a month

$1.3M annually

$2.3M annually implement globally

$1.2M annually

Multinational Grocer

Financial Institution

Oil and Gas

Financial Rating

Global Retailer

Online Gambling

How do we get to Continuous Application Delivery Is it a all or nothing solution and is my organization mature enough… ?

16

17 9. december 2013 Copyright © 2013 CA. All rights reserved.

Application Delivery Maturity Model

Manual

Continuous

Automation

Scripting

Level 1

Optimization

K

ey A

chie

vem

ents

Ongoing Improvement

End to End Delivery

Standardization

Process

Heroes

Delivery Levels

Level 2

Level 3

Level 4

Level 5

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

Carsten Lentz Sr. Solution Strategist

Focus on the Application delivery

25 9. december 2013 Copyright © 2013 CA. All rights reserved.

Common Agile approach

Test Release A D B

Sprint

A D B

Sprint

A D B

Sprint

A D B

Sprint

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

Common agile Situation Days/Weeks

Operation Department Development Department

Continues Application Delivery

T R A D B

Sprint

T R A D B

Sprint

T R A D B

Sprint

T R A D B

Sprint

Releases tied to business needs rather than operational Constraints

Test Release A D B

Sprint

A D B

Sprint

A D B

Sprint

A D B

Sprint

Common agile Situation Days/Weeks

Operation Department Development Department

Development and Operation Department

H H H H

28 9. december 2013 Copyright © 2013 CA. All rights reserved.

Our Customers’ Experience

Company Application Release Before/After

Online Grocery and Wine 2.5 Days 20 Minutes Fix Income IB division 12 Days 1.5 Minutes

Oil drilling platform 3 Days 4 Minutes

Business information 90minutes 3minutes

On Line Gambling 2 Days 3 Minutes

Online store 2 Days 12 Minutes

Multinational Grocer

Financial Institution

Oil and Gas

Financial Rating

Global Retailer

Online Gambling

29 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