DevOps is a concept that aims to break down silos between development and operations teams to improve software delivery. It focuses on communication, collaboration, and integrating the development and management of infrastructure, operations, and applications. The document provides an overview of DevOps, explaining its goals and benefits. It also outlines the key components of a DevOps process, including continuous integration, continuous delivery, configuration management, monitoring, and various tools used to support each part of the software development lifecycle.
2. Patrick Debois”Creator of
DevOps”
C
C
DevOps- Beginner’s Handbook
In the current fast growing, modern software delivery environment, the below three principles should always exist for the success of
the overall delivery.
Communication
C Collaboration
C Integration
I
This Article is dedicated to all the newcomers in the world of DevOps. This will give you a
detailed understanding of the Toolset Process and Methodology used in DevOps
DevOps (Development+Operations) was first coined by Patrick Debois, as an extension of agile development
environments that aims to enhance the process of software delivery as a whole.
After 2009 there was a paradigm shift in the development methodology, where people started shifting from
conventional waterfall to Agile by making each development stage independent and incorporating continuous
testing early on and throughout the development cycle.
The efficiency was increased by using “Agile” approach because of the fact that developers could make
immediate changes before shipping to production based on the continuous feedback they received from
customer. Although the development process was enhanced but there was still a discrepancy in the flow when
it came to deployment, which still embraced the waterfall methodology. While development used agile to
lower risk and increase efficiency, deployment hung on to the linear waterfall structure, slowing down delivery
and leaving testing to the end of the process — a process that wrongfully split ownership
It was through seeing this disconnect between development and deployment as well as understanding the
benefits of embracing agile in all aspects of software delivery that Debois “The Creator of DevOps” came up
with the concept of DevOps. The marriage of development and operations along with the extended best
practices and principles associated with agile had the potential to greatly increase efficiency and lower
delivery risks
3. In Gartner’s latest Hype Cycle for Enterprise Architecture DevOps is positioned right in the Innovation Trigger phase
DevOps is a part of the “Innovation Trigger Phase” as outlined in Gartner’s latest Hype
Cycle for Enterprise Architecture
The speed of application development and application change is increasing, and with it, the demand of “Rolls
Royce like” quality; Companies look to build new capabilities with high expectations being placed on the IT
department. While the IT industry has taken huge leaps in technology innovation, the quality of application
development projects has been lagging. Many IT projects run inefficiently, missing implementation deadlines
and causing outages during or after implementation and therefore costing significant more than
anticipated.DevOps is the new development that addresses such inefficiencies. DevOps connects
development, quality assurance, and technical operations personnel in a way that the entire ‘build-test-
release-run-repeat’ process operates as a factory, having clear roles and responsibilities and well-defined
inputs and outputs It is a concept that connects developers, quality assurance and technical operations
people.
What is DevOps
DevOps, in itself, is not a
new concept. A
development to operation
lifecycle has been existing
for quite some time. The
latest developments include
the ambition to
industrialize, automate, and
connect the entire process
covering infrastructure,
application, as well as
business changes. The
prime focus is on outage
reduction and quality
improvement.
4. DevOps Overview
In simple terms, DevOps refers to an umbrella concept that encompasses people, processes, and technologies required to connect
development to execution.
DevOps Practice
DevOps aim is to revolutionize the transition, de-risk IT deployments, eliminate the Excuse “but-it-works-on-my-
system”, and break the silos between developers, Testers, release managers, and system operators. The products
and tools developed in this area focus on maximizing predictability, visibility, and flexibility, while
Maintaining stability and integrity.
Version Control for all
Automated Testing
Proactive Maintenance
Proactive Monitoring
DevOps is the practice of operations and development engineers participating together in the entire service
lifecycle, from design through the development process to production support.
DevOps is also characterized by operations staff making use many of the same techniques as developers for their
systems work.
Scrum/Kankan
Visible ops/Change
management
Configuration management
Incident command system
Continuous
integration/Deployment/delivery
Virtualization, Cloud, Containers
Transparent uptime
Toolchain approach
5. Process Checklist
DevOps Overview and Checklist
Below is a snapshot of the delivery process in the field of DevOps. The Common Delivery cycle starting from Planing to
Operations are supported by various enablers like Continuous Integration/Continuous Delivery and collaboration.
Find ways to collaborate – involve others early
Find ways to automate and make self-service
Become metrics driven
Learn new things, continually improve
Understand the larger business goals, metrics, and priorities you
support
Communicate
Work in parallel with small batches
Allow refactoring
Prove the business value to management
6. Developers always want to deliver changes as soon as possible. Operation team wants reliability and stability
The Wall of confusion always exists between the development and operations, because of the
fast that development uses different tools and processes and operations uses different tools
and processes to perform their daily activities.
DevOps break down the walls between development and operations team, unifying
development to operations for better, faster outcomes.
Why Do we Need DevOps
7. This is the complete tool of a DevOps Process because without Automation there is no DevOps
Index Process Description Tools
1 Continous Integration Developers integrate code into a shared repository multiple times a day and
each isolated change to the code is tested immediately in order to detect and
prevent integration problems.
TFS, Jenkins, Teamcity, TravisCI, CircleCI
2 Continuous Delivery (CD) As an extension of CI and the next step in incremental software delivery, TFS,Jenkins, Teamcity, TravisCI, Electric
DevOps – ToolsDevOps-Tools
8. continuous delivery (CD) ensures that every version of the code that is tested in
the CI repository can be released at any moment.
Cloud, Go, Codeship, AWS CodeDeploy
3 Configuration Management n a nutshell, the process of maintaining up-to-date, detailed records of hardware
and software — including versions, requirements, network addresses, and design
and operational information — is known as configuration management (CM).
You can use CM tools such as Chef, Puppet, or Ansible to aid the process. You
can also use Bash and Python to build your own configuration management
automation.
TFS,Chef, Puppet, Ansible, Saltstack, Vagrant, CFEngin
e
4 Containers Linux containers are lightweight virtualization components that run isolated
application workloads. They run their own processes, file systems, and network
stacks, which are all virtualized using the root operating system (OS) running on
the hardware.
Docker, CoreOs, Kubernetes, Mesos,
ElasticBox
5 Source (Version) Control Version control includes practices and tools that help R&D organizations
maintain and control changes within their source code repository. R&D members
use source control tools to document and track system configuration files as
well.
GitHub, Bitbucket, JFrog, Artifactory, TFS
6 Bug Tracking A bug tracker is a system that aggregates and reports software bugs and defects.
It helps R&D organizations with task management and is part of the consistent
feedback loop that the DevOps methodology requires.
BUGtrack, JIRA, GitHub
7 Test Automation Test automation facilitates test engineer work by supporting multiple tests that
run continuously. It enhances test coverage while supporting efficient release
cycles. For example, test automation tools help manage, execute, and measure
functional tests and load tests
Selenium, Cucumber, JUnit, TestNG, JMeter. MS Test
Studio
8 Monitoring Monitoring is a primary element of IT performance management and is one of
the most important aspects when operating online services. Monitoring tools are
essential and provide crucial information that helps to ensure service robustness
in terms of availability, security, and performance
New Relic, AppDynamics, DataDog
AWS CloudWatch, Nagios, Zabbix, Sensu, Icynga
9 Log management Log management (or log analytics) is the practice of dealing with large volumes
of computer-generated messages.
Logz.io (ELK), Splunk, Sumo Logic
DevOps- Toolset