0% found this document useful (0 votes)
10 views7 pages

Lecture 5

The document discusses the concept of DevOps, emphasizing its role in enhancing collaboration between development and operations teams to improve software delivery and organizational performance. It highlights the cultural and organizational changes necessary for successful DevOps implementation, including the importance of communication, accountability, and continuous improvement. Additionally, it outlines the use of automation tools to streamline processes and eliminate bottlenecks in the software delivery pipeline.

Uploaded by

Saleem khan
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)
10 views7 pages

Lecture 5

The document discusses the concept of DevOps, emphasizing its role in enhancing collaboration between development and operations teams to improve software delivery and organizational performance. It highlights the cultural and organizational changes necessary for successful DevOps implementation, including the importance of communication, accountability, and continuous improvement. Additionally, it outlines the use of automation tools to streamline processes and eliminate bottlenecks in the software delivery pipeline.

Uploaded by

Saleem khan
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/ 7

DevOps: Bridging the gap between Development

and Operations
Avita Katal Vinayak Bajoria Susheela Dahiya
School of Computer Science School of Computer Science School of Computer Science
University of Petroleum and Energy University of Petroleum and Energy University of Petroleum and Energy
Studies Studies Studies
Dehradun, India Dehradun, India Dehradun, India
avita207@gmail.com bajoriavinayak@gmail.com sdahiya@ddn.upes.ac.in
Abstract— DevOps is a cooperation of advancement and II. RELATED SURVEYS
activities conceived to weight on correspondence and coordination
between them. The fundamental of DevOps is to assist an One of the essential objectives of this research was to
association with growing and exceed expectations. With its comprehend the adoption patterns of DevOps as organizations
assistance an association can create programming items and advance. Our theory was that there are particular stages in
administrations. The fundamental utilization of DevOps is to DevOps advancement and explicit practices that empower
streamline the everyday exercises of an association and accelerate organizations to scale accomplishment over the silo teams.
the procedure for auspicious conveyances. Organizations are
concentrating on the computerization of procedures along these Huttermann [1] defined DevOps as a set of practices that
lines convenient conveyance and quality outcomes are streamline the software delivery pipeline, emphasizing the
accomplished. Getting the workforce prepared with the most learning by streaming feedback from the production to
recent innovations and getting ideal work for them have turned development and improving the cycle time. However, the
into the need of great importance. This survey paper puts definition is incomplete as cultural aspects of DevOps were
forward the required cultural, organizational changes along with overlooked but, Huttermann was right to point that DevOps is
automation tools to realize DevOps. It also addresses the common not a new team or department in the organization. He refers to
objections raised again DevOps and how to address it. four key aspects in a blog post by Wilis[2]: culture,
automation, measurement and sharing (CAMS). Similar works
Keywords—DevOps, Developers, Operations, tools, Cultural,
by DeGrandis[3], Humble and Molesky[4], Limoncelli and
Organizational, Automation
Huges[5], Loukides[6], Bang et. al[7] and Roche[8] add to the
I. INTRODUCTION definition of DevOps. They imply that DevOps is an
organizational revolution shifting mindsets from silo teams to
A typical organization or company is made up of various large scale collaboration in the organizations. Some of them
business units like Research and Development, Information throw light on the key cultural aspects also like openness,
Technology (IT), Manufacturing, Finance, Human Resource communication, incentive, ownership, respect and trust.
and many more. IT is the backbone of all the business units
and is mostly used by them for free flow of information, However, most of the above literature focused on
communication and software delivery and maintenance completing the definition of DevOps. Puppet Labs survey of
required for inner workings of the units. Finance department 2012[9] taken by over four thousand IT Operation
may need customized software for easy calculation of the GST professionals DevOps enables high performance and shipped
rates as per the various tax slabs, IT provides all these services. code thirty times faster and deployments eight thousand times
A typical IT business unit of any mid-tier Company consists of faster than their peers. The survey also showed that DevOps
Architects, Project and Product Managers, System Owners, increased reliability and restored services twelve times faster
Developers, Quality Assurance team, Business Analysts, and than the peers. In the 2014 survey[10] puppet labs showed the
Centre of Excellence. In a typical organization all these teams relationship between the organizational performance, IT
work at various levels of the software delivery pipeline to performance and DevOps practices. It stated that firms with
deliver software to the end client, which can be a third party strong IT performance are twice more likely to exceed their
customer or any other business unit of the organization. profitability, market share and productivity goals. DevOps
However, often these teams are independent silo teams with practices like version control and continuous delivery
their own policies and procedures surrounding their stage of correlates with strong IT performance. Organizational culture
deployment time. This leads to various organizational pains is also an important aspect for both IT and the whole
like outages, slow IT, and infighting. It also leads to organization itself. Cultural practices like High-trust, shared
knowledge waste, over production waste, motion waste and responsibilities, cross-functional collaboration, learning from
many more. failures and new ideas strongly correlate with organizational
performance and result in job satisfaction.
Under the DevOps the goal is to add value and improve the
flow in the organization. Development and operation teams are In the report of 2015[11] by Puppet Labs, most of the
not siloed anymore, they are merged together and engineers previous findings were discussed in details but they also shed
work across the entire application lifecycle and are not limited light on Deployment pain points, pathological cultures,
to single function. The focus is to add customer value, unproductive and wasteful work and critical role played by
eliminate waste, reduction of cycle time, and identification and mangers in any DevOps transformation. In the 2016[12] report,
removal of bottlenecks. DevOps is well explained with the focus was one of the most important aspects of DevOps
CAMS acronym, Culture Automation Monitoring and Sharing. culture: Quality, High-performing organizations spend twenty
It is a cultural movement that aligns people, processes, two percent less time on unplanned work and rework. As a
technology, towards a common goal of eliminating waste and result, they are able to spend twenty nine percent more time on
increasing value. Tools are used to build together a DevOps new work, such as new features or code. They are able to do
capability from an automation standpoint, also tools help to this because they build quality into each stage of the
allow sharing i.e. having true feedback loops between the development process through the use of continuous delivery
Developer and Operation teams. They can also be used to practices, instead of retrofitting quality at the end of a
share ideas. Implementing DevOps can increase the company development cycle. Also, they showed that undertaking
evaluation, job satisfaction, and promote a culture of sharing technology transformation can produce sizeable cost savings
and learning. for any organization. Moving a step ahead in 2017 survey
report [13] they showed that loosely coupled architecture and are delivered. A DevOps organization understands that there’s
teams is the strongest predictor of continuous delivery. no time for long delays therefore the multiyear projects are
shrunk down to small units and instead of releasing the entire
However, all these reports and literature reviews missed a software at once, versions of the software are continuously
key point ‘what is the executive summary of the entire released. This can only be realized when a cultural and
DevOps?’. This survey provides the required executive organizational change is achieved by realizing the values of
summary for any person who wants to implement DevOps by DevOps in the organization.
understanding what DevOps actually means and the tools that
you may need to realize it. IV. REALIZING DEVOPS
III. SOLVING TRADITIONAL IT PROBLEMS VIA The whole aim of DevOps is to add value and improve the
DEVOPS flow within the organization. It’s about freeing up the resources
Every Industry or company is in dire need to bring the and eliminating waste, to work systematically to get rid of any
software into the core of their business for instance, customer non-value-added process, to reduce the cycle time i.e. the time
service is often provided through software. Companies customer orders to the time the product is actually delivered.
following traditional IT practices can have silo teams at DevOps is also about sharing information, not only within the
various stages of the software delivery pipeline. These teams team but also with other teams. It works on the concept of
are skill centric, made by banding together the people with work being pulled, not pushed and avoiding bottlenecks. In
same skill set in one team. This drives greater utilization, and words of John Willis DevOps can be explained with CAMS
benefit from economies of scale. However, in such typical IT acronym, Culture Automation Monitoring and Sharing. It is a
environment every new feature has to pass at least 3-4 silos cultural movement that aligns people, process, and technology
before being delivered to the end customer in which it spends towards a common goal of eliminating waste and increasing
80% of the time waiting between silos. A DevOps organization value using some accompanying technologies.
instead has cells which consist of cross functional teams,
focused on single software. A. Cultural Change
Transforming the traditional IT organization to a DevOps
Given the modern demands the traditional IT practice Organization starts with reestablishing the purpose of the
involving the use of Commercial off the Shelf (Cots) software organization. Questions need to be asked that what has to be
is dying and the companies are moving towards using Custom changed in order that DevOps values can be realized. Realizing
software’s under DevOps , where the companies use open DevOps may require identification of the shared goals of the
source software and cater it as per the needs of the organization, fair and common compensation formulae, values
organization. In the present market trends, the business of the organization etc. A DevOps organization quality is
objectives are changing frequently; a product developed prioritized over deadlines, staffs isn’t considered to be easily
following traditional IT practices may be missing some replaceable or interchangeable rather they are considered as an
asset to the organization. These cultural changes are inevitable
essential features and may not fulfill the changed business
if an organization has to realize the values of DevOps.
objectives as they would have changed while the product was
being developed. Instead in DevOps, small versions of the This all begins by empowering the employees so that they
products are developed and released continuously until the can make the required decisions to maintain the service. Like,
entire and final version comes out. This helps the team to cope Developers can raise alarm if they feel the quality of the
up with the ever changing business needs of the client. product or service is being compromised at any point of time.
Continuous release of product in form of versions also reduces The employees should be allowed to take the ownership. With
the risk by daily integrating the code into the trunk, automated Empowerment comes Accountability, the entire teams are to be
testing, ensuring all environments are in sync. In simpler held accountable for the product, project, entire service
terms, code is promoted from one stage to another if and only success, and quality. A measurement of success of application
if, it is sure that it will work in the production. of DevOps principles is done using quality as a factor. Quality
is maintained from the start itself. Quality Assurance teams and
In traditional IT practices after a project is completed the testers are not relied upon for catching defects in the software;
entire team involving Developers, testers, Project Managers instead the developers are held accountable for delivering good
move to a new project and the software developed becomes code. An environment is created where teams are committed
one of the many applications maintained by the company. But, towards excellence. In case of a failure, the team responsible
when an issue occurs during the maintenance period, after the should accept the accountability for the mistake and other
team has dispersed, there is no one to take the responsibility. teams should volunteer too.
This can lead to infighting and finger pointing, which could
cost a potential client. A DevOps organization avoids this by This creates another great cultural aspect of DevOps,
understanding that failure is inevitable. So , instead of trying to Teamwork. Teamwork is Development, Project Management,
Operations, Testing, and Quality Assurance all working
avoid failure and finger pointing they try to understand the
together both in normal and crisis times. It creates a sense of
failure, put up a fairly small team together, recover fast and get
collaboration, during crisis hours; deep relationships between
the product online again. the members of the teams create a team by bringing individuals
together to solve the problem. Teamwork helps in creating a
Traditional IT companies need to develop a want for sense of mutual respect within the organization, where each
incremental values. In most of these companies, there are and every one is valued for the unique skill set they bring to the
massive, multiyear projects that constantly miss budgets, and table.
timelines. CIOs and CEOs have realized that speed can be a
competitive advantage. Long windows of 2-3 years can lead to Learning, continuous improvement is also a huge part of
change in business objectives by the time the product or values the cultural aspect of DevOps. A DevOps organization values
and encourages learning; this helps the individuals and teams or code infested with bugs. It may be done to develop the code
to develop new required skills. An environment for learning within the deadline or they may feel that it is the job of Testers.
can be facilitated by providing resources like online This makes Quality Assurance and Testers as bottlenecks and
subscriptions to help teams learn, organizes conferences to deployment fails. Therefore, rigorous integration testing is
brainstorm ideas, encourage public profiles and engagement required to assure the quality and standards.
where teams can learn from the public. Teams can learn from
each other’s mistakes, they can provide knowledge about their Another major bottleneck is Lack of Communication;
ongoing work to other teams and keep the curiosity alive teams may not share the objectives and plans with other teams
within the organization. It helps to build trust within the within the software delivery pipeline. This makes the work for
organization which is another important cultural aspect. A trust various parts in the pipeline to be batched up, at one point of
between the various parts of the organization that lie on the time, Quality Assurance may have nothing to test and then
supply chain is necessary. suddenly they have huge amount of code to test within a short
time window. Instead, if a feedback loop runs through the
B. Organizational Change pipeline, Developers, Testers, Operations can evaluate the
Organizational change is brought by understanding the outcome of their work. They can monitor and have knowledge
work being undertaken by the organization, alteration of team about what other parts of the DevOps Organization is working
structures, streamlining of procedures. DevOps leader, Jeff on.
Cessna, said that nothing useful can be designed without
understanding the people from whom it is being designed. A Another possible alternative while altering the team
DevOps organization understands the system, the value structure can be reorient the various production lines around
provided by the system, and the waste being generated within specifically maintained dedicated teams, instead of the teams
the system. It understands the process, for ex. It identifies the moving from one product to another. This helps in maintaining
waste involved in the process or steps that can be taken to add the consistency, shared knowledge, and quicker delivery.
value to the customer. It also understands the flow between the DevOps organizational changes can be recognized when teams
Developers, Testers, Quality Assurance, Production and have higher commitment, as a part of the pipeline they
Support. The main aim is to understand the software delivery understand that the ultimate customer is the end user.
pipeline. Development may have Operations as the customer but
Operations may have end user as the customer therefore,
A bottleneck in an organization is a constraint that hinders everyone in the pipeline must be empowering the next team in
the smooth flow of the software delivery pipeline. A bottleneck the pipeline.
can be caused due to some technical problems, social debt,
people, tools, and even outside parties. Like, In inconsistent C. Automation Tools
environments, developers may not have production like The automation tools of DevOps help to realize the
environments to develop code against. The code works upon a framework created by applying the cultural and component
local administrator, but fails during the production. This may changes. DevOps tools automate the repetitive tasks, the
be due to the change in the configuration of the environments feedback loop between the Developers and Operations and
or sheer size, this leads to a bottleneck for Developers who other teams, identification and removal of waste, and smooth
have to wait for Operations to provide the right environment. It flow of software delivery pipeline. It consists of collaboration
also becomes a bottleneck for Deployment as Quality tools, planning tools, developer environment tools, continuous
Assurance cannot reproduce code with defects. Therefore, integration tools, and deployment tools.
Operations should maintain a similar environment everywhere,
whenever demanded.
1) Collaboration tools: Collaboration is important aspect
Organizational change can also be brought by altering the of organizational change as it helps teams to take action and
team structure. DevOps is reorganization, not a new team to thus produce results. Collaboration is regular communication
hire. The idea of DevOps is to promote collaboration and of meaningful information with the decision making body. It
virtual teams that work together. In a typical IT organization, can be encouraged through downtime exercises or by
after a project is deployed a skeleton team is left behind. This simulation of failures. Collaboration tools includes real-time
leads to loss of the tribal knowledge as the original team has chat boxes, discussion rooms, knowledge repositories and
disbanded so in face of crisis, specialists are brought in to many more. All these help in avoiding knowledge waste i.e.
solve the problem. This can be solved through DevOps disruption in the free flow and absorption of knowledge within
principle, which counteracts deploy and disband model, by the system, loss in date due to constant reshuffling, lack of
organizing teams purposefully around the internal products. In
communication within teams and loss of key information. It
a DevOps organization, team of Developers, Quality
Assurance and all retain some ownership of the system and also helps to avoid waiting waste, for ex. Developers are
service moving forward. Therefore, in crisis people who have waiting for the environment to be created or updated,
worked upon the project and taken the accountability can be Developers waiting for the code to be tested, customer waiting,
easily brought in to solve the problem. and many more.

Custom manual builds can also become a bottleneck as Collaboration tool like Skype and Lync, provide quick
they require constant update. Therefore, often there is an one-to-one collaboration. The video chat and conferencing
inventory of useful features available in the source control but engages teams together which helps in taking quick decisions
cannot be used in Deployment or Development phases as they or quick question and answer session. However, Skype has to
need to be updated. This leads to unreliable and inconsistent be downloaded, configured, and installed on various systems,
long running custom builds, that can be avoided through
tools like CampeFire are web-based group chat tool that lets
continuous integration and delivery tools. Poor quality is
another major bottleneck, in absence of accountability and you set up password-protected chat rooms in just seconds. A
shared excellence, Developers may forward incomplete code client, colleague, or a vendor can be invited to chat, collaborate
and make decisions but, these have limited functionalities. effectively will help to know that although technicality of the
Another useful way is Documentation; an accessible and system is correct, but an error has occurred in customer
updatable documentation help teams and keeps the document experience and they cannot use the system correctly. In such
relevant. GitHub Wiki which comes with every GitHub scenarios tools like Microsoft System Center, is able to
repository is easily editable and helps to keep track of the perform group based collective management and monitoring of
commits made to the page. Like someone can store the coding multiple systems in a Microsoft environment. Logstash is
standards for APIs or exceptional handling strategy. It helps to another important tool that integrates data from multitude
maintain to persistent information. sources like logs, metrics, web applications, and various AWS
services all in continuous streaming fashion. Logstash filter
2) Planning tools: To implement DevOps values like parse each event to identify name fields and build structure for
communication, transparency, and teamwork, teams are a common format that can provide easier accelerated analysis
engaged in planning. This requires formal project management and business values. NewRelic is another tool that is built
tools; Kanaban Boards is one such work and workflow around the concepts of DevOps and has designed user interface
visualization tool that uses sticky notes on a whiteboard to that can be viewed by the entire team to track the changes in
communicate status, progress and issues. It can be used to real-time. Through it, services can be pinged to check their
share information, distribute ownership of tasks, maintain health, latency, response time and thus, providing a holistic
transparency, and much more. Like once a week Quality view of the service.
Assurance, Development, Design and Project Management,
Product Management, and Operations come together and Tools like Kibana can be used to make charts, rank data,
review the business objectives. Together, they prioritize the explore numbers and much more. It turns the raw data into
needs and put forward feedback on the priority list. This helps information from which knowledge can be derived. Logstash
in maintaining the transparency, which reduces the knowledge delivers useful insights through the Elasticsearch, similarly
waste and confusion about the blockers in upstream and Graphite and StatsD can be used for statistics, rendering
downstream also have planning features, online view which graphs, or time series analysis. Monitoring helps in taking
can used to manage the product backlog, assign things to smart decisions using the information emitted by the system. It
individual sprints and much more. JIRA is another important helps to understand the system from inside out and outside in.
tool with Agile Roadmap planning feature that can be used to These tools can do monitoring of the individual components
track progress and easily share plan to the stakeholders. inside the system while being outside the system.

3) Issue Tracking Tools: Issue tracking is all about rapid 5) Configuration Management Tools: Configuration
response, to collect, triage, and respond to the issues such that management is one of the most important parts of DevOps, it
it solves the issue raised by the subject. The subject can be a enforces a state to avoid configuration drift by using
third party to the organization like the customer or it can be automation to achieve the required consistency. Like
someone within the organization like Developers or Operations establishing a particular server state while the server is online,
team member. Zendesk is a tool that creates knowledge base configurations can potentially change from server to server,
over time by collecting information from the support teams when one quickly fixes them while forgetting to maintain
about the customer service issues they have been receiving consistency elsewhere. Therefore, automation is necessary to
over time. Through this knowledge base, it allows to create an enforce consistency which in turn requires configuration
online, customizable, help centre that can solve the third party management tools. In this scenario, tools can be used to
i.e. customer issues. It has built in Artificial Intelligence maintain a large set of servers with repeatable and automated
powered Answer bot, a feature, that can send customers most configuration enforcement by treating infrastructure as code
relevant documents on the issue while they wait for an agent. that can be source controlled and deployed.
However, when it comes to solving issues raised by people
within the organization, other tools have to be looked upon. If DevOps, abstracts environment like a configuration file
an organization tier 1 person collects information and hands it which can be deployed easily and any changes are made
off to another team, which puts it into their bug database, then systematically rather than manually. Like on a cloud platform,
it goes to the developers as a part of feature, all achieved by servers are not manually updated with a new load balancing
copying data multiple times. This leads to knowledge waste, policy rather it is performed centrally or pushed into affected
transportation waste, and motion waste. Tools like JIRA, can servers all at once. This helps in maintaining consistency, one
be used to track and solve such issues that rise within the of the key values of DevOps. It avoids time wastage in
organization. It also supports continuous deployment and correction of manual defects, instead of Developers tweaking
integration. It provides a shared list of issues on which people individual production machines, configuration tools are used to
can interact to solve them. push services along the deployment pipeline with a detailed
audit trail. It enforces a systematic state and allows controlled
4) Monitoring Tools: DevOps success potentially hinges access.
upon the manner in which system is monitored. Like, after
release it is important to have the telemetry in place to measure There are tools like Chef, where one can create
the positive and negative impacts of the release. This requires cookbooks and recipes with Ruby and manage clusters of
monitoring of the business system metrics before and after the Linux servers from a central server or perform Chef Solo,
release. There may be no negative system performance after without a centralized server, where each server maintains its
deployment but, new customer sign-ups have almost cratered own configuration locally. It also has Azure integration, thus
and no new orders are coming in. Monitoring the system allowing cloud integration with the tools. Another great tool,
Puppet can be used to create declarative infrastructure hypervisor technology. It is consistent and can be set up using a
definitions; also the entire lifecycle can be managed starting single command ‘vagrantup’. It can also be used to configure
from provisioning to runtime, deployment and reporting. networks, set up multi-machine configurations. Like an
Puppet is open source so it can be customized to support the operation team can use it to do a quick development, test
needs of the organization to manage the clusters of Windows locally and use the same workflow to test on the cloud. It also
and Linux servers. It comes with lot of prebuilt modules for has Vagrant Cloud, which allows sharing of servers with base
managing and maintaining commercial software and open OS as Ubuntu, Windows, or Linux through a HTTP port or as a
source software both. However, both Chef and Puppet require SSH client so that software can be run upon them for
pure Ruby knowledge. experimental purposes. It realizes infrastructure configuration
file, as a code.
Another great tool is Salt, based on Python and it can be
used to set up angel list model that uses SSH instead of the 8) Continuous Integration tool: Continuous integration is
idea of agents on individual boxes over the centralized server about realizing one of the most important values of DevOps,
model. However, it also supports a centralized server or a speed. It is an incremental process to prevent the last-minute
master server, or one can run minions all over the windows and integration problems. In most of the big enterprise projects, last
linux machines. It is focussed on high speed communication phase integration testing turns out to be the most painful part of
between the nodes over the polling strategy used by Chef or the project, where all the independently developed components
Puppet. Ansible is another great tool that uses SSH for are taken and made to work together. It involves a lot of fixing
automating configuration management, provisioning and more. which is inevitable. However, in continuous integration, there
It has a concept of playbook for configuring and deploying and are centralized build engines, coupled with automated test
orchestrating deployments. However, it does not come up with suites, automated security inspection and other code inspection
a lot of support for Windows. Therefore, with these tools a suites, that verify code quality before committing the build.
desired state of configuration can be achieved over the This leads to continuous build, test and release which helps to
windows and Linux servers easily. Features and roles can be realize the business objective before they change and gives an
enabled or disabled, registers can be managed, software can be advantage over the competitors by maintaining the speed. It
deployed and have a central configuration with a pull server also removes the bottleneck at Quality Assurance where
and push things out to individual machines. continuous integration not allows works to be piled up. The
constant availability of working code and immediate feedback
6) Source Contol Tools: One of the key points of to developers if the build fails maintains quality assurance and
Configuration management is to allow systematic changes but reduces defect waste.
to ensure this controlled access is necessary. Source control is
used to closely guard the software assets i.e. code and for Tools like TeamCity, work well with Visual Studio is
configuration of all the environments. So, if Infrastructure good for .Net solutions and supports NuGet. It allows testing
configuration is performed and it passes the testing phase but before any commits are made to the changes and also shows
fails during deployment, one can compare the progress reports. Tools like Hudson, now Jenkins, can be used
configurationally changes that took place before and after the also for monitoring software builds while quickly integrating
code were deployed. If something works differently than it is changes. It can distribute builds across servers for complicated
supposed to, source control tree can be looked upon to find by builds. Another tool TravisCI require least maintenance and
whom, when and where the change has been made that caused integrates well with GitHub, it also supports a wide range of
the behaviour in question. It provides a better audit trail, programming languages.
security and compliance to the environment. GitHub is the
most widely used web-based hosting service for version 9) Deployment tool: The principle of continuous
control and Source Code Management. It provides access integration results in continuous deployment, it means that
control and several other features like bug tracking, feature every new build goes for production immediately. Deployment
requests, task management and wikis for every project. tools are used to make deployment more reliable, it encourages
thoughtful collaboration between the Developers and Operation
7) Development Environment Tools: Development and helps to make deployment an automated process. Like
Environment tools are used to accelerate social development there may be a bug fixed or there can be a compliance and
and enforce consistency. It removes the problem of code not security problem that has been solved and these changes are
working in different environments, like it is working over the pushed till production. Deployment tools give an audit trail
local machine of the developer but fails during the production. from the starting till production, so that if any errors have been
These problems can also be solved using the configuration made, can be caught. It brings DevOps to life, where all the
management tools, like providing developer with the similar tools up till now come together and help to realize value to the
configurations as in the production environment. In addition to end user.
that, new tools like web-based IDEs have emerged. Tools like
Codenvy, is complete browser-based development with a A tool like CloudFormation, in Amazon Web Services is
whole host of languages. It is useful in social development used to deploy environments and Elastic Beanstalk is used for
scenarios, where collaborative development like pair code deployments. Environment deployment can be achieved
programming is being performed between teams. via templates. Packer is another great open source tool that
creates images for platforms using provisions that configure the
Another great tool is Vagrant, it is a portable work running machine before turning them into Vagrant image or a
environment that can be source controlled and run on any VMware template or AWS machine image. All these templates
can be then run as a command line built which have latest Chef Configuration Provides cookbooks and
Management recipies to manage clusters of
code. So, instead of patching or updating a server, images can
Linux or Windows servers
be used to simply replace them. Tools like Packer make image individually (Chef Solo) or
template creation much simpler. centrally.
Puppet Configuration An open source software that
Management can be customized as per the
Docker is another great tool; it is a Linux technology for needs of the organization using
creating isolated containers that are portable between the the pre-built features.
machines. This is OS virtualization versus server virtualisation. Salt Configuration Focussed on high speed
The Operating System now acts as hypervisor and manages the Management communication over the poll
strategy followed by other
containers deployed over it. These individual containers have Configuration Management
isolated resources, CPU, memory, network, virtual interfaces, tools.
and content isolation. This provides a higher density use of a Ansible Configuration Makes use of SSH technology
Management and also has features and roles
virtual machine and since it can be used on any hardware, it is that can be enabled and
employed more and more in the continuous deployment disabled to maintain a desired
pipeline and continuous integration pipeline where the code state of configuration.
can be tested over different containers. GitHub Source Control Web-based hosting service that
provides version control and
source code management.
Octopus is another great tool that works well with both Codenvy Development A web-based development tool
ASP.NET and TeamCity. It can be deployed in Azure Environment that allows pair programming.
environment and provides information related to the latest Vagrant Development
Environment
Has Vagrant Cloud that allows
sharing of servers through a
deployments made, its state and other valuable insights. It can HTTP port or SSH client so that
be used to manage application configurations that are software can be run from
environment sensitive like IIS settings. It can introduce anywhere.
TeamCity Continuous Works well with Visual Studio
approvals and manual interventions as everything cannot be Integration Online and supports NuGet,
automated. It even allows self-service deployments with role- allows testing before commits
based access. are made and generates reports
thereafter.
Jenkins Continuous Allows monitoring of software
TABLE1. DEVOPS TOOLS AND THEIR FEATURES
Integration builds along with integrating
Tools Type Features changes.
Skype, Lync Provides Chat boxes and video TravisCI Continuous Supports wide range of
Collaboration chat features for both one to Integration programming languages and
one communication and teams integrates well with GitHub
CampeFire Collaboration Sets up browser based, CloudFromation Deployment Amazon Web Service based
password secure chat rooms for environment deployment
teams within minutes solution, its variant Elastic
GitHub Wiki Collaboration, Easily updatable blog like Beanstalk is for code
Documentation pages that helps to familiarize deployments.
any new participant with the Packer Deployment Uses images to create a server,
ongoing work. and templates can be run as a
Kanban borads Planning, Issue Communicates status, progress command line built
Tracking and issues to the entire team Docker Deployment Creates isolated containers on
using simple visualization like OS thus allowing higher density
sticky notes on a whiteboard use of Virtual Machines.
JIRA Planning, Issue The Agile Roadmap feature of
Tracking JIRA also allows to share
progress with stakeholders. Octopus Deployment Works well with ASP.NET and
Zendesk Issue Tracking Allows to create online, TeamCity.
customizable, help centre and
provide excellent customer
service using Knowledge stored
in its knowledge base
Microsoft System Monitoring Monitors multiple system in a IV. MYTHS ABOUT DEVOPS
Centre Microsoft environment.
Logstash and Monitoring LogStash along with Although change is inevitable yet it is not easily
ElasticSearch ElasticSearch integrates data accepted so every organization will raise some objections
from multiple sources and
explores data to provide
before employing DevOps within its software delivery
valuable real-time insights. pipeline. With the advent of Cloud Computing, most of the
NewRelic Monitoring Interactive User Interface IT business units of the organization are being outsourced as
allows the entire team to track executives don’t think IT has value and are thus decreasing
changes in real time and
investment into it. However, in such scenarios one needs to
provides holistic view of the
services incubate the ideas of DevOps more into the organization so
Kibana Monitoring Can rank, chart data to provide that IT can deliver customized software that can be useful to
insights for monitoring the other business units. Executives need to realize that they
system require a cultural and organizational change to build the
Graphite, StatsD Monitoring Provides statically rendered
graphs, time series analysis and trust back between the various units of the company and
other statically relevant remove such myths. The various other myths are-
information by monitoring the
system changes.
teams that have shared knowledge and shared
 Ignorance- organization often sees DevOps only as ownership of the service can be formed.
Quality enforcement and object to its  Lack of Knowledge- A big objection can be that
implementation on the grounds that they already none of the teams know about DevOps. The answer
have Quality Assurance and Release team. This is to this is, learn. DevOps is not always hardcore
because they have a wrong perspective about technical skills, it is better communication,
DevOps, DevOps is a mind shift, cultural and teamwork and continuous improvement. It is also a
organizational shift. It is not merely having skill set that has to be developed so that
separate disciplines, DevOps has feature teams, organization can improve its software delivery
software teams, and service teams that are focussed pipeline and most importantly customer service
on customer service and have been embedded in experience.
various disciplines.
 Security- It is a myth that if Developers touch the CONCLUSION
production, information security problems and code DevOps is a cultural and organizational change that can
security problems can arise. However, this can be be incorporated within the environment by focusing on why
solved easily using DevOps, DevOps focus a lot on it is needed, changing accountability, trusting each other to
quality, it is one of the main criteria for having work towards a shared objective, identifying bottlenecks,
organizational change and quality can reduce the creating dynamic teams, changing the mode of thinking,
security vulnerabilities. DevOps push code faster rearrange more around services rather than pump and dump
through the pipeline and pushing code quickly strategy and delivering persistent values. With DevOps
mindset employees are happier and systems have lesser
means that vulnerability can actually be patched defects that can be fixed faster using the automation tools
faster. Also, automated mirror test environments like collaboration tools, issue tracking tools, source control
provide security testing before production. All this and management tools.
is realized using DevOps and removes the question
of security. REFERENCES
 Remote teams- Most of the times DevOps teams [1] M. Huttermann.: DevOps for Developers, vol. 1. Springer (2012)
are not locally available, it can be an off-shore [2]J.Willis: What devops means to me, July 2010.
team. It can be tricky, but with help of right http://www.getchef.com/blog/ 2010/07/16/what-devops-means-to-me/
collaboration tools and shared culture and vision it [3] DeGrandis, D.: Devops: So you say you want a revolution? Cutter IT J.
can be made possible. Instead if a major part of 24(8), 34–39 (2011)
software delivery pipeline is outsourced or [4] J. Humble., J. Molesky : Why enterprises must adopt devops to enable
developed under a partnership agreement by some continuous delivery. Cutter IT J.24(8), 6–12 (2011)
third party, it reduces the control of the [5] T. A. Limoncelli, D. Hughes, L. L. Lisa themedevops: New challenges
organization over the particular part of the pipeline. proven values. Login 36(4), 46–48 (2011)
 Impact of DevOps on Operations- DevOps does [6] M. Loukides: What is DevOps? O’Reilly Media, Inc. (2012)
not adversely effects the Operation team; DevOps [7] S.K. Bang, S. Chung, Y. Choh, M. Dupuis : “A grounded theory
means both Developers and Operations work analysis of modern web applications: knowledge, skills, and abilities for
jointly to deliver software. Operations still has to devops.” Proc. of the 2nd Annual Conference on Research in Information
provide quality environments to Developers, Technology, RIIT 2013, pp. 61–62. ACM, New York (2013)
Testers, Production and others. Operations have to [8] J. Roche: Adopting devops practices in quality assurance.
configure, monitor, maintain and tune the Communications of the ACM 56(11), 38–43 (2013)
environments. DevOps is all about Developers and [9] Puppet Labs and IT Revolution Press. 2013 state of devops report
Operations working together, understanding their (2013). https:// puppetlabs.com/wp-content/uploads/2013/03/2013-state-of-
part in their software delivery pipeline, creating devops-report.pdf (Accessed 19 December 2018)
feedback loops and optimizing each other. [10] Puppet Labs, IT Revolution Press, and Thoughtworks. 2014 state of
Developers cant expected to construct network devops report (2014). http://puppetlabs.com/sites/default/files/2014-state-
topology or troubleshoot all server OS issues but, it of-devops-report. pdf (Accessed 19 December 2018)
does change their role by adding more value added [11] Puppet Labs, IT Revolution Press, and Thoughtworks. 2015 state of
roles. devops report (2015). https://puppet.com/resources/whitepaper/2015-state-
 Legacy Systems- It is often argued that Legacy devops-report. (Accessed 19 December 2018)
systems cannot support the new tools and provide [12] Puppet Labs, IT Revolution Press, and Thoughtworks. 2016 state of
the required changes. However, DevOps does not devops report (2016). https://puppet.com/resources/whitepaper/2016-state-
only mean automation tools, with legacy systems of-devops-report. (Accessed 19 December 2018)
one can build up the necessary flow leading up to [13] Puppet Labs, IT Revolution Press, and Thoughtworks. 2017 state of
the legacy systems to release stuff effectively, devops report (2017). https://puppet.com/blog/2017-state-devops-report-
efficiently test and verify the code changes. here. (Accessed 19 December 2018)
Continuous integration, scripted deployments can
still be performed and in DevOps culture Service

You might also like