What is DevOps? Why it's needed? DevOps lifecycle

What is DevOps? Why it's needed? DevOps lifecycle

Definition

DevOps is a cultural transformation where you're going to bring the dev, operations and security team together avoiding the wall of confusion, so that the team will have a better collaboration in the company to deliver the software to the customer.

We're doing all these to achieve the main 3 KPI (Key Performance Indicator) -

1. Velocity - It means how often you're releasing the changes to your customer.

2. Quality - Better Quality means reduction in the Production Issues compared to before. If Production issues are same, then there's something wrong in the whole transformation.

3. MTTR (Main Time To Recover) - Time taken to bring back a service from the outage to your customer. Recently we've seen many big companies facing this downtime issue but all of them recover quickly.

Why DevOps is needed? Or what is the biggest advantage of DevOps?

It allows faster development of new products and easier maintenance of existing deployments. Continuous releases are done with better quality and efficiency. Here you minimize the risks, ensure compliance, reduce costs.

Here's the DevOps Lifecycle - Devops lifecycle.png

How does DevOps reduce the costs?

  1. By reducing the Downtime.
  2. By Moving to the cloud. Instead of using traditional servers, investing a good amount in infrastructure and maintenance, we now pay to Cloud Providers like AWS, Azure, GCP in a 'Pay as you use' model. Cloud Providers take care of the infrastructure.

DevOps Lifecycle -

  1. Plan a thing you would like to create as a piece of software.

  2. Once, you've the idea of how its going to be structured , you write the code.

  3. After coding is done, you build the software, if its a compiled language you compile it.

  4. Once tests proves that everything is exactly how you expect it to be, you can move to the release part.

  5. Release cycle starts with deployment , now code which is packaged , as a thing can run on Internet.

  6. Deploy it on server , and you make it available for everyone.

  7. Operation refers to actual running of your application.

  8. Monitoring is where, we track the application, Rate at which things work, Rate at which things don't work and any other metrics in which we are interested in.