Part 2
DevOps in a nutshell
June, 2021
v1.1
If you have not done so already, be sure to read part one
of DevOps in a nutshell which is also available on the
ProLink Arabia LinkedIn page.
In part one, we discussed the goal of DevOps, the three focus areas,
namely People, Process, and Products, and some of the key principles
that you need to follow to assist with a smooth transition. In part 2, we
will be looking at the DevOps lifecycle, tools, and benefits.
People
Process Products
DevOps three focus areas
ProLink Arabia
03
DevOps in a nutshell, Part 2
DevOps Lifecycle
The DevOps lifecycle describes a delivery cycle consisting of different phases,
representing development on the left side of the loop and operations on the right
side of the loop.
Continuous Development Continuous Testing
(Plan and Code) In this phase of the process, the new
The first phases of the DevOps lifecycle changes are continuously tested for
are where the planning and coding of bugs and problems. This stage consists
new software occur. The planning of executing an array of tests that can
stage is focused on understanding the include unit tests, security tests, load
customer’s needs and the vision of the tests using testing tools such as
project. Selenium, NUnit, and JUnit. Thus, the
After that, the software coding can be earliest level of testing in DevOps is
done using any programming language unit testing.
with the only requirement that the
source code is maintained in a version
control system such as GIT.
ProLink Arabia
04
DevOps in a nutshell, Part 1
Continuous Integration (CI) Continuous Monitoring
This phase is a critical part of the This phase is used for the ongoing
lifecycle and frequently merges the monitoring of the application,
new code written by developers into a dependencies, and underlying
single, centralized repository. This step infrastructure. Having an effective
involves compiling the new binaries monitoring strategy will allow you to
doing code reviews, performing static identify and
code analysis, testing, and packaging. resolve problems in your production
The key to this phase is to have rapid environments proactively. Ideally, you
feedback to the development team to want to discover and resolve problems
identify and resolve any issues quickly. before your customers report them.
Continuous Deployment (CD)
This phase automates the delivery of
new working software to a staging or
preproduction environment.
Using continuous deployment allows
an organization to deploy new versions
of working software to production
several times per day.
The difference between Continuous
Delivery and Continuous Deployment
is that Continuous Delivery steps are
automated but has a manual approval
step that requires a click of a button
before going to production, while
Continuous Deployment is fully
automated.
ProLink Arabia
05
DevOps in a nutshell, Part 2
DevOps Toolchain
The primary reason for adopting DevOps is to improve the delivery of working
software to your customers. To achieve this, your DevOps teams will need to use
tools to assist with the automation and execution of certain jobs and tasks. It is
important to note that the same tools should be used for deployments across all
environments.
The following shows common tools that are used at the different DevOps lifecycle
phases.
Plan
Jira and Azure DevOps
Code
Bitbucket, GitHub and Azure DevOps
Build
MSBuild, Gradle, Maven and Ansible
Test
JUnit, NUnit, JMeter and Selenium
Deploy
Team City, Docker, Puppet, Chef, Ansible and
OpenShift
Operate
Puppet, Ansible, PowerShell, Otter and Salt
Monitor
Grafana, Prometheus, Nagios and Azure DevOps
(Application Insights)
06
DevOps in a nutshell, Part 2
DevOps Benefits
DevOps is essentially a transformative mindset that encompasses culture,
innovation, and technology in one single practice that focus on delivering higher
quality software more rapidly.
Brett Hofer, in one of his posts, The Art of DevOps: An Introduction to Landscape,
approaches the Art of DevOps as a battlefront, and says – “Ultimately, we’re fighting
for the absolute best services and features that we can deliver to our customers as
quickly as we possibly can, and to eliminate the “War Room” scenario we are all so
familiar with.”
That statement should be a very compelling reason on its own to adopt and mature a
DevOps culture in your organization.
Some of the other benefits includes:
Significant improvement in product quality.
Shorter lead times.
Satisfied customers.
Reduced development and operational costs.
Greater flexibility and adaptability.
Reliable and stable IT infrastructure.
Frequent release of new features, fixes, and updates.
Improvement in productivity of the organization.
Increased team flexibility and agility.
Improved MTTR (Mean Time to Restore)
There are still a lot of topics that are very important to understand before adopting a
DevOps mindset, and ProLink will gladly assist your organization with the journey of
delivering high-quality software more rapidly to your customers.
ProLink Arabia
DevOps in a nutshell, Part 2
Follow us on