In this tutorial series, we will learn all about Azure DevOps. It will complete series of Azure DevOps, but before start Azure DevOps, we will learn what DevOps is and why we need it. We will learn everything from scratch. In this part, I will discuss only DevOps, and in part two, I will discuss Azure DevOps.
So if you are a complete beginner to Azure DevOps, or even if you are experienced with Azure DevOps, if you read this complete article, I can say that you will learn a lot of things about Azure DevOps.
This is the first part (Azure DevOps Series Part 1) of Azure DevOps and in this part, I will cover many topics.
First, let's talk about how the software development process works, or, we can say the basic life cycle of software development. Before we start any project we must:
- Plan
- Code
- Build
- Test
- Deploy
- Operate
- Monitor
- Plan - First make a plan once the plan is ready start coding.
- Code - Once code is completed according to plan then build the code.
- Build - When code is built, it is ready for a test.
- Test - When is completely tested, go for deployment.
- Deploy When code deployed on the server, then you need to operate something which you want.
- Operate - When it's done, then you need to monitor the server on what's going on.
- Monitor - After that, you always need to monitor it.
Say you guys are working in an organization, either a small, medium or big organization. Your team follows the same process, like make a plan, code, test, deploy, operate, and monitor.
Now think about something extra...
All these steps are done by a different team. First, they have a plan for any project and they have 2 teams. One team comes under the business team or the product owner. The product owner and client work together and work on the planning part of the product. Then we have to develop a team that includes testers. Developers did the code and build it and testers test the product. Then at last we have the operations team.
The main work of the operation team is to deploy the code on the server and monitor and operate it. So we can say that we have three teams working on particular or current project development.
Earlier, when we were working on the waterfall model, then all these teams were working independently. When agile came into the picture, then it fills the gap between these two teams development team and the operation team were working together on the success of a product.
What is DevOps?
DevOps is a set of practices that combines the software development team and IT operations team. This process is called DevOps.
Development + Operations = DevOps
Let's prove DevOps LHS = RHS
Development + Operations = DevOps
Dev +Ops = DevOps
DevOps= DevOps
Hence proved LHS = RHS
I hope you understand that DevOps is something related to Development & Operation team. We combine both teams to work together.
Both these team works together in the entire SDLC to ensure the quality of the product, and the ability of the product to work in different environments. Lots of tools are available in the market to automate this process.
Need for DevOps
- Faster Innovation,
- Reduced Deployment Failures, Rollbacks, Save Time
- Improved Communication and Collaboration
- Reduced Costs
Who should learn DevOps?
Each person who is working in software development team like Developers, Testers, Project Owner, Scrum Master, etc. ()
Operations team, Client, etc.
Note: Technical & Non-technical
Benefit of DevOps
- Fast delivery - Deploying code from the Dev machine to the server is very fast.
- Reduce Time - Lots of things (Testing, development, rollback) is happening automatically.
- Rollback - Any release which you think should not go to the end customer (because of any reason) you can roll back it easily.
- Quality - With lots of automatic tools we can get check the quality of code before deploying it on the server.
- Collaboration - All teams work together to build a great product.
- More Agility - Every commit is treated as final delivery.
- Easy to use
Conclusion
In this article, we learned what DevOps is, its benefits, why we need it, and a simple Software Development Life Cycle.