1. Definition from Wikipedia:
DevOps (a clipped compound of “development” and “operations”) is a set of software development practices[failed verification] that combines software development (Dev) with information technology operations (Ops) to shorten the systems development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives.
2. Definition from Webopedia
DevOps (development and operations) is an enterprise software development phrase used to mean a type of agile relationship between development and IT operations. The goal of DevOps is to change and improve the relationship by advocating better communication and collaboration between these two business units.
What is DevOps?
- DevOps is a culture that is followed by many big organizations. It is a combination of Development (software development) and Operations (software productions/IT operations).
- DevOps is an extended version of the Agile methodology. It is neither a tool or any technology, it is a culture or concept of behavior.
- DevOps defines a set of practices that are designed to overcome the communication and collaboration gap between the development, QA, and Operations team. It includes a Continuous Integration process with automated deployment.
- DevOps practices encourage the speed of delivering applications and services in the market.
- DevOps consists of 4 basic continuous processes in DevOps as follows:
- Continuous Integration
- Continuous Delivery
- Continuous Testing
- Continuous Monitoring
DevOps Life-cycle
i. Development
In this DevOps stage the development of software takes place constantly. In this phase, the entire development process is separated into small development cycles. This benefits the DevOps team to speed up software development and delivery process.
ii. Testing
QA team use tools like Selenium to identify and fix bugs in the new piece of code.
iii. Integration
In this stage, new functionality is integrated with the prevailing code, and testing takes place. Continuous development is only possible due to continuous integration and testing.
iv. Deployment
In this phase, the deployment process takes place continuously. It is performed in such a manner that any changes made any time in the code, should not affect the functioning of high traffic applications.
v. Monitoring
In this phase, the operation team will take care of the inappropriate system behavior or bugs that are found in production.
Few of the benefits of DevOps are as follow
- Speed
- Rapid Delivery
- Reliability
- Scale
- Improved collaboration
- Security
The following are DevOps best practices
- Continuous Integration
- Continuous Delivery
- Micro-services
- Infrastructure as Code
- Monitoring and Logging
- Communication and Collaboration