Wednesday, April 4, 2018

DevOps - As an engine of Digital Transformation through Agile Enterprise



DevOps (development and operations) is an enterprise software development phrase used to mean a type of agile relationship between development and IT operations. The goal of DevOps is to change and improve the relationship by advocating better communication and collaboration between these two business units.


DevOps is the blending of tasks performed by a company's application development and systems operations teams. The term DevOps is being used in several ways. In its most broad meaning, DevOps is an operational philosophy that promotes better communication between development and operations as more elements of operations become programmable. 

In its most narrow interpretation, DevOps describes the part of an organization’s information technology (IT) team that creates and maintains infrastructure. The term may also be used to describe a culture that strategically looks at the entire software delivery chain, overseeing shared services and promoting the use of new development tools and best practices.  

Devops is possible with automation tools, right workflow and suitable culture

Image Courtesy: Milind Tech
 
Aims at
1. Continuous Delivery from development to operations
2. Gathering and incorporating feedback from application monitoring
3. Continual learning and experimentation into the culture
4. Managing Security and compliance needs
5. Productivity gains with automation and improved workflows


Devops is the engine of digital transformation, the trend that will yield a modern, agile enterprise


Seven Essential Elements of Devops
Build
Test
Package
Provision
Secure
Deploy
Monitor

The goals of devops is to parallelize work.  The necessary seven steps need not be done sequentially .No longer Ops are only responsible for maintaining the applications in production, and in devops, even the developers maintain responsibility for applications in Prod
Enable a parallel workflow in the heterogeneous world, Devops is an integration of process and tools

When done right, the benefits are phenomenal



DevOps Toolchain

New software tools have sprung up to help organizations automate testing and create a more streamlined development and release pipeline. Such tools include GitHub for storing code, Puppet and Chef for configuration management, Nagios for monitoring how changes to code affect the environment and Splunk for operational intelligence.

DevOps as a Service is a delivery model for a set of tools that facilitates collaboration between an organization's software development team and the operations team. In this delivery model, the DevOps as a Service provider collects disparate tools that cover various aspects of the overall process and connects these tools to work together as one unit.

Future of DevOps Career

Most entry-level DevOps jobs require a degree in computer science or a related field that covers coding, QA testing and IT infrastructure components. Higher-level positions may require advanced degrees in systems architecture and software design.
Red Hat is one organization that offers DevOps certification. 



References:
The Devops Handbook” by Gene Kim, Jez Humble, Patrick Debois, and John Willis.
Image Sources:  Google