DevOps
is soon getting synonymous with management of IT automation. DevOps is more of an organization’s culture
than the actual process. It is a stronger collaboration between developers
and operations engineers. Developers are expected to turnaround new
developments faster and operations engineers are expected to maintain up-time by following a set of defined processes. While change is the daily routine of Developers, for the operations engineer it is an absolute alien (more of 'follow the process').
DevOps predominantly
is an extension of Agile methodology. In layman’s term, it would mean putting a system administrator in the agile development process. On the ground, it
involves a lot of coordination between teams where tools play a very important
role in streamlining communication, documentation and tracking. These tools are
used for app/infra automation like automating the testing process, deployment and release process, change process, etc., as described below:
Change Management
Objective: To enable beneficial changes to be made, with minimum
disruption to IT services.
Release & Deploy Management
Objective: To plan, schedule and control the movement of releases
to test and live environments.
Incident Management
Objective: The primary objective of Incident Management is to
return the IT service to users as quickly as possible.
Knowledge Management
Objective: The primary purpose of Knowledge Management is to
improve efficiency by reducing the need to rediscover knowledge.
Commonly used tools:
Automation: Puppet, Chef, CFEngine, Ansible,
Salt Stack, Docker
Functional
Testing: Cucumber,
QTP, Rational, Selenium, Visual Studio Test Professional
Configuration Testing:
ScriptRock
Continuous Integration:
Jenkins, Travis CI, Ant, Circle CI
Continuous
delivery:
IBM Tivoli
Content Management
System: SharePoint, Wiki, Joomla.
Monitoring
and graphical analysis: Nagios, NewRelic,
Ganglia, iperf, AWS
While ITIL develops process culture in an organization and brings process maturity, agile helps in accelerating the processes ensuring faster time to market. With the right process combination and marriage of ITIL with agile, an organization can reap the benefits of speed and improved customer satisfaction; which the industry today has termed as " DevOps".