Post on 13-Mar-2018
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
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 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
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
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
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
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
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
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
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
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
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