DevOps 101 provides an overview of DevOps concepts and adoption in the enterprise. It discusses why DevOps is important to accelerate software delivery, improve quality, and increase collaboration between development and operations. The document outlines key aspects of adopting DevOps, including focusing on people, processes, and technologies. It also provides an overview of IBM's DevOps solution to help organizations continuously deliver innovation through improved software development and delivery.
3. Agenda
• Why DevOps?
• What is DevOps?
• Adopting DevOps
o People
o Process
o Technology
• IBM DevOps Solution
4. Agenda
• Why DevOps?
• What is DevOps?
• Adopting DevOps
o People
o Process
o Technology
• IBM DevOps Solution
5. Software Delivery is critical to success
5
54%
of companies believe software delivery is critical
25%
leverage software delivery effectively today
But only…
69%
outperform
those who don’t
leverage
software delivery
effectively
Source: “The Software Edge: How effective software development drives competitive advantage,” IBM Institute of Business Value, March 2013
6. And a lack of continuous delivery impacts the
entire business
6
Costly, error prone
manual processes and
efforts to deliver software
across an enterprise
CHALLENGES
Upgrade risk due to
managing multiple application
configurations and versions
across servers
Slow deployment
to development and test
environments leave teams
waiting and unproductive
CHALLENGES
Operations/
Production
Development/
TestCustomers
Business
Owners
Software glitch costs
trading firm Knight
Capital $440 million
in 45 minutes
A bad software upgrade
at RBS Bank left
millions unable to access
money for four days
New Zealand’s biggest phone company,
Telecom paid out $2.7 million to some
47,000 customers who were
overcharged after a software glitch
7. Patterns of challenges
Differences in dev
and ops
environments
cause failures
Backlog of agile
releases that Ops
cannot handle
Manual (tribal)
processes for
release lack
repeatability/speed
Lack of feedback and
quality metric leads to
missed service level
targets
Daily
Build
Monthly
Delivery
Who did
this last
time?
Dave…
Dave’s not
here
man…
Dev
Prod
8. Why DevOps?
Time to value
–Deploy faster. Deploy Often
–Reduce cost/time to deliver
Developer ‘Self-service’
–Allow Developers to Build and Test against ‘Production-like’ systems
Increase Quality
–Reduce cost/time to test
–Increase test coverage
Increase environment utilization
–Virtualize Dev and Test Environments
9. Why DevOps?
Deployment
–Minimize deployment related downtime
–Minimize roll-backs of deployed Apps
Defect Resolution
–Increase the ability to reproduce and fix defects
–Minimize ‘mean-time-to-resolution’ (MTTR)
–Reduce defect cycle time
Collaboration
–Reduce challenges related to Dev and Ops collaboration
–Dev vs. Ops
10. Agenda
• Why DevOps?
• What is DevOps?
• Adopting DevOps
o People
o Process
o Technology
• IBM DevOps Solution
11. DevOps is a Philosophy
Source: http://virtualplatosacademy.blogspot.com/p/great-philosophers.html
12. DevOps definitions
DevOps (a portmanteau of development and operations) is a
software development method that stresses communication,
collaboration and integration between software developers and
Information Technology(IT) professionals. DevOps is a response
to the interdependence of software development and IT
operations. It aims to help an organization rapidly produce
software products and services.
-- Wikipedia
13. DevOps definitions
…modern applications, running in the cloud, still need to be resilient
and fault tolerant, still need monitoring, still need to adapt to huge
swings in load, etc. But those features, formerly provided by the
IT/operations infrastructures, now need to be part of the application,
particularly in “platform as a service” environments. Operations doesn’t
go away, it becomes part of the development. And rather than envision
some sort of uber developer, who understands big data, web
performance optimization, application middleware, and fault tolerance
in a massively distributed environment, we need operations specialists
on the development teams. The infrastructure doesn’t go away – it
moves into the code; and the people responsible for the infrastructure,
the system administrators and corporate IT groups, evolve so that they
can write the code that maintains the infrastructure. Rather than being
isolated, they need to cooperate and collaborate with the developers
who create the applications. This is the movement informally known as
“DevOps.
-- Mike Loukides, VP, Content Strategy for O'Reilly Media, Inc.
14. Accelerate Software Delivery
Balance speed, cost, quality and risk
Reduce time to customer feedback
DevOps
Enterprise capability for continuous software delivery that enables clients
to seize market opportunities and reduce time to customer feedback
1414
Continuous Innovation, Feedback and Improvements
DevOps Lifecycle
Operations/
Production
Development/
TestCustomers
Business
Owners
15. DevOps Principles and Values
Develop and test against a production-like
system
Iterative and frequent deployments using
repeatable and reliable processes
Continuously monitor and validate operational
quality characteristics
Amplify feedback loops
People
Process
Tools
People
Process
Tools
16. Agenda
• Why DevOps?
• What is DevOps?
• Adopting DevOps
o People
o Process
o Technology
• IBM DevOps Solution
17. Adopting DevOps in the Enterprise
17
DevOps Foundation
Open Lifecycle and Service Management Integration Platform
DevOps Lifecycle
Operations/ProductionDevelopment/TestCustomers Business Owners
Continuous Innovation, Feedback and Improvements
Ecosystem
BestPractices
Monitor and Optimize
Plan and Measure Develop and Test Release and Deploy
OSLC
18. Agenda
• Why DevOps?
• What is DevOps?
• Adopting DevOps
o People
o Process
o Technology
• IBM DevOps Solution
19. 19
• Common Business Objectives
• Vision Statement
• Common measures of Success
Product
Owner
Team
Member
Team Lead
Team
Member
Team
Member
Senior
Executives
Users
Domain
Experts
Auditors
Gold Owner
Support Staff
External
System Team
Operations
Staff
Adopting DevOps in the Enterprise: People/Culture
20. 20
• The case for and against ‘DevOps Team’
• NoOps
• The DevOps Liaison Team
• No overlay layer of bureaucracy
Adopting DevOps in the Enterprise: People/Culture
21. 21
• Building a DevOps Culture
• There is no Silver Bullet
• Right People are needed
Product
Owner
Team
Member
Team Lead
Team
Member
Team
Member
Senior
Executives
Users
Domain
Experts
Auditors
Gold Owner
Support Staff
External
System Team
Operations
Staff
Adopting DevOps in the Enterprise: People/Culture
23. Agenda
• Why DevOps?
• What is DevOps?
• Adopting DevOps
o People
o Process
o Technology
• IBM DevOps Solution
24. 24
• DevOps as a Business Process
• A Process to get Capabilities from Ideation to Value
• Apply Lean Thinking to Processes
Adopting DevOps in the Enterprise: Process
25. Key Capabilities
1. Collaborative Development & Continuous
Integration
2. Continuous Business Planning
3. Continuous Release and Deploy
4. Continuous Testing
5. Continuous Feedback
Adopting DevOps in the Enterprise: Process
26. 1. Collaborative Development and Continuous Integration
http://bit.ly/PRQ4a7
Mobile App
Developent
Teams
Enterprise
Services
Developent
Teams
Adopting DevOps in the Enterprise: Process
27. 2. Continuous Business Planning
3. Continuous Release and Deploy
4. Continuous Testing
5. Continuous Feedback http://bit.ly/PRQ4a7
Adopting DevOps in the Enterprise: Process
28. Agenda
• Why DevOps?
• What is DevOps?
• Adopting DevOps
o People
o Process
o Technology
• IBM DevOps Solution
29. • Infrastructure as Code/Software
Defined Environments
package "apache2" do
package_name node['apache']['package']
end
service "apache2" do
case node['platform_family']
when "rhel", "fedora", "suse"
service_name "httpd"
# If restarted/reloaded too quickly httpd has a
habit of failing.
# This may happen with multiple recipes
notifying apache to restart - like
# during the initial bootstrap.
restart_command "/sbin/service httpd restart &&
sleep 1"
reload_command "/sbin/service httpd reload &&
sleep 1"
/* REXX */
/* REXX BIND processor sample */
trace o
Arg PACKAGE DBRM
rcode = 0
/* Set BIND options */
SYSTEM = 'DSN9'
i = Pos('(', DBRM)
len = Length(DBRM)
LIBRARY = Substr(DBRM, 1, i - 1)
MEMBER = Substr(DBRM, i + 1, len - i - 1)
OWNER = 'DEVDBA'
ACTION = 'REPLACE'
VALIDATE = 'RUN'
ISOLATION = 'CS'
EXPLAIN = 'NO'
QUALIFIER = 'DEVDBA'
Call Bind_it
Exit rcode
Bind_it:
/* Create a bind control statement as a single long line. Then */
/* queue that into a FIFO stack */
DB2_Line = "BIND PACKAGE("PACKAGE")" ||,
" LIBRARY('"LIBRARY"')" ||,
" MEMBER("MEMBER")" ||,
" OWNER("OWNER")" ||,
" ACTION("ACTION")" ||,
" VALIDATE("VALIDATE")" ||,
" ISOLATION("ISOLATION")" ||,
" EXPLAIN("EXPLAIN")" ||,
" QUALIFIER("QUALIFIER")"
/* Write the bind control statement to the data queue and execute */
/* DB2I to perform the bind. */
queue DB2_Line
queue "End"
Address TSO "DSN SYSTEM("SYSTEM")"
rcode = RC
Return
Rational Automation
Framework
(WAS, Commerce, MQ…)
Rational Automation
Framework
(WAS, Commerce, MQ…)
Adopting DevOps in the Enterprise: Technology
30. Adopting DevOps in the Enterprise: Technology
30
• Common Collaboration Tools
• Common Work Item Management Tool
• Dashboards to show status/progress
31. Agenda
• Why DevOps?
• What is DevOps?
• Adopting DevOps
o People
o Process
o Technology
• IBM DevOps Solution
33. IBM announces the acquisition of UrbanCode Inc.
Enhancing Continuous Release and Deployment:
Drive down cost by automating manual tasks,
eliminating wait-time and rework
Speed time to market by increasing the frequency
of software delivery
Reduce risk through increased compliance of
application deployments.
33
Deployment
Complements our DevOps solution:
Deliver a differentiated and engaging customer
experience by reducing time to customer feedback
Quicker time-to-value of software-based innovation
with improved predictability and success
Increased capacity to innovate by reducing waste
and rework in order to shift resources to high-value
activities
Complementing our DevOps solution, combining IBM and UrbanCode, will enable clients to
more rapidly deliver mobile, cloud, big data analytics and traditional applications.
34. Line of
Business
SmartCloud Orchestrator
IBM Pure Application System
Openstack
Jenkins
Rational Build Forge
uBuild
DevOps Tool Chain
Plan and Measure
Develop and Test
Release and Deploy
Monitor and Optimize
Rational Focal Point
Rational Requirements Composer
Rational Team Concert
Rational Quality Manager
Rational Test Workbench
Rational Test Virtualization Server
SmartCloud Control Desk
SmartCloud Application Performance Management
35. Line of
Business
SmartCloud Orchestrator
IBM Pure Application System
Openstack
Jenkins
Rational Build Forge
uBuild
DevOps Tool Chain
Plan and Measure
Develop and Test
Release and Deploy
Monitor and Optimize
Rational Focal Point
Rational Requirements Composer
Rational Team Concert
Rational Quality Manager
Rational Test Workbench
Rational Test Virtualization Server
SmartCloud Control Desk
SmartCloud Application Performance Management
36. Continuous testing with virtualized services
Avoid testing bottlenecks due to dependencies on external services
• Automate setup and management of test
virtualization server in the cloud
• Automates configuration of virtualized
services for an application under test
• Automate setup of production-like test
environments with low cost
Databases Mainframe
applications
Third-party
Services
Rational Test Virtualization Server
App deployApp deploy
Application
changes
being tested
virtualized services
IBM SmartCloud Orchestrator
IBM PureApplication System
SITSIT FVTFVT
IBM Rational Test
Workbench
IBM Rational Test
Workbench
37. What is Service Simulation and Test Virtualization?
Test Virtualization enables to create “virtual
services”:
–Virtual Services simulate the behavior of an
entire application or system during testing
–Virtual Services can run on commodity
hardware, private cloud, public cloud
–Each developer, tester can easily have their
own test environment
–Developer and testers continue to use their
testing tools (Manual, Web performance, UI test
automation)
37
Capture
&Model
Capture
&Model
System dependencies are a key challenge in
setting up test environments:
Unavailable/inaccessible: Testing is constrained
due to production schedules, security restrictions,
contention between teams, or because they are still
under development
Costly 3rd party access fees: Developing or testing
against Cloud-based or other shared services can
result in costly usage fees
Impractical hardware-based virtualization:
Systems are either too difficult (mainframes) or remote
(third-party services) to replicate via traditional
hardware-based virtualization approaches
Heterogeneous Environments
Public Cloud
Private Cloud
Data Warehouse Mainframe
Enterprise
Service Bus
Directory
Identity
File
systems
Collaboration
App Under TestRouting
Service
Third-party
Services Portals
Content
Providers
EJB
Shared
ServicesArchives
Business
Partners
Messaging
Services
Databases Mainframe
applications
App Under Test
Third-party
Services
Packaged apps, messaging services, etc.
Virtual Services
38. Testing with dependency virtualization
Phase 1 Phase 2 Phase 3
App
Test Case
Virtual Services
3rd
Party
Call
IMS
Data
Access
CICS
Commarea
Call
App
Test Case
Virtual
Services
3rd
Party
Call
IMS Data
Access
CICS
Commarea
Call
App
Test Case
Virtual
Services
3rd
Party
Call
IMS Data
Access
CICS
Commarea
Call
Controlled large system testing by isolating components under test
•Easier problem determination
•Lower test environment capacity requirements
•Improved component quality
39. Where to get more information?
IBM Enterprise DevOps blog
–http://ibm.co/JrPVGR
Understanding and Adopting DevOps (Series on my Blog)
–http://bit.ly/MyDevOps
IBM DevOps Learning Circles:
–http://ibm.co/13KPKej
IBM IOD 2011 08/07/13 Prensenter name here.ppt 08/07/13 17:18 Mandatory closing slide (1 of 2) Acknowledgements and disclaimers IBMers must include This mandatory “Acknowledgements and Disclaimers” slide at the end of your presentation before the closing “Thank You” slide. - You will need to customize the “Acknowledgements and Disclaimers” text in red appropriately.
Companies that can close the resulting execution gap stand to benefit. In fact, almost 70 percent of the companies currently leveraging software development for competitive advantage outperform their peers from a profitability standpoint -------------------------------------------------------------------------------------------------- Note: Outperformers were determined by a self-assessment of profitability against peers in the industry, ranging from 1 (Significant underperformers) to 5 (Significant outperformers) Significant outperformers were ranked as a 5, Average performers a 3-4 and Underperformers 1-2
From the Agenda: In this “ new normal, ” the most forward thinking companies will: Establish an enterprise capability for accelerated delivery of software that enables them to seize market opportunities and reduce time to customer feedback, improve governance while balancing quality and cost
Definitions to avoid confusion with Tivoli products Provisioning - box or vm; OS+middleware (these are the provisioning step) Deployment - install the app and configure the middleware (ie Hernandez)
We have Green Hat virtualized services today and SCD to automate the build, deploy, and test. What is new here is that we are leveraging the cloud for the GH test virtualization server and we have modified SCD to capture GH configuration data as part of a test environment. This gives us the ability to automate the deployment and setup of a test environment for application changes that automatically configures the GH virtualization stubs, turns them on, and configures the application to use the stubs. All of this is done leveraging the private cloud for its dynamic provisioning behavior giving us the ability to provision dedicated test environments without the dependency of complicated and sometimes costly end point services.
Optional slide. Graphic is available in English only.
Mandatory closing slide (2 of 2) Thank You Slide (available in English only).