Monday 22 December 2014

DevOps ..contd


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".