Breaking Down DevOps : An Easy-to-Understand Introduction

What is DevOps? As an absolute beginner, this is one of the most common question one may have. There are ample of resources on the web explaining about it. However, if I were to explain - What is DevOps? - to a someone who is a beginner, how would I go about it? And, that's exactly what I am going to share in this article. 

Photo by <a href="https://unsplash.com/@growtika?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Growtika</a> on <a href="https://unsplash.com/photos/PYyPeCHonnc?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>


I am going to explain about DevOps from different perspectives as following.
  • Understanding DevOps in very simple words 
  • Understanding DevOps in technical terms
  • An Organization's perspective on DevOps
  • Understanding DevOps from Developer's viewpoint

Understanding DevOps

Alright, Let's start now.

In Simple Words

Consider a scenario wherein, a software development company is working on creating a software application. Now, to understand about DevOps, it is first important to understand the key stages of software application’s life-cycle overall. It plays a key role in defining DevOps.

At high-level, a software application would go through the following four key stages. 

  1. Development of the application
  2. Testing of the application
  3. Deployment of the application
  4. Monitoring & maintaining the deployed application
Traditionally, above stages are primarily divided between the 2 core teams i.e. Development team and Operations team. The way it works is - Development team  develops the software application, test it and, then Operations team would deploy the application and maintain it. 
In the world before DevOps, both these teams generally would just focus on their own responsibilities only. Most of the times they would be working in silos. With that approach, it led to a set of challenges and also slowed down the overall cycle of making software application available to the end users. This was the old school story before DevOps. 

In the modern world of software applications, DevOps is playing an important role to bridge the gap between Development & Operations teams. DevOps is helping to solve some of the key challenges and pain points. Hence, if we have to understand DevOps in simple words, DevOps is a bridge between Development & Operations.

In Technical Terms

Having understood that DevOps is a bridge between Devlopment & Operations. Let's now try to understand a bit about in technical terms. 
DevOps mainly aim to automate and streamline the processes to make sure that, the development to the release cycle of a software application is as quick as possible. 
If we breakdown the word DevOps, 
  • Dev mainly refers to plan, code, build & test, whereas 
  • Ops refers to release, deploy, operate & monitor 
DevOps focuses on this end-to-end cycle. With agile planning, continuous development, automated testing, continuous integration & delivery, continuous deployment, continuous monitoring, effective communication and collaboration, DevOps plays a key role and help to make a quality software application available to the business users rapidly. 

Hence, in technical terms, DevOps is basically an automation in processes and operations. 

From an organization’s perspective

Let’s now try to understand what DevOps is from an organization’s viewpoint. Every organization’s core focus is to effectively solve their customer’s business problems. 
As a part of fail-fast approach, organizations nowadays follow agile methodology to iteratively develop and release the software application as fast as possible to the end users. This essentially helps to enhance and improve the software application experience as per the need of the business user. 
DevOps play a major role to achieve this fast-paced development to delivery cycle. In essence, DevOps is a software paradigm which establishes the set of practices through automated processes using cutting edge tools, to make the development to delivery cycle of a software application much faster. 

Hence, from an organization’s perspective, DevOps is an asset and investment to boost the business at the speed. 

From a developer’s perspective

Having understood what DevOps is and how it benefits the organization, Let’s take a look at what it has to offer for software professionals. 

DevOps is a rapidly growing and highly in-demand field. There is DevSecOps too. However, we will talk about it may be in other article. So, keeping the focus on DevOps only. Being a DevOps professional, it requires understanding of software development, deployment, maintenance, processes, quality, automation, effective communication and much more. Hence, as a software professional, it has much to offer in terms of learning new tools and technologies. At the same time, due to higher demand, being a skilled DevOps professional would surely help to skyrocket the career growth.

Summary

In this article, we have tried to get understanding about DevOps. We understood DevOps in layman's terms. We talked about What DevOps is in technical terms. We looked at DevOps from an organization's point of view, and we understood What DevOps is from a developer's perspective. This is how I would have explained DevOps to a beginner. You may possibly have a different viewpoint altogether about it & I would love to learn more from your feedback.I also have written an e-book about unlock the power of DevOps. It would be very useful for the beginners. If you are interested, it is available at gumroad - Unlock the power of DevOps (Use the discount code : copyfree to get  free copy of the book for the limited time). The ebook is also available on amazon. Thank you very much for your time. Hope the article was useful.