0% found this document useful (0 votes)
224 views20 pages

What Is DevOps? - IBM

This document provides an overview of DevOps, including its definition, benefits, tools, methodologies, and lifecycle. DevOps is an approach that development and operations teams use to build, test, deploy, and monitor applications quickly and reliably. It promotes collaboration between different teams. The document discusses DevOps tools, methodologies like continuous integration and delivery, principles, and strategies to accelerate software delivery while improving quality.

Uploaded by

Julek Pietrzak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
224 views20 pages

What Is DevOps? - IBM

This document provides an overview of DevOps, including its definition, benefits, tools, methodologies, and lifecycle. DevOps is an approach that development and operations teams use to build, test, deploy, and monitor applications quickly and reliably. It promotes collaboration between different teams. The document discusses DevOps tools, methodologies like continuous integration and delivery, principles, and strategies to accelerate software delivery while improving quality.

Uploaded by

Julek Pietrzak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

IBM Cloud Free Tier

Create your account today 

IBM Cloud Learn Hub  DevOps

Site feedback
DevOps
DevOps

2 October 2019

By: IBM Cloud Education

IBM Cloud Free Tier


Create your account today 

   

In this guide, learn about DevOps, its processes, and how


it's an evolution of existing development models.

Table of Contents
What is DevOps?

Benefits of DevOps

DevOps tools

DevOps methodologies, principles, and strategies

Continuous integration

The DevOps lifecycle

DevOps vs. ...

DevSecOps

The DevOps toolchain

Summary

What is DevOps?

With modern businesses moving at the speed of cloud, DevOps has


become an increasingly common approach to software delivery that
development and operations teams use to build, test, deploy, and monitor
applications with speed, quality, and control.

DevOps is essential for any business aspiring to be lean, agile, and


capable of responding rapidly to changing marketplace demands. It is an
approach on the journey to lean and agile software delivery that promotes
closer collaboration between lines of business, development, and IT
operations while removing barriers between your stakeholders, and your
customers.

To be essential to customers, all stakeholders in the delivery process


need to collaborate. Development teams need to design, develop, deliver
and run the software as quickly and reliably as possible. Operations teams
need to identify and resolve problems as soon as possible by monitoring,
predicting failure, managing the environment and fixing issues. Combining
this common approach across Dev and Ops with the ability to monitor and
analyze bottlenecks and optimize as quickly as possible gives you DevOps
—a collaborative approach across business, development, and operation
stakeholders to deliver and run reliable software as soon as possible.

Andrea Crawford, Distinguished Engineer and CTO of DevOps, gives a


deeper look into the evolution of DevOps and its underlying goals in her
blog post, "What is DevOps?" and the following video:

05:59

What is DevOps?

Explore more about DevOps tools and approaches with IBM DevOps.
Benefits of DevOps

Implementing a DevOps practice can add value to your organization


through a number of benefits, including the following:

• Faster code delivery

• Faster time to market

• Higher-quality software

• Improved collaboration between developers and operations

• Decreased time to resolution for fixing bugs and vulnerabilities

• A culture that brings business, development, and operations together


for improved responsiveness to market demands

DevOps tools

DevOps tools cover a range of processes within the software development


life cycle:

• Define and plan, which focuses on planning DevOps workflows for


iterations, release management, and issue tracking. Notable tools or
tool vendors in this space include Atlassian, CA Technologies, IBM,
iRise, and Jama Software.

• Code, build, and configure, which focuses on code development and


review, source code management, and code merging. Notable
tools/tool vendors include BitBucket, Electric Cloud, GitLab, GitHub,
and IBM.

• Test, which verifies that the quality of the software release and code
are maintained throughout the development process and that the
highest quality deploys to production. Notable tools/tool vendors
include Delphix, FlawCheck, HP, IBM, Microsoft, Parasoft,
SonarSource, Skytap, and ThoughtWorks.

• Packaging and preproduction, which refers to the activities involved


once the release is ready for deployment; it’s also called staging or
preproduction. Notable tools/tool vendors include IBM, Inedo’s
ProGet, Jfrog’s Artifactory, Sonatype Nexus repository.

• Release, deploy, and orchestration, which is the process of actually


releasing software and usually involves change management, release
approvals, release automation, schedule orchestration, provisioning,
and deploying into production. Tools/tool vendors in this space
include Automatic, Clarive, BMC, IBM, Flexagon, VMware, and
XebiaLabs.

• Continuous management and configuration includes continuous


configuration automation, configuration management, and
infrastructure as code. Notable tools/tool vendors include Ansible,
Chef, IBM, Puppet Labs, Otter, and Salt.

• Monitoring reports application performance and helps identify issues


impacting the user experience. Tools/tool vendors include Big Panda,
IBM, New Relic, Plumbr, and Wireshark.

For a closer look, watch our video, "Introduction to DevOps tools":


05:38

Introduction to DevOps tools

DevOps methodologies, principles, and strategies

DevOps methodologies

DevOps grew out of Agile. Agile is a way of producing software in short


iterations on a continuous delivery schedule of new features and bug fixes
in rapid cycles from two to four weeks. In contrast, DevOps brings the
development and operations teams together to focus on eliminating silos
to decrease time of addressing customer feedback and break down
bottlenecks to enable continuous software delivery. Consequently, they
can build, test, and release software more quickly with as much efficiency
and speed as possible.

Not only does DevOps involve more of the organization in the


development process—including lines of business, suppliers involved in
software delivery, and consumers themselves—but it does it in a way that
speeds development and improves quality, according to a white paper on
software-driven innovation. This can lead to the creation of a culture of
innovation when you adopt DevOps methodologies, allowing you to
collaborate and react with agility to changes in the market.

DevOps methodologies include the following:

• Continuous integration, which is where coding, building, integrating,


and testing take place.

• Continuous delivery, which includes continuous integration, but


mainly focuses on product releases.

• Continuous deployment, which focuses on automating releases of


projects as soon as possible.

• Operate for conducting the development operations of configuration


management and continuous monitoring.

For a deeper dive into some of these DevOps methodogies, see our
"DevOps 101" series of videos.

DevOps principles

At the heart of DevOps principles, you will find the idea of collaborative
learning and collaborative relationships between development and
operations. They focus on increasing the pace of planned work for higher
deployment rates, while also upgrading the reliability, stability, resilience,
and security of the production environment. To establish an organization
based on DevOps principles, you need to emphasize this holistic, whole-
system approach across not just the development and operations
departments but also every surrounding department and support
organization within the company. In return, your whole system should be
used to shape your organizational goals. DevOps principles include:

• Process improvement initiatives to truncate feedback loops to


continuously implement needed bug fixes and vulnerability
remediation earlier and more cost effectively

• Continual experimentation that encourages risk-taking and learning


from success and failure, so continuous attempts will lead to future
success and mastery

• Learners becoming teachers and passing along their acquired


knowledge to their colleagues

• Using DevOps automation to improve efficiency

• Giving continuous feedback to the entire organization

• Incentivizing development, test, and deployment teams to collaborate


on shared goals

DevOps strategies

Continuous integration, continuous delivery, continuous deployment—by


now, you’ve got the idea that DevOps builds on the concept of continuity.
That’s not by accident; DevOps strategy focuses on the enterprise
capability for continuous software delivery that enables customers to
seize market opportunities and reduce time to customer feedback. As a
strategy, it involves people and is not focused on any one technology or
practice. It enables people to collaborate across teams and work on
problems anywhere in the software development life cycle. It always has
the customer as its sole focus, and the customer is everyone’s
responsibility. With a DevOps strategy you can do the following:

• Accelerate the delivery of reliable software

• Balance speed, cost, quality, and risk with increased capacity to


innovate

• Reduce time to customer feedback with improved customer


experience

Continuous integration

Within the rapidly evolving field of product and application lifecycles,


continuous integration maintains a simple objective—to frequently code,
build, integrate, and test the work of all developers on a software project
at least once a day. As a cornerstone of DevOps, continuous integration
keeps the code of an individual developer from drifting too far afield from
the work of the development group. This technique continually merges
source code updates from all developers on a team into a continuous
integration server.

If a failure occurs, the development team can refocus and fix it before
making any code changes. While this may seem disruptive, in practice it
focuses the development team on a single stability metric: a working
automated build of the software, according to the Carnegie Mellon
University Software Engineering Institute.

In the following video, Eric Minick takes a closer look at continuous


integration:

What is Continuous Integration?


The DevOps lifecycle

As the speed of business and cloud computing continues to increase, the


DevOps lifecycle has also accelerated to support them. DevOps offers an
approach that enables business, development, and operations to
continuously collaborate to deliver software to incorporate customer
feedback in less time and take advantage of gaps in the market where
there is not currently a solution.

Following a lean software delivery process, the DevOps lifecycle will allow
your team to identify waste, duplication of efforts, and bottlenecks in the
process by establishing a continuous innovation and improvement
feedback loop among customers, lines of business product managers,
software and product development, and operational manufacturing and
support. It will reduce time to obtain and act on customer feedback,
accelerate software delivery, and balance speed, quality, cost, and risk.

DevOps vs. ...

DevOps vs. Agile


As stated previously, DevOps is an evolution of Agile. The Agile
development model prescribes short, concentrated efforts on individual
product elements, typically completed in two to four weeks. Overall, the
iterative approach of Agile has the same objectives as DevOps:
collaboration, customer feedback, and small, rapid releases. While Agile
applies to a single practice, DevOps applies to the entire lifecycle of a
project or application. And while you shouldn’t necessarily have to choose
between an Agile and DevOps approach, you should know how they differ
in their application.

Agile enables developers to deliver their functions every two weeks to


respond to changing business needs. DevOps focuses on the operational
side of the software development lifecycle, reducing handoffs from
developer to operations teams, reducing the time to testing and deploying
code, and decreasing errors and downtime of operational systems.

DevOps vs. SRE

Site Reliability Engineering (SRE) is an approach to cloud operations that


ensures that continuously delivered, cloud-based applications run
efficiently and reliably by using software engineering and automation
solutions. The key concept is engineering, which includes a data-driven
approach to operations, a culture of automation to drive efficiency and
reduce risk, and hypothesis-driven methodology in incident, performance,
and capacity tasks. And while SRE didn’t evolve from DevOps, it is in
alignment. In addition, SRE is an engineering cloud approach to
operations that applies modern cloud design patterns to code, lasting
solutions to service issues, focusing at the application level and using
automation to manage the infrastructure layer. SRE will involve some or
all of the following tasks:
• Eliminating performance bottlenecks by refactoring services into
more scalable units

• Isolating failures through the use of the cloud-native design patterns

• Creating runbooks to ensure fast service recovery

• Automating day-to-day ops processes

What’s most exciting is that SRE is the practice of using DevOps to protect
your infrastructure. This leads to the role of the Site Reliability Engineer
becoming a hybrid DevOps role—part developer, part system
administrator. Because SREs have feet in both worlds, they should be able
to shift smoothly from fixing code issues to solving operational issues.
This flexibility allows quick redeployment of SRE resources as business
priorities change and products mature.

DevOps vs. SysOps

Up to this point, we have made it clear that DevOps combines the


functions of development and operations. An older term, SysOps (system
operations), also known as systems administration, sometimes seems to
confuse people and the two become conflated. So to explain the
difference between DevOps and system administration, InfoWorld states
that DevOps focuses on the higher-level processes across the company
and has end-to-end responsibility for products, while SysOps is devoted
to configuring and maintaining individual computer systems and smaller
scope projects.

But SysOps does have a role to play in the software development life
cycle. For example, a developer might ask SysOps to stop and start a test
CICS or IMS region, or managers might do the same for production
systems in the situation when a production system requires this kind of
intervention with a focus on ops, according to Joseph Gulla, adjunct
professor of computing at Nova Southeastern University. SysOps supports
a consistent manner to do deployment and change of an application to
help out the developer team.

DevSecOps

In the past, some people thought that DevOps and security mixed like oil
and water—meaning they didn’t. But according to Wired, DevOps benefits
security, and with the right automation and operational tools, you can
inject security earlier into the development process and increase the
security of production code.

This combination of DevOps and security gives rise to secure DevOps, or


DevSecOps. To implement secure DevOps, you must consider five facets
of security:

• Secure engineering: Products are developed with strong security and


comply with appropriate security standards.

• Secure deployment and operations: Cloud platform and applications


are configured and deployed securely, tested for security
vulnerabilities, patched, and have their bugs fixed.

• Separation of duties: Users access what’s required for their job duties
(i.e., the principle of least privilege).

• Availability and business continuity management: For 99.999


percent availability of infrastructure, runtime components, and
management components.
• Security evaluation and learning: You maintain security functions
and properties in code and services as threats evolve and you
discover new vulnerabilities.

Check out the video "What is DevSecOps?" to learn more:

What is DevSecOps?

The DevOps toolchain

Both culture and tools will help you realize the DevOps methodology. In
achieving this goal, it is vital to ensure data sharing and collaboration can
occur across the delivery tools pipeline. Incumbent and open source tools
—especially where investment has been made and still needs to be
adopted—can be used as part of the process in conjunction with IBM tools
that address the critical challenges faced by DevOps teams:

IBM Architecture Room Live is used to design and communicate new


architectures. It is a browser-based design and architecture tool allowing
real-time, multi-user, multi-site collaboration via a virtual architecture
“whiteboard.”
IBM Rational Test Workbench is used to virtualize the test environment
dependencies that are not available when the team needs to start testing.
It enables the creation, execution, and reporting of the quality of the
integration, functional and performance capabilities as well as the end to
end business and technical scenarios.

IBM UrbanCode Deploy is used to automate the deployment of software


to different environments. It mitigates the risk of managing multiple
application configurations, integrations, and versions across many
ecosystems.

IBM UrbanCode Velocity is used to orchestrate the overall delivery of the


entire software solution. It provides insight into how value flows through
each delivery pipeline and highlights where bottlenecks are disrupting the
flow.

Summary

To be essential to customers, all stakeholders in the delivery process


need to collaborate. Development teams need to design, develop, deliver
and run the software as quickly and reliably as possible. Operations teams
need to identify and resolve problems as soon as possible by monitoring,
predicting failure, managing the environment and fixing issues. Combined
this common approach across Dev and Ops with the ability to monitor and
analyze bottlenecks and optimize as quickly as possible, then this is
DevOps – a collaborative approach across business, development and
operation stakeholders to deliver and run reliable software as soon as
possible.

If you feel a DevOps approach would help your organization, please


continue to learn about its enabling processes of continuous integration,
continuous delivery, and continuous development in our other learning
guides and the resources below.

Resources

• IBM DevOps: Shorten releases, improve reliability, and stay ahead of


the competition

• Read the eBook, DevOps for Dummies

• Try IBM UrbanCode Velocity free for 60 days

Analyst perspectives

• Gartner Magic Quadrant for Application Release Orchestration, Q3


2018

• The Forrester Wave report: Continuous Delivery and Release


Automation, Q4 2018

• IDC MarketScape: Worldwide Cloud Testing, ASQ SaaS 2017 – 2018

Follow IBM Cloud

IBM Cloud News connects you to insight and information you can put to
work right away—straight from the minds of IBM Cloud experts, IBM
customers, and business and IT leaders.

Email subscribe
RSS
All topics 

You May Also Be


Interested In

Automation Automation

Improve Scale and Use Your Existing


Automation by Workflow Manager with
Modernizing Existing IBM Cloud Automation
Applications Manager
By: James Belton By: Sagar Jadhav

23 March 2020 19 March 2020


Be the first to hear about news, product updates, and innovation from IBM
Cloud Site feedback

Get updates to your inbox. 

Learn

What is Cloud Computing

What is Kubernetes

What are Containers

What is Serverless Computing

What is DevOps?

Data centers

Products

Solutions

Customers

Security

Build

Get started

Docs

Courses
Practices

Architectures

Toolchains

Engage

Support

Services

Garage

Partners

Blog

Newsletter

Twitter

YouTube

Facebook

Your account

Sign up

Log in

Get help
Login issues

Let’s talk

You might also like