What is DevOps? The ultimate guide to DevOps

Nitish Kaushik
WebGentle
Published in
5 min readApr 14, 2020

Everyone in the market is talking about DevOps. Everyone has their own reason to learn DevOps like:

  • Improve career
  • Give the client a better solution
  • Fast delivery of the product
  • and several others…

Lots of companies are providing tools and technologies to work on DevOps. But most of the newcomers do not have any idea about DevOps. In this blog, we will learn every bit of DevOps and will build a solid foundation.

what is devops
Photo by Braden Collum on Unsplash

Let's take a step back and learn about How software development works?

Now suppose you need to develop new software then what are the important steps that you need to follow:

  1. Plan: First you will make a plan of what you are going to develop. In technical terms, you will create a backlog of your product.
  2. Code: So you have a plan, Now its time to code.
  3. Build: Once you are done with the coding then you need to build your code just to check any compile-time error.
  4. Test: At this phase, the developers will go for unit testing and testers will also perform several other types of tests.
  5. Deploy: So everything is working fine on the developer's machine. Now is the time to deploy the code on a server. In this phase, you will set up the server, publish the code, send the code on the server.
  6. Operate: In this phase, you need to operate several operations. Such as — check whether everything is working fine or not on the server. If anything goes wrong then you need to find the root cause of the problem and fix the problem.
  7. Monitor: By now we got a working application on the server and its time to monitor the application.
    Like: Is everything working fine, Do we need any scale up or scale down, Do we need to update any hardware, software, check application logs, etc.
  8. Go back to step 1. I assume you are following the Scrum framework for the development so at the newsprint you have to start everything from step 1.

This is a software development life cycle that we need to follow while working in an Agile environment.

To manage this development we need a few teams.

The entire work that we have done in the previous step is done by all the members of several teams. Let's see the details of these teams.

Business Team or Product Owner (PO): Plan

Development Team: Code, Build, Test

Operations Team: Deploy, Operate, Monitor

In a traditional way of developing the software, these teams were working independently. Then we got a new way of SDLC: Agile.

Software development in an Agile framework:

Agile changed the way of working for the development of a product (software). In Agile, the gap between the Business Team and Development team was filled and both these teams started working together.

But if you notice, still there is a gap with the third team (Operations team).

Need of devops
Photo by Farnoosh Abdollahi on Unsplash

The foundation is ready now let's learn-

What is DevOps?

DevOps is something where the Development Team and the Operations Team work together.

Development + Operations = DevOps

what is devops
Photo by Andy Kelly on Unsplash

The term DevOps is taken from both the Development and Operations teams.

We took Dev from development and Ops from Operations team and the final word that we got it
DevOps.

DevOps fills the gap between the development team and the operations team.

Agile filled the gap between the Business and Development team and DevOps filled the gap between the Development team and the operations team.

  • DevOps is a culture or practice which fills the gap between the development team and the operations team.
  • Both the teams work together in the entire SDLC to ensure the quality, ability of the product to work in different environments.
  • Both the teams work together with the help of some tools. And in the market, lots of tools are available to meet this requirement.
  • DevOps help us to run the lifecycle on each push of code or particular interval by using the automated process. With the help of DevOps, you can configure your product development in such a way that this will: Build the code, test the code, deploy the code on different environments and several other operations automatically.

Who should learn DevOps?

Irrespective of technology and role following members should learn about DevOps-

  • Each person who is working in a software development team. like — Developers, QA (testers), PO, Scrum master, etc.
  • Operations team
  • Individual developers
  • Freelancers
  • Management: To get a real-time update of what the team is doing.
  • Client: To get a real-time update of what the team is doing with lots of graphs and reports etc.

Benefits of DevOps:

  • Fast & reliable delivery: Deploying code from the developer’s machine to server is very fast and reliable.
  • Reduce time: It saves time at several operations (like testing, deployment, rollback) are happening automatically.
  • Rollback: Any release that you think should not go to the end-users (because of any reason), you can roll it back easily.
  • Quality: With lots of automated processes and tools we can check the quality of code before the actual deployment to the server.
  • Collaboration: All teams work together to develop a great product.
  • More Agility: Every commit and push that you made is treated as the final delivery (as all operations happen for each push of code).
  • Easy to use
  • Secure

If someone wants to learn about DevOps, where can he start?

Several great products are available in the market to work with DevOps. Here are some of them:

Thanks you for reading this blog post. Don't forget to give a clap ✌️.

You can also learn about DevOps in the following video:

--

--