Post on 14-Jul-2015
Adopting DevOps Concepts With IBM
Enterprise Solutions
JP Morgenthal, Director, Cloud Computing & DevOps PracticesE: jp.Morgenthal [at] perficient.comT: @jpmorgenthal
2
Award-Winning Trusted IBM Consulting & Solutions Firm
Founded in 1997
Public, NASDAQ: PRFT
2014 projected revenue ~$454 million
Global delivery centers in China and India
>2,600 colleagues | Dedicated solution practices
~90% repeat business rate
• Local Business Units in over 20
major US Cities
• 30+ IBM Awards:
• 2015 Beacon Award Winner – Analytics
• 2014 IBM Innovation, Pure & Simple
Outstanding Collaboration Award
• 2014 IBM Collaboration Solutions Best Digital
Experience Award
• Solution Integration Award 2012
• 3x Lotus Distinguished Partner
• Best Portal Solution Award 2010
• Industry Focused & Authorized:
• Healthcare, Retail & Financial Services
3
Deliver software-driven innovation, faster
What is“DevOps”
DevOps is a problem domain that
encompasses the bottlenecks and
constraints related to application
delivery.
DevOps-related issues are
resolved through the adoption of
continuous delivery.
Businesses achieve continuous
delivery through application of lean
IT
Steer
Deploy
OperateDevelop and test
DevOpscontinuous feedback
4
Drives need | Drives investment
You must embrace new business models
and disruptive technologies to be competitive and innovate
Focus on operational costs
• Consolidation and modernization
• Operations automation
• Risk and compliance management
• Manual policy to analytics-driven
optimization
Focus on speed and agility
• Assemble solutions from verified
components and services
• Fast deployment and redeployment
• Agile to DevOps model
• User-first delivery model
Applications enabled for cloud Applications built for cloud
Development
Operations
Optimize Innovate
5
Emerging systems of interaction create
challenges across the software delivery lifecycle
Line of business and marketing
We must accelerate delivery of our mobile and cloud applications. Our competitors deliver something new almost weekly.
VP or director of application development
We need infrastructure to build, run and monitor our mobile apps directly on the cloud. The business demands that we develop new capabilities, but we don’t have the bandwidth to respond to their timelines.
Development and test
Our development and test environments don’t accurately represent live systems, costing us rework and time. We need real-time feedback from users on our mobile and cloud applications so we can respond quickly.
Operations team
We lack the skills and resources for a mobile development environment. Our production environments are so complex and interconnected, we just can’t meet the needs of our development and test teams.
6
Common Approach To Enterprise Application
ArchitectureArea of Responsibility
Middleware Database App ServerE-Commerce Order Management Supply-Chain
WCSIIB
DB2
OMS
SAP
Has Dependency On
7
Common Approach To Enterprise Application
ArchitectureArea of Responsibility
Middleware Database App ServerE-Commerce Order Management Supply-Chain
WCSIIB
DB2
OMS
SAP
Has Dependency On
Release X.0
8Source: Enterprise DevOps: Making IT
Work for Business, Morgenthal/Kavis
Enterprise DevOps Maturity Model
Maturity
Level
Level 1
Ad-Hoc
• Silo based
• Blame, finger pointing
• Lack of accountability
• Resource overloading
• Information withheld
vs shared
• Manual processes
• Tribal knowledge is the norm
• Unpredictable, reactive
• Lack of defined or immature
SDLC
• Excessive unplanned work
• Manual build &
deployments
• Manual testing
• Environment
inconsistencies
• Long lead times for dev/test
Level 2
Repeatable
• Managed
communications
• Limited knowledge
sharing
• Gated & documented
handoffs
• Processes established w/in
silos
• No standards
• Can repeat what is known
but can react to unknown
• Bastardized methodology
implementations
• Automated builds
• Automated tests written as
part of story development
• Painful but repeatable
releases
Level 3
Continuous
• Collaboration exists
• Shared decision
making
• Shared accountability
• Process are automated
across SDLC
• Standards across
organization
• Executed on a continual
basis & event driven
• Automated build & test
cycle for every commit
• Push button deployments
• Automated user &
acceptance testing
People Process Technology
9
Source: Enterprise DevOps: Making IT Work for Business, Morgenthal/Kavis
Enterprise DevOps Maturity Model
Maturity
Level
Level 4
Improved
• Shared metrics w/ a
focus on removing
bottlenecks & constraints
• Focus on cross-
functional continuous
execution
• Focus on MTTR over
failure avoidance
• Proactive monitoring
• Metrics collected &
analyzed against
business goals
• Visibility &
predictability
• Transparent to the
business
• Build metrics visible
and acted on
• Orchestrated
deployments with
auto rollbacks
• Non functional
requirements defined
& measured
Level 5
Optimized
• A culture of continuous
improvement permeates
through the organization
• Self service
automation
• Risk & cost
optimization
• High degree of
experimentation
• Zero downtime
deployments
• Immutable
infrastructure
• Actively enforce
resiliency by forcing
failures
PeopleProcess
Technology
10
Common Issues Adopting Continuous Delivery For Enterprise Solutions
Insufficient number of environments to drive parallel development efforts
• Too many low-value policies
• To much middle management attempting to hold onto their area of control
• Misaligned governance
Organizational debt
• Ratio of defects per function point is too high
• Bad architecture
• Failure to adopt newer versions of software
Technical debt
Low levels of testing automation
Resource contention
11
Limit Work-in-Progress (WIP)
Develop Testing Center of Excellence
Don’t Automate Waste
QA is Validation, Not Defect Identification
Obtain Executive Level Sponsorship
Model QA & User Acceptance Test Environment to Perfectly Mimic Production
Leverage A Common Repository For All Release Artifacts
Removing Bottlenecks & Constraints
12
Perficient & IBM Can Help
Velocity Limit Assessment
This assessment evaluates
multiple variables that impact your
organization’s ability to absorb change
and deal with disruptive technology.