What is DevOps?
DevOps is the change in IT culture. It focuses on rapid IT service delivery through the adoption of agile and lean practices in the context of a system-oriented approach according to Gartner. An amalgamation of two words, ‘development’ and ‘operations’ it aims at combining software development and software operations. It breaks the barrier between development and operation teams. The collaborative work between them leads to the benefit of combined skill.
Evolution of DevOps
The concept of DevOps started with the incubation of the first computer program code, written using Fortran in the year 1957. This created one of the first ‘developer’ jobs. In 1967, with the launch of ARPANET, (the network that became the basis for the Internet) a network of engineering jobs and network operations centers were created. Fast forward to 2003, Google hires Ben Treynor to lead the first set of “site reliability engineers” to run a production environment that was separate from the development environment. The team was responsible for maintaining a high uptime (99.97%) while working with the developers to ensure that operations ran smoothly for their customers. Just a few years down the lane, in 2009 Flickr combines “Dev” and “Ops” in an attempt to solve the ‘finger pointing’ problem between the developers and the operations team. Enter John Allspaw and Paul Hammond with the methodology for deploying ‘devs’ and ‘ops’ (DevOps) in cooperation, publically for the first time. The solution was proposed at an O’Reilly Velocity Conference where the two suggested integrating development and operations into an automated infrastructure.
In 2009 again, a Belgium based engineer named Patrick Debois organises a small conference on “agile system administration”. As a mean to advertise for his conference on Twitter, he created a shortened hashtag “DevOps” from development and operations, thus giving birth to the term “DevOps”. Today, DevOps Day is a global movement where developers and operations professionals from across the world get together to discuss about automation, testing, security and organizational culture to avoid the friction between dev and ops.
Modern day and age (2017) – As artificial intelligence permeates almost each and every aspect of our lives, we can witness signs of DevOps further evolving and maturing with the mantra to “automate, automate and automate”.
Is DevOps Agile?
The simple answer to that is No. Though both the terms are broadly synonymous, it would be incorrect to say that they are both the same. While DevOps is the concept to manage end-to-end engineering processes, Agile is a process used to manage complex projects. Agile is in fact, one of the most essential parts of a successful DevOps. Here are a few essential differences.
With the change in the landscape of software development and the introduction of agile development in 2001, developers were able to create functional codes with shorter frequency. In the end, DevOps can be thought of a practice and Agile as a process. Together, they help in continuously building, eliminating wasteful efforts and optimizing work. If DevOps is a pie, then Agile is the slice that makes it up!