Table of contents
- What is DevOps? Is it a technology...
- What does the word DevOps mean?
- Problems that DevOps solves
- Methodology/Principles of DevOps
- The DevOps Lifecycle
- Plan = Planning for the application is done
- Code = Source Code for Application is written
- Build = Building of Application from source code is done
- Testing = Testing is done to search for bugs and errors
- Release = Application is released
- Operate = Operating of Application
- Monitoring = Application is continuously monitored for better user experience and to improve its performance
- Roles that DevOps offers:
What is DevOps? Is it a technology...
DevOps is a philosophy or methodology in the software development or IT industry. Used as a set of practices and tools, DevOps integrates and automates the work of Software Development and IT Operations as a means for improving and shortening the Software Development Life Cycle.
What does the word DevOps mean?
DevOps is a broad term. It is the intersection of Development and Operations. The term DevOps was coined by Patrick Debois in 2009. It is an umbrella term for process, culture and mindset used to shorten the Software Development Life Cycle; using fast feedback loops to deliver features, fixes and updates more frequently.
Problems that DevOps solves
In a company that delivers software to users, there are two types of teams working together i.e. Development Team and the Operations Team. The development team is responsible for designing as well as developing the software along with the features of the software while the Operations team is responsible for the release and maintenance of the software that has been developed by the development team. These teams work together to meet the user's ends. But the main problem that arises here is that both these teams work isolated from each other and whenever there occurs an error in software or its update, the blame game also occurs.
The arrival of DevOps and its rise in adoption led to a paradigm shift from the above-mentioned culture. Developers now no longer need to wait for a release date to bring forward new and enhanced features. Instead, they now can release new features on regular basis by using the concept of Continuous Integration and Continuous Delivery. The Operations team must manage this regular flow of new features before it gets deployed to the customer's site.
Methodology/Principles of DevOps
Development
Designing and Development of source code of Software(Can be written in any language).
Testing
Testing of software on all the platforms is done, along with bug searching.
Integration
It is a practice in which developers require to commit changes to the source code more frequently and can be done on a daily or weekly basis.
Deployment
In this stage, the code is deployed to the production servers. This involves the use of containers using orchestrating technologies like Kubernetes. Application Configuration Management and Infrastructure as Code play a key part in the DevOps cycle.
Monitoring
The Application or software performance is continuously being monitored and it allows the developers to make better decisions about enhancements to the software in future releases to better serve the end users.
This section is also where the Feedback from the users is captured and used for improving the software.
The DevOps Lifecycle
DevOps consists of the following eight steps. As seen from the DevOps logo picture, it is an infinite cycle of 8 steps that keeps on repeating itself.
Plan = Planning for the application is done
Code = Source Code for Application is written
Build = Building of Application from source code is done
Testing = Testing is done to search for bugs and errors
Release = Application is released
Operate = Operating of Application
Monitoring = Application is continuously monitored for better user experience and to improve its performance
Roles that DevOps offers:
Hit me up for any corrections regarding the blog, here's my twitter id @himanshu07_twts