technology innovation forum - accenture · pdf filecollaboration and communication of both...

63
Continuous Delivery April 2016 Technology Innovation Forum

Upload: buidat

Post on 13-Mar-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Continuous Delivery

April 2016

Technology Innovation Forum

Accenture Architecture Services

DevOpsIntroduction

3

What is DevOps?

opyright © 2016 Accenture All rights

reserved.

DevOps (a clipped compound of "development" and "operations")

is a culture, movement or practice that emphasizes the

collaboration and communication of both software developers and

other information-technology (IT) professionals while automating

the process of software delivery and infrastructure changes.

It aims at establishing a culture and environment where building,

testing, and releasing software, can happen rapidly, frequently, and

more reliably.

IT organizations typically

spend more time testing,

deploying and releasing

software than designing

and building it

A high proportion of

production incidents are

a result of human errors

in the manual release

of software

IT Development and IT

Operations have different

values and ways of

working that are often

not in alignment

“IT Speed: The Crisis and the Savior of the Enterprise,” A Forrester Consulting study commissioned by Chef, December 2013

4Copyright © 2016 Accenture All rights reserved.

Challenges . . .

Only 17% of IT teams can deliver fast enough*

5

What if you could . . .

Copyright © 2016 Accenture All rights

reserved.

• Tests executed in representative

environments automatically

on check-in

• Elimination of regression defects

early in the lifecycle

• Security vulnerabilities identified

at build time

• Changes introduced real time

and trivial to revert

• Managed roll-out of new features

via A/B testing to identify the

impact of releasing it

• Business-centric metrics enable

real-time service management

• New features introduced in days

or hours, not months

• Metric-driven feedback loops

improve productivity and provide

guidance to continuously tune

business services

• Functionality is released on-

demand, independent to release

cycles

Experiment

without regret

Release with

confidence

Release

at pace

6

High Performance with DevOps

Copyright © 2016 Accenture All rights reserved.

Zero-touch build and deploy

Cohesive teams with shared

objectives

Embrace failure, recover

automatically, degrade gracefully

Continuous Improvement

Strong source control

Test early and often

Automate everything (in pipelines)

Fine-grained service architecture

(API-first)

Lean principles and continuous

delivery of value

Experiment without regret

Elastic supply of cloud resources

Optimizing Development and Operations to enable the realization of business goals through rapid feedback and flexible IT

7Copyright © 2016 Accenture All rights

reserved.

Our clients deliver faster and with lower risk by implementing DevOps

Benefits

Time To MarketReduce time to

market by up to 50%

through streamlined

software delivery

ThroughputIncrease team

productivity and deliver

new functionality faster

SecurityOperational state

is more stable and

secure and changes are

systematically auditable

RiskEarly identification

of quality concerns,

reduction of defects

across the lifecycle

up to 30%

8Copyright © 2016 Accenture All rights reserved.

Five fundamental practices enable optimized delivery of IT solutions

DevOps practices

Automated

Operations

Automated event

recovery, monitoring

and anomaly

detection

Automated

Release of

Software

Automation of build

and deploy process,

application asset

management, Software

Configuration

Management (SCM)

Continuous

Integration

Advanced SCM

concepts, automated

unit testing, static code

analysis, automated

build and deploy

process

Continuous

Delivery Pipelines (with automated QA)

Orchestration and

automation of all

software development

lifecycle processes

Software Defined

Infrastructure

& Cloud

Automated creation of

environment, dynamic

scaling, drift detection

and remediation

9

Open format

Copyright © 2016 Accenture All rights reserved.

• Organizational Transformation

• DevOps enablement (ADOP)

• Case: Payment Provider (leading edge DevOps)

• Case: Large Insurance company (DevOps @ Scale)

• Case: Siebel

• Case: Pega

• Open Questions

Accenture Architecture Services

DevOpsOrganizational Transformation

11Copyright © 2016 Accenture All rights reserved.

CultureFocuses on achieving desired mindsets and behaviors

Process & TechnologyOutlines the steps and actions required identifies success measures for a transformation effort

Organizational Transformation

Transformation focuses on people and culture, while blending our

assets with current customer materials and augmenting with

industry leading practices.

Organizational Architecture & InfrastructureDefines the organization blueprint with the its strategic intent

PeopleEnsures team members possess the right skills and knowledge

LeadershipBuilds leadership practices to ascertain alignment to the business objectives, context and change agenda

Business TeamsEngagement model with the Business teams on Agile projects

Agile Transformation

Typical Challenges in (Distributed) Agile

Project & Quality Management

• Ability to assess impact on release cost and timelines with changing scope

• Complexities in data integration• Challenges in managing distributed teams

Requirements & Change Management

• Proper story prioritization to have evolving features and product• Inter-story dependencies leading to stories being pushed

to next sprint• Stories changing in middle of the sprint• Incomplete stories leading to high onsite dependency• Not setting done criteria

Test Management

• Inadequate Test Coverage• Code Broken due to frequent builds• Acceptance of higher defects (early detection)• Inadequate API Testing• Performance bottlenecks

Packaged Implementations

• Extensive organization wide dependencies• Heavy analysis & design phase• Late realization of customer value• Define tangible sprint/ release outcome criteria• New implementation on existing package - Dependency

on existing implementation • Limited automation support• Data integration complexities

Business

• Handling upstream and downstream functional dependencies• Clear & active executive sponsorship for cross-functionality• Business users commitment & involvement throughout project

• “Empowered” product owner availability to the distributed team

People

• Mindset for evolving requirements (vs looking for perfection and error-free goals)

• Acceptability for taking calculated risks• Harder to create and sustain trust and empowered teams• Frequent changes leading to low motivation

Environment

• Balancing collocation benefits vs distributed agile (scale)• Limited automation possibility• Unstable environments • Availability of Continuous Integration environments

13Copyright © 2016 Accenture All rights

reserved.

Choose the correct framework for your organization

Agile Frameworks

13

SAFe Less

SpotifyNexusNexus

15

Organization: Autonomous DevOps team

Copyright © 2016 Accenture All rights

reserved.

The DevOps team should feels like a mini startup be self organizing and should be end to end responsible (including deployment to production and standby support).

Organization: Self-service modelInfrastructure & client App squads deliver support and are enables for the other Squads. There job is to speedup the deliverables of feature squads by automation and tooling.

9Copyright © 2016 Accenture All rights

reserved.

Organization: example of an end-state organization

PO PO PO

Squad 1

Tribe lead

Squad 5

TribeSquad 2 Squad 3

Chapter(incl 1 capability lead)

Tribe

Agile Coach

Squad 4

PO PO

Tribe PO

Tribe lead

Tribe

Agile Coach

Tribe PO

Test Chapter

Lead Tribe 1

Test Chapter

Lead Tribe 2

Test Capability

Lead

Test Capability example

Chapter(eg. Build, Test, UI)

Tribe

Accenture Architecture Services

DevOpsEnablement

Accenture DevOps Platform

The Accenture DevOps Platform is a cloud based development platform, bringing together an integrated

collection of open source tools for developing, deploying and managing applications using DevOps best

practices. The Accenture DevOps Platform can be provisioned in under 10 minutes, enabling projects to

rapidly set up automated delivery pipelines and environments, whilst reducing the cost of continuously

developing, testing and releasing code.

Cloud based hosting & access to application services through Accenture approved Cloud Platform.

Re

lease

Dev.Source Control

Code Review

BuildCode

QualityDeploy Testing

A-B Test

Release ConfidenceCycle-Time Risk of Change

• New features introduced in days or hours, not months

• Continuous experimentation without regret allows business services to be continuously tuned

• Metric-driven feedback-loops improve productivity

• Changes introduced real-time and trivial to revert

• Tests executed in representative environments automatically on check-in

• Elimination of regression defects

• Managed roll-out of new features – via A/B testing

• Business-centric metrics enable real-time service management

• Security vulnerabilities identified at build-time.

The resources and tools support process and quality deliveries

Benefits

20

Accenture DevOps Platform Architecture

Copyright © 2015 Accenture All rights

reserved.

21

Cross Platform DevOps Services

PLMJava .NET SFDC Pega Oracle SAP IBMMainfram

eBIDW

Development Operations

DevOps Strategy & Assessment

DevOps centric architecture

Implementation offerings

Change Management

Managed service

Testin

g

Automated Operations

Release Automation

Continuous Integration

Continuous Delivery

Software defined

infrastructure and cloud

AD

OP

Cart

rid

ge

Beyond DevOps - E2E Delivery Enablement

Seven classes of service Environment Management ServicesContinuous Integration Services

Enabling and Facilitating Delivery

Services that

• Deliver outcomes by comprehensively facilitating and enabling delivery

• Are performance centric• Are consistent• Mitigate risk• Can be scaled and flexed• Whose tight integration amplifies individual

effectiveness

Continuous Integration and Delivery is key to rapid and stable delivery.The DevOps automation capability sets it up and delivers it as a service for DevOps Teams

Services that provide a solid gateway to the cloud:

• Through automation• Technical expertise

DevOps automation

as a Service

Accenture Architecture Services

DevOpsPayment Provider

24Copyright © 2016 Accenture All rights reserved.

The Client is one of the market leaders as a Payment Service Provider, processing

international ecommerce payments for the world’s most recognized ecommerce

brands.

With nearly two decades of payments experience, they enable clients to efficiently and

securely accept payments from more than 170 countries in more than 150 currencies,

using in excess of 150 local payment methods including all major credit cards, debit

cards and alternative payment methods.

Payment Service Provider

25Copyright © 2016 Accenture All rights reserved.

The client was looking to re-platform and support current switch technology providing

flexibility and scale to support their business. This includes not only a robust switch

for standard and alternate payments, but for provisions that will enable merchants and

acquirers to on-board onto the platform rapidly.

Challenge

Challenges:

• 1000 transactions per second

• 99,999% uptime

• Refactor to a new technology stack

• Refactor to a modular system

• Enable Continuous Delivery &

DevOps

26

Refactoring 14 year old application to state of the art technology both on application level as on process level

Copyright © 2016 Accenture All rights

reserved.

One big monolithic application Divided to SOA Architecture

27Copyright © 2016 Accenture All rights reserved.

Refactoring on three areas

Transformation where divided in 3 areas

Organizational

& Cultural

change

Architecture

enablement

Operational

readiness

Organizational & Cultural change

29Copyright © 2016 Accenture All rights

reserved.

Choose the correct framework for your organization

Agile Frameworks

29

SAFe Less

SpotifyNexusNexus

31

Organization: Autonomous DevOps team

Copyright © 2016 Accenture All rights

reserved.

The DevOps team should feels like a mini startup be self organizing and should be end to end responsible (including deployment to production and standby support).

Organization: Self-service modelInfrastructure & client App squads deliver support and are enables for the other Squads. There job is to speedup the deliverables of feature squads by automation and tooling.

9Copyright © 2016 Accenture All rights

reserved.

Organization: example of an end-state organization

PO PO PO

Squad 1

Tribe lead

Squad 5

TribeSquad 2 Squad 3

Chapter(incl 1 capability lead)

Tribe

Agile Coach

Squad 4

PO PO

Tribe PO

Tribe lead

Tribe

Agile Coach

Tribe PO

Test Chapter

Lead Tribe 1

Test Chapter

Lead Tribe 2

Test Capability

Lead

Test Capability example

Chapter(eg. Build, Test, UI)

Tribe

Organization: Implementation at Client

34Copyright © 2016 Accenture All rights reserved.

PO PO PO

Team 1

FO Dev lead

Team 5

ProjectsTeam 2 Team 3

Chapter(incl 1 capability lead)

FO

Offshore

lead

Team 4

PO PO

FO PO

Dev Project

Team Leads

Dev AM

Lead Team 2

Dev Capability

Lead

OPS Capability example

Chapter(eg. Build, Test, UI)

AM

35Copyright © 2016 Accenture All rights

reserved.

Architecture enablement

Lego contraptions

36

Micro Services

Copyright © 2016 Accenture All rights

reserved.

The micro services architectural style is an approach to developing a single application as a

suite of small services, each running in its own process and communicating with lightweight

mechanisms. These services are built around business capabilities and independently

deployable by fully automated deployment machinery.

R1.1: Setup the basic core architecture by strangler pattern

Approach agreed for R1.1

37Copyright © 2016 Accenture All rights reserved.

Business Logic

Application server

Logic

Logging logic

Exception handling

logicCaching logic

Threading logic

GetOrderStatus

Newly Build Business Logic

Application server Logic

Logging logic

Exception handling

logicCaching logic

Threading logic

The approach for refactoring full Legacy application is to first address the

crosscutting concerns (e.g. get the application working on WebLogic) then

move on to the business functions.

Refactoring Approach

38Copyright © 2016 Accenture All rights reserved.

Business Logic

Application server

LogicLogging logic

Exception handling

logic

Caching logic

Threading logic

GetOrderStatus

Threading logic Caching logic Logging logic Exception handling Business function grouping

Micro Services

Operational Readiness

Software Defined Infrastructure & Cloud

40Copyright © 2016 Accenture All rights reserved.

Auto Scaling Pay per use

Infrastructure as code

41Copyright © 2016 Accenture All rights

reserved.

Resolving the interdependencies in the IT environment

42Copyright © 2016 Accenture All rights

reserved.

Resolving the interdependencies in the IT environment

43Copyright © 2016 Accenture All rights

reserved.

Resolving the interdependencies in the IT environment

Manual

Semi-Auto

Automatic

Deployment pipeline at the client

Commit code Code Repository Build server

Artifact Repository

QA test

environmentsLive

environment

Artifact Repository

Integration

test environment

Pre-production

Environment

Cloud

On premise

Automatic Automatic &Manual

TestManual ValidationManual & Real

Client Test

DEV

DEV X

ACP

Environment Time Tests

Build Server On Commit • Unit test

• Integration unit test

Development On Commit &

Daily

• Regression test

• Manual test

Test On Demand &

Daily

• Regression test

• Manual test

Trunk On Demand &

Daily

• Regression test

• Performance test

• Manual test

QA Test On Commit &

Daily

• Integration test

Integration

Test

On Demand &

Daily

• User acceptance

test

Pre-

production

On Release • Performance test

• Manual test

• Real client test

Production On Release • Validation test

Copyright © 2014 Accenture All rights reserved. 45

Branching Strategy

Trunk

Refactoring

Maintenance

Trunk is

always

releasable

Publish to

Trunk when

a Defect is

resolved

Publish to

Trunk when

a Story is

resolved

Day 1 Day 2 Day 3 Day 4 Day X

Sprint 1

For every

Branch an

owner will be

assigned

Daily Merge from

trunk to the

workbranches

“catch-up

Resolve conflicts

on a workbranch

immediately

when discovered

Go-Live 2

times a week

or faster

Commits to

trunk need to

be reviewed

by Architects

V1.0

Page 46

Demo flow (if time permits)

Ticket creation Coding Build package Deploy Test

Deliver to Client

Environment

Cloud environment

There should always be time to improve

Copyright © 2015 Accenture All rights

reserved.

47

Accenture Architecture Services

DevOps@ Large NA Insurance Client

DevOps Overview and Delivery Enablement

49

Enabling and Facilitating Delivery

Key Challenges & Benefits Derived

50

Long Release cycles and Fall outs

Quarterly & Monthly releases24 out of 30 releases missed SLO’s to customers

Positioned to do Daily Releases.58 out of Last 60 Major production releases signed off on time.

Application Dependability and Packaging

High Build time.No Continuous Integration Framework.

Introduced Unit Testing ,Concepts of Nightly builds and Code review tools.

Environment Stability/Availability/

Accountability

Cancelling of ongoing test cycle due to wrong ENV configuration.Incorrect code merge affecting Agile team velocity

Strong SCM, Branching & Merging Strategies.Automated build and deploy followed by technical checkouts and tool based log validation.

Processes and Quality Gates

Code deployed without any approvals.Production fall out could have been avoided by leveraging experience from lower environment deployments

Release Management practice introduced.Implemented Version Dashboard.

Metrics and Workflow mechanism

No Operational Data for AnalysisNo Defined Source of Requests – Emails and IM Conversations.

Implemented Service desk to track workflow & scope.Defined complexity criteria & Transaction Based Model.

Classification Challenges Benefits Achieved

DevOps Execution – Service Delivery Model

DevOps Execution SLO’s

52

AES 2010- mid 2011

•Theme: Stabilization

•Focus: Meet SLO

•Establish rigor in processes and Service Desk model

•Achieve steady-state

AES mid 2011 –2012

• Theme: Optimization

• Efficiency levels reached

• MTTR for Incidents: < 1 hr

• Deployment effort/WU: 7 mins

• Build effort/WU: 30 mins

• Cost per WU $23 -$25

• Rebranded to DevOps

DevOps mid 2012 –mid 2014

Theme: Next-Level

• Focus:

• Organizational Excellence

•DevOps Competency Framework/Career Model

•Team realignment to platforms/specialization.

• Improved Customer experience

•Sharing and re-use across enterprise

• Process excellence•Software Config Management

•Expedite’ service offering/chargeback

• Technology Excellence

•Focus on self service & automation

DevOps mid 2014 Onwards

Theme: Next –Generation

• Industry Alignment•Service Desk 2.0

•Dynamic Environment Provisioning

•Implement Infrastructure as code.

•Addition of higher-value catalog items

• Cost to Serve•Transaction based Pricing model

•Overall 5% Reduction in invoice amount in last 6 months

Our DevOps Journey – looking ahead to DevOps 2.0

DevOps 2.0

Manage/ Configure

Private Data Center

CODE

Code Coverage, Review & Quality

Artifact RepositoryVersion Control

Code & Config.

Clo

ud

Platfo

rm

Continuous Integration

Au

tom

ated

Pac

kage

Pro

gres

sio

n

Monitoring

Scalable

Manage/Configure

App Containers

UAT Space

App Containers

SYS Space

App Containers

DEV Space

DevOps

Quality Assurance

DevOps

Au

tom

ated

Reg

ress

ion

Tes

t C

ases

Proposed Continuous Delivery Model

Accenture Architecture Services

DevOpsAutomation with Siebel

56

Current state, how we do today, challenges we face

Copyright © 2015 Accenture All rights

reserved.

Gathers requirements

Creates a user story

Stakeholder/

Business User/

Accenture Onsite

Dev Lead

Estimate the work

and assign to

Team members

Work on the Development of

code

Create Unit test

Run validation checked

Dev Team

Developer 1Developer 2 Developer 3

Unit Testing, Peer review of

codeDeploy to Prod

Dev Server

Test cycle

(System Test)

Testing team

Test cycle

(Integration

Test)

Deploy to Pre

PROD

Siebel Admin Team

QA Environment

build

Siebel Admin Team

Scheduled build in

Dev

Siebel Admin Team

Test cycle

(Regression

Test)

Testing team

No common approach of

version control

No integrated

approach in buildhandshaking of

requirements

Siebel Admin Team

Code reviews are not

comprehensive

• Individual tools for different server admin

jobs

• Manual intervention is high

• No support incremental builds

Erro

r

• Inconsistent build

No impact assessment

No common approachManual provisioning of server

Higher down time

No support for adhoc builds

Plan and Analyze

Design & Build Testing Deployment

Challenges Impact

1 No handshaking of

requirements

Requirements

are not traced

end to end

2 No integrated

approach in build

No support

parallel

development

3 Code reviews not

comprehensive

More rework

on code

4 No impact

assessment in

Testing

Higher

regression

testing effort

5 Manual intervention

in deployments

Increased

downtime,

inconsistent

build

1 2

34 5

Unit Testing, Peer review of code

57

DevOps – how we do next

Copyright © 2015 Accenture All rights

reserved.

Gathers requirements

Creates a user story

Stakeholder/

Business User/

Accenture Onsite

Dev Lead

Estimate the work

and assign to

Team members

Work on the Development of

code

Create Unit test

Run validation checked

Dev Team

Developer 1Developer 2Developer 3

Deploy to Prod

Dev Server

Test cycle

(System Test)

Testing team

Test cycle

(Integration

Test)

Deploy to Pre PROD

Siebel Admin Team

QA Environment

build

Siebel Admin Team

Scheduled build in

Dev

Siebel Admin Team

Test cycle

(Regression

Test)

Testing team

1. Real time view of

Requirements status

2. Initiation of design and build

Siebel Admin Team

Erro

r

Version

Control

Distributed Agile

methodology

implemented

Automated

Build

Incremental

Build

Automated Code

Review

Software Configuration

management

Continuous

Feedback

Continuous Build

through automated

scripts

Continuous Integration Continuous Delivery

Parallel

deployments

Decreased

downtime

Automat

ed

Testing

DevOps solution

Plan and Analyze

Design & Build Testing Deployment

30% reduction

in Siebel

deployment

efforts

10% reduction on

the Code Reviews

60% reduction on

the regression

testing efforts by

using UFT

100% automated

Siebel compilation

Illustrative data from DevOps Pilot deployment

DevOps for Oracle Siebel – Continuous integration & DeliveryEnabling automated build, static code analysis, automated testing, and deploy process

58

Project requirement &

Planning

Code Check-in

to Siebel Server

and SharePoint

Jenkins

Orchestrate CD

pipeline

Jenkins CI

pipeline Kicks

off

QA – Deploy

and Test

Pre Prod –

Deploy and Test

PROD – Deploy

and Test

Chef for

Platform

Readiness

+

1) Code

Review &

Quality - Code

Review tool

(ASD CRT)

2) Build –

Automatic

Compilation tool

and Create

package scripts

3) Test –

Impacted Object

based test

automation

Dev Test –

Deploy and Test

(With

Dependencies)

+

Jenkins- Continuous Integration Jenkins - Continuous Delivery

Accenture Architecture Services

DevOpsAutomation for Pega

Automation enabled Agile Delivery

Plan and Analyze

Design & Build

Test DeploymentEnvironment Management

Project Scope/Project Management / Release Management

Application Prototyping

Build Tools

Code Quality Check

Application Test Management

Testing Automation

Deployment Code Upgrade & Maintenance

Accenture Rule Reviewer(PART)+ Pega GuardrailPerformance-PAL, Log Analyzer-PLA & AES

• AUTCG+• AUT• Selenium• UFT

• Pega OOTB• Automated

Deployment Optimizer

• Accenture System Diagnostic (X-Ray)

• Project Management Framework

(PMF)• Pega DCO• MS Project*• JIRA• ADM Estimator

for Pega

Pega Application Express

• Pega Designer Studio

• Pega OOTB for version control

• Pega Test Management Framework (TMF)

• HP QC*• HP ALM*

OOTB+ Custom* Other Vendors

**Highlighted are tools used in the prototype

Checklist approach followed for deployment

Pega stack has multiple framework/utility to support each phases but they are not integrated.

Majority of testing is Manual

Code Quality and Code review handoff happens manually

Copyright © 2015 Accenture All rights

reserved.

61

Tools

Pega 7, Jenkins, Bamboo, Jira, Sharepoint,

TelluriumAssets and Accelerators:

Accenture Rule ReviewerAccenture Unit test case generator,

Deployment Optimizer

Developer checks-in which triggers the process

The pipeline is initiated with QA review

Continuous Integration Server acts as an orchestration engine to execute the

configured pipeline

Build, Test and Deploy activities are completely automated

DEVELOPER

Pega Continuous Integration ApproachEnabling automated build , static code analysis, automated unit testing, and deploy

process

Copyright © 2015 Accenture All rights 62

Pega

Design

Lock The ruleset

&

propUtils.propert

y

Code Quality

(Accenture

Rule

Reviewer)

Build

Package

request

Unit Test

(Accenture

Unit Test

Case

Generator)

Pega Package

Script/cmd called from

Jenkins

Import Command

- Package picked

from Pega server

SharePoint

propUtils.property

SharePoint

Upload

Package

Trigger Email

(feedback)

Verif

y

Build

errorTesting

Framework

Deplo

y

Test

Resu

lt

SME review

and signoff

Project requirement &

Planning

Deployment

DevOps for Pega CI Phase1 Technical BlueprintEnabling automated build , static code analysis, automated unit testing, and deploy process

63Copyright © 2015 Accenture All rights reserved.