DevOps is a combination of two words i.e. "Dev" and "Ops" here Dev means Development and Ops means Operation.
DevOps is basically a methodology/procedure/practice in which a single team is responsible for entire application development lifecycle i.e. development, testing, deployment and operation.
"DevOps is a team in which people working together to conceive, build and deliver secure software at top speed. DevOps practices enable software developer (dev) and operation (Ops) to accelerate delivery through Automation, collaboration, fast feedback and iterative environment."
~ GitLab
Before DevOps (Agile Methodology)
Now as you have some basic understanding about DevOps lets talk about how the software process looks like before DevOps.
Before DevOps we uses Agile methodology to build software.
1. Agile methodology revolves around the software development and testing phase only.
2. In Agile we build software in small units and then test it, take feedback and works on it.
3. Agile is more focused on speeding up the development process.
Process of Agile Methodology
Plan >>> Design >>> Develop >>> Test >>> Release >>> Feedback
then again planning starts
problem with Agile
As I said agile speed up the process of software development and testing process but not able to speed up the software release process that is the headache of operation team because operation team has to deploy the software manually which takes time (This process is really time consuming).
Who came to rescue ?
And their DevOps came into picture and speed up the whole process of software development, software testing and software release by automating the whole process. With DevOps their is less manual work and everything is automated.
The main objective of DevOps is to shorten the software development lifecycle
Phases of DevOps
There are 8 phases of DevOps by which every software which follows DevOps methodology have to pass through.
1. Plan :- plan is the first phase of DevOps, in this phase requirements are gathered from customers and stakeholders and build a roadmap to guide for future development.
2. Code :- Second phase of DevOps, In this phase the code is written as planned on first phase. and develop the software as required by the customer and stakeholders.
3. Build :- The Third phase, Here the DevOps really kicks in, as developers pushed their code to the repository, the code must be go into build phase automatically and software must be start building to get the artifact.
4. Test :- The forth phase, As code was build and artifact was generated it will automatically deployed to staging environment for testing of software. A series of manual and automated tests are performed and the test result is notified to developer as well as operation team.
5. Release :- In this phase the artifact is released to production server and in this phase also some testing are performed.
6. Deploy :- The sixth phase, Now the software is well tested by testers and ready to be deployed on production server to be used by the end user. In this phase the software is deployed on the production server.
7. Operate :- The seventh phase, Now our software is deployed on production server. Now our operation team makes sure that every thing is running smoothly, Based on configuration of of our hosting service, the environment must be scaled up and down automatically as load increases or decreases.
8. Monitor :- Final phase of DevOps, here DevOps team introspect and monitor the whole DevOps pipeline. And environment is also monitored in this phase. this builds on the customer feedback provided in the Operate phase by collecting data and providing analytics on customer behavior, performance, errors and more.
" Everything is continuous every phase will be in continuity to provide fast and secure Software delivery"
We will discuss on continuity feature of DevOps in another separate blog.
we will discuss about "Continuous Integration", "Continuous Delivery", "Continuous Deployment" and "Continuous Feedback".
Thank You. 😊 for reading