What Is DevOps?
DevOps a combination of Development and Operations is a general term for a group of processes, methods and systems, which is used to promote communication, collaboration and integration among Development (application/software engineering), Technical Operation and Quality Assurance (QA) departments.
DevOps attaches great importance to communication and cooperation between software developers (Dev) and IT operation and maintenance technicians (Ops). By automating the process of software delivery and architecture change, software can be built, tested and released more quickly, frequently and reliably.
The emergence of DevOps is due to the increasingly clear recognition in the software industry that in order to deliver software products and services on time, developers and operation technicians must work closely together.
DevOps can be regarded as the intersection of development (software engineering), technical operation and quality assurance (QA).
Traditional software organizations set separate development, IT operation and quality assurance departments. In this environment, how to adopt new development methods (such as agile software development) is an important topic. According to the previous working mode, development and deployment do not require pure IT support or in-depth and cross departmental support from QA, but require extremely close multi departmental cooperation. However, DevOps considers more than software deployment. It is a set of processes and methods for communication and collaboration among all these departments.
Why DevOps Is Needed?
Enterprises that frequently make delivery may need to have a general understanding of DevOps.The introduction of DevOps can have a profound impact on product delivery, testing, function development and maintenance (including – once rare but now common – “hot patches”). In organizations that lack DevOps capabilities, there is an information “gap” between developers and operators – for example, operators may require better reliability and security while developers want infrastructure to respond faster, and business users need to provide more functions for end users faster. This information gap is the most commonly encountered problem.
Application of DevOps
DevOps has a positive impact on application publishing.In many enterprises, application publishing is an activity involving multiple teams, with high pressure and risk. However, in organizations with DevOps capabilities, the risk of application publishing is much lower for the following reasons:
- It narrows down the scope of change.Compared with the traditional waterfall development model, the agile or iterative development means more frequent releases and less frequent changes for each release. Since deployment is frequent, each deployment will not have a huge impact on the production system, and applications will grow at a smooth rate.
- It strengthens release coordination.It bridges the skill gap and communication gap between development and operation through a strong release coordinator. It uses collaboration tools such as spreadsheets, teleconferences, instant messaging, and enterprise portals (wikis, sharepoint) to ensure that all relevant people understand the changes and cooperate fully.
- It supports automation. Its powerful deployment automation means ensure the repeatability of deployment tasks and reduce deployment errors. Compared with the large-scale and infrequent releases (usually in “quarter” or “year”) of traditional development methods, agile methods greatly increase the release frequency (usually in “day” or “week”).
DevOps, as a methodology in the field of software delivery lifecycle management, has been accepted by more and more IT enterprises. There is no doubt about the business value it brings. “Numbers of deployments in a day”, from code to online software, it takes only tens or even minutes. DevOps has gradually become a new benchmark for more enterprise software development and operation and maintenance maturity cciedump.spoto.