DevOps( english Development and Operations Combination of ) It's a set of processes , General designation of methods and systems , For development ( application program / software engineering ), Technical operation and quality assurance (QA) Communication between departments , Collaboration and integration . It emerged because the software industry is increasingly aware of : To deliver software products and services on time , Development and operation must work closely together .

You can DevOps As development ( software engineering ), Technical operation and quality assurance (QA) Intersection of the three .

Traditional software organizations will develop ,IT Operation and quality assurance are set as separate departments . How to adopt new development methods in this environment ( For example, agile software development ), This is an important subject : In the way it used to work , Not required for development and deployment IT Support or QA In depth , Cross departmental support , But it requires extremely close multi department cooperation . however DevOps It's not just about software deployment . It is a set of processes and methods for communication and cooperation among these departments .


Enterprises that need frequent delivery may need more DevOps Have a general understanding .Flickr Developed their own DevOps ability , Enable it to support the business unit “ Daily deployment 10 second ” Requirements of ── If an organization wants to produce for multiple users , Versatile applications , Its deployment cycle is bound to be very short . This capability is also known as continuous deployment , And often linked to lean Entrepreneurship .
from 2009 Since , Relevant working groups , Professional organizations and blogs are springing up .

DevOps The introduction of , test , Function development and maintenance ( include ── Once rare but now common ──“ Hotfix ”) Have a profound impact . In the absence of DevOps In the organization of competence , There is information between development and operation “ wide gap ”── For example, operators need better reliability and safety , Developers want the infrastructure to respond faster , The requirement of business users is to release more features to end users faster . This information gap is the most common problem .

The following factors may promote the introduction of an organization DevOps:
Using agile or other software development processes and methods
Business leaders demand faster product delivery
Virtualization and cloud computing infrastructure ( May come from internal or external suppliers ) Increasingly common
Popularization of data center automation technology and configuration management tools
There is a view that , Dominant “ tradition ” American management style (“ Sloan model vs
Toyota model ”) Will lead to “ Chimney automation ”, This creates a gap between development and operations , So we need DevOps Ability to overcome the problems .

DevOps Often described as “ More collaboration between development team and operation team , More efficient relationships ”. Due to the improvement of cooperation between teams , The efficiency of the whole organization is improved , The risk of the production environment with frequent changes can also be reduced .

DevOps Impact on application Publishing
In many enterprises , Application publishing is a project involving multiple teams , Under great pressure , High risk activities . However, the DevOps In the organization of competence , Low risk of application release , The reasons are as follows :
Compared with the traditional development method , Infrequent releases ( Usually “ quarter ” or “ year ” In units ) comparison , Agile methods greatly improve the frequency of release ( Usually “ day ” or “ week ” In units )

Reduce change scope compared with traditional waterfall development model , Adopting agile or iterative development means more frequent releases , Less change per release . Due to frequent deployment , So each deployment will not have a huge impact on the production system , Applications grow at a smooth rate . Strengthen release coordination and close the skill gap and communication gap between development and operation by a strong release Coordinator ; Using electronic data sheets , Teleconferencing , Instant messaging , Enterprise portal (wiki,sharepoint) And other collaborative tools to ensure that all relevant personnel understand the content of the change and cooperate fully . Powerful automated deployment means ensure the repeatability of deployment tasks , Reduce the possibility of deployment errors .