SciDatajourney

What is the goal of a DevOps Methodology

Hello everyone, welcome back to this session and DevOps training. Today in this session we’re going to discuss what is DevOps Methodology. Alright so without wasting any time, let’s go ahead and start with this session.

So guys, like I told you guys earlier, DevOps is nothing but a methodology. It is an idea, right? It is not a tool, It is not software. It’s an idea or methodology for solving the problems between developers and operations.

DevOps Methodology Lifecycle Phases for Software Integration

DevOps Methodology

Guys, right now this DevOps Methodology involves a life cycle. As you can see in the diagram the first thing that you do is plan what you have to do, right? Then you code your way in, then you build the code.

Building the code means if you have a Java file for example, you have to create a jar file or an executable file out of that. So that is called building, right? So build your code and then you will be testing your code.

So what executable you have built, you test that code for any faults in the functionalities, and if there are no faults you release the code to the upstream. Now there are two kinds of release guys, There’s an internal release and there’s an external release, right?

The internal release talks about releasing the software to a different team of the company and this is what exactly is happening. Then comes a release phase where the developer guys release the software to the operation guys for their work, and the operations guy will deploy the software onto the target system.

It could be a testing server which basically will test or do an automated test on it or it could be you know, the production server where everything has happened, the testing has happened and you’re deploying it on the production server, right?

So once you’ve deployed it of course now becomes the operation phase. The operation phase can be done internally or it could be done by your customers wherein you know how to operate the software or you release the software for internal employees to see whether you know the traffic.

When is it doing good? When does it hold? When it’s getting traffic onto it? Is it doing good when normal people are doing arbitrary tasks on your software and then you are also continuously monitoring it to see if you know your task or your application is functioning properly?

If it is not functioning properly, you’re creating a log of events that are happening right which is called monitoring. And after monitoring again comes the planning phase, which means if you get any kind of feedback from the monitoring part, you again start planning it.

How to do it? How to solve this kind of problem that you’re getting in the monitoring phase? And then code your way in, build the code again, test it again, and release it to the Ops guy. And this goes on and on until you get the perfect application.

And there is no perfect application, right? Always there will be new requirements coming in, always there will be some bugs, always there will be some security patches therefore this life cycle goes on and on. So this is what DevOps Methodology is guys, right?

And if you were to think about it, how is it solving the problem between the dev and the OPS guys is by automating this life cycle? That means that now the developer does not have to give the code to the OPS guy.

It will be given through a tool that we have. So there is a tool called docker, right? So basically the dev guy will enclose this code inside Docker and will push it to the OPS team, and the OPS team just has to run Docker and this code will run fine, right?

There is no problem with dependency, there is no problem for configuration management, Everything happens automatically in this life cycle.

So don’t worry if you don’t understand exactly what DevOps Methodology is, we’re going to discuss how it works, right?

How does the DevOps Methodology life cycle work?

So going forward, now let’s discuss how the DevOps Methodology life cycle works, right? So if you want to that Infinity sign that we had it, if you were to condense it or if you want to expand it, so that DevOps life cycle diagram that we had, the Infinity diagram that we had, if you were to expand it, it would look something like this, right.

DevOps Methodology

So you have something called planning, you have something called coding, building, and testing. Now this used to happen on the developer’s side, right? And then we go on to the op side where we have released, we have deployed, you have operated and then you have monitor, right?

So in between this, we have to integrate the left side part of the developer side to the right side of the operator side and this is done using continuous integration. Now what is continuous integration? We’ll discuss this in a while, but for integrating the developer and the operations guys, we use continuous integration.

Now before moving on to what is continuous integration, let’s pay attention to what we have over here as well, right?

The 5 Stages of DevOps Methodology Lifecycle

What is continuous development? I’ll explain to you in a little while. So the planning and coding phase we contribute or we collectively call it continuous development.

Building and Testing, we call it continuous testing. Releasing, and deploying we call it continuous deployment. Operation and monitoring, we call it continuous monitoring.

OK, so you start with planning. You do coding, you build it, you test it, you then release it to the OPS team, then you deploy it, then you operate it, and then you monitor it.

This gives rise to five stages. That is continuous development, continuous testing, continuous integration, continuous deployment, and continuous monitoring, which again goes back to continuous development. Now let’s understand these terms.

Let’s understand what is continuous development, Testing, Deployment, monitoring and integration.

How does continuous development, Testing, Deployment, monitoring, and integration work?

OK, so this is the life cycle guys. Now why are we calling it continuous? Continuous means it goes on and on right?

DevOps Methodology

It never stops. So like I told you in the diagram for DevOps Methodology the cycle goes on and on, it never stops. The product is always being developed right? It is always in some part of the life cycle. So if you were to explain continuous development and continuous integration, continuous testing, this is the best way to learn it.

OK, so we have a developer who basically will be pushing his code to a version control system. OK, And this version control system will any changes in this version control system will be taken up by a continuous integration tool.

OK, So what is a continuous integration tool? A continuous integration tool does nothing but it joins each of these stages to each other.

For example, if I have to go from continuous development to continuous testing, and if this happens in separate software, continuous integration will join these and this right. Continuous integration will join testing and then deployment.

Continuous integration will join monitoring and then again coming back to development. So there is software that does continuous integration.

OK, let’s let’s understand just this as a black box. This is a software that does continuous integration and the function for this particular software is. The moment you push your code to a version control system.

This version control system is nothing but software that takes care of storing your code. OK, so the moment you push your code to a version control system, or you change your code in the version control system, the continuous integration tool automatically identifies OK, so there’s a change in the version control system.

So what it does is it takes this code and it builds it on the testing server. It first builds it and tests it on the testing server. This is called continuous testing. The reason is that every developer who does this continuous integration does the job similarly, right?

So if there are 100 developers in the team, so for every developer, if we configure a version control system that for every developer it has to test the code, it will always do that.

OK, so every developer who’s doing version controls, who’s pushing his code to version control system continuous integration software is going to test their code on the testing server, right? And this is the reason it’s called continuous right? Because it happens continuously.

OK, so for continuous development, we push our code to the version control system, which is identified by the continuous integration tool.

So the first job that the continuous integration tool does is it push onto the testing server the code where it is built and tested and if the test succeeds, the continuous integration tool pushes it on the production server.

OK, now either if it’s on the production server or if it’s on the testing server. Now if on the testing server there are some bugs which are identified.

The feedback is given through continuous monitoring to the developer or if the production server, if there are some problems on the production server like I said, when you deploy your code on the production server it basically gets available to the world and it gets continuously monitored right?

For any kind of problem which are occurring, it gets continuously monitored and the logs are generated and these logs are stored somewhere using continuous monitoring.

So your production server is continuously monitored for any kind of activity that is happening on it and the logs are being generated. Now the developers, the team.

Now when I go back to the developer, why am I coming back over here? Because this identifies or. This tells us that when the development team is done with the release and now they have to see what all and what other work I have to do. What I have to do is check the log from the continuous monitoring tool.

And they’ll be able to identify so OK, so this and this is causing a problem. This and this is causing a problem. And also the users are saying that you know, we should have this feature.

The client also came in. He also wants some features, so they plan a release, right? And once the planner is released, they again start coding.

Again, once they’re done with the code, they’ll push the code to the version control system, which will be identified by the continuous integration tool, which will then automatically test it once it’s been tested.

If it’s successful, it will be pushed to the production server again. The logs will be identified by the continuous monitoring stage. Again, it will go to the developer after planning and then he’ll code his way into the version control system and the life cycle goes in on and on, right?

Understand each of the DevOps Methodology stages independently

So this is exactly how DevOps Methodology works right? Now let’s look at each of these stages independently to understand what exactly happens in continuous development.

Continuous Development

What exactly happens in continuous integration? Okay. So in continuous development, you push your code to a version control system.

The version control system could be software like Git or software like SVN. Right now when the moment you push your code to the version control system, it creates a new version of your code. For example, if you wrote ABC on a text file, right now that ABC you wrote and you upload it on the version control system.

So this was the first version. The version control system automatically makes it version one. The moment you make some changes and again push it to the version control system what happens is it creates the version one was the text file having ABC.

Now the new version that you have pushed becomes version two and the file would be ABC and probably whatever changes you have made to the file.

OK, so it creates a new version and at the same time, it also holds on to the previous version. So that in any case in any problems that you might have in the future if you want to revert to the previous version you can easily do that right?

And that is why we have version control systems like Kit and SVN. Continuous development is an integral part of pushing code to your version control system. OK, now this is this is continuous development. Then you have continuous integration.

Continuous Integration

Now what is continuous integration? This is nothing but integrating your life cycles, right? For example, once you push the code to your version control system, it has to be picked up and pushed onto the testing server for testing where it could be built and tested right?

So all these life cycles are integrated or there is someone who is doing the manual job of a person of taking code from one stage and pushing it on to another, then taking the results from there, pushing it on to another, then taking the results from there pushing on to another.

That manual effort is being done by a tool which is called the Continuous integration tool. OK, then you have continuous deployment.

Continuous Deployment

Continuous deployment means you will deploy your code onto a particular server. It could be a testing server, it could be a production server.

Deployment involves putting the right kind of software on it and then pushing the build onto your server so that it has the right software environment where it will function right. And again installing software and system and everything is also automated using a tool which is used in the continuous development life cycle.

Continuous Testing

OK, then we move to continuous testing. Now continuous testing is again a life cycle life cycle stage wherein you continuously test your software. So like I told you guys in this what happens is you continuously build and then test your code.

So your code is pulled from the version control system it is built. So when I say built, it is converted to an executable file and this executable file is then run right now the continuous testing.

How it happens is you create Autumn testing suits which are pre-installed in the testing server and the moment it gets a new executable, all those test suits are executed on this particular executable file to check if all the tests are passed or not right?

If all the tests are passed, it is then again picked up by the continuous integration tool and then pushed onto the production server.

Continuous Monitoring

Once it reaches the production server again it gets monitored, right? It gets monitored for user activity, it gets monitored for any errors, it gets Monitored for any user comments on version upgrades, right on version upgrades or you can say any feature requests.

So all those feature requests, all those errors, all those logs are then visualized or then are then stored inside a monitoring tool, right? This monitoring tool helps us in sorting these logs based on what we want.

It’ll sort it based on general logs is sorted. Based on error logs, it’ll sorted based on feature requests, right? So it becomes one destination stop for you where you can check and plan your teamwork for the near future. So this is continuous monitoring.

These were all of the stages of DevOps Methodology.

Conclusion

To sum up, the objective of a DevOps methodology is to establish an effective and cooperative software development process. Through the adoption of fundamental concepts, resolution of obstacles, and utilization of appropriate resources, enterprises can experience enhanced cooperation, accelerated software development cycles, and superior software.

People also search

  1. Is DevOps methodology only for large organizations?

Ans: No, businesses of all sizes can implement DevOps methodology ideas. Improving efficiency and teamwork in the development process is the goal.

2. How does DevOps methodology impact security?

Ans: DevOps methodology integrates security measures at every stage, ensuring that security is a fundamental aspect of the development and deployment pipeline.

3. Can DevOps methodology practices be adopted in non-tech industries?

Yes, DevOps methodology principles can be adapted to various industries beyond technology, promoting efficiency

1 thought on “What is the goal of a DevOps Methodology”

Comments are closed.