Three principles of DevOps

The emergence of DevOps has its inevitability. In the software development life cycle, two bottlenecks are encountered. The first bottleneck was between the requirements phase and the development phase. For the ever-changing requirements, high demands were placed on software developers. Later, agile methodologies emerged, emphasizing adaptation to requirements, rapid iteration, and continuous delivery. The second bottleneck is between the development phase and the construction and deployment phase. A large number of completed development tasks may be blocked in the deployment phase and affect delivery, so there is DevOps.

The three principles of DevOps:
1. Infrastructure as Code (Infrastructure as Code)
The basis of DeveOps is to use automated scripts or software to achieve repetitive things, such as Docker (containerization), Jenkins (continuous integration), Puppet (infrastructure) Build), Vagrant (virtualization platform), etc.
2. Continuous Delivery (Continuous Delivery)
Continuous delivery is to release reliable software in the production environment and deliver it to users. Continuous deployment, on the other hand, is not necessarily delivered to users. It involves two times, TTR (Time to Repair) repair time, and TTM (Time To Marketing) product launch time. To efficiently deliver reliable software, it is necessary to reduce these two times as much as possible. There are many ways to deploy, such as blue-green deployment, canary deployment, etc.
3. Culture of Collaboration
Developers and operators must work closely together on a regular basis. Developers should understand the operations role as another group of users of the software. There are several suggestions for collaboration: 1. Automation (reduce unnecessary collaboration); 2. Small-scale (the content of each modification should not be too much to reduce the risk of publishing); 3. Unify the information distribution center (such as wiki, so that both parties can share information); 4. Standardized collaboration tools (such as jenkins)

with the definition of DevOps:

DevOps (a combination of Development and Operations) is a culture, movement, or practice that values ​​communication and collaboration between "software developers (Dev)" and "IT operations technicians (Ops) . " By automating the process of "software delivery" and "architectural changes", it makes building, testing, and releasing software faster, more frequent, and more reliable.

Original address: https://blog.csdn.net/difffate/article/details/77542768

Chenzhou java training, Chenzhou software training school, Chenzhou software development training

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326568011&siteId=291194637