当前位置:网站首页>Introduction to Devops and common Devops tools
Introduction to Devops and common Devops tools
2022-07-24 11:23:00 【JackieZhengChina】
Catalog
1. What is? DevOps
DevOps The word , In fact, that is Development and Operations A combination of two words . Its English pronunciation is /de'vɒps/, Be similar to " Dwops "

Its goal :DevOps That is to let developers and operation and maintenance personnel better communicate and cooperate , Through automatic process to make the overall process of software faster and more reliable
2. DevOps Origin of concept
2.1. Monomer architecture + Waterfall mode


Take e-commerce system for example , It is a single application architecture , At this time, only developers , No o & M personnel , Developers are the whole stack , Good project development , Find a server to install the environment , hold jar The packet is lost to the remote server , Just put it on and start the service
At this time, service monitoring is also simple , There was a problem with the service , Go online and look at the log , In order to free your hands, monitor the service , The developer will write some script analysis logs , Few servers , Simple deployment , Usually development can complete the operation and maintenance work , No special operation and maintenance is needed for deployment , So the development model is very simple , It can be developed directly in the way of waterfall flow
2.2. Distributed framework + Agile development model


With the growth of business volume , A machine can't carry it , Then add machines , Single machine becomes multi machine , Business architecture has also begun to join nginx,cdn Common infrastructure services such as caching , More business is sure to recruit , It involves the collaborative development of many people , Multi person multi machine mode
2.2.1. Multi person collaborative development problem
There are many people , For better division of labor , Most of the projects will be split up , Everyone is responsible for focusing on a part of , It's a bit of a household responsibility . The core idea of agile development : Since we cannot fully understand the real needs of users , Break down a big goal , Turn it into small, deliverable goals , And then through iterations , Continue to develop in a small, fast way . in addition , A project is big , To ensure the quality of the project , The test link cannot be reduced , In order to speed up and increase development efficiency ,QA It's best to work alternately with the development , We need to inject the testing link into the whole development link from the back , Each deliverable is a set of available features , Continuous validation of development deliverables
2.2.2. Multi machine problem
Let's talk about a lot of machine problems , In the past, machines rarely had a simple structure , Development can do the work of operation and maintenance , Even if you add a few servers , That's also the script that will JAR Packages are released to these machines at the same time , It seems very simple , But there will be two people online at the same time to deploy the problem of being covered , So you may go to the group and yell before you go online ,” I'm going online , Don't go online yet “, It is conceivable that such efficiency is also very low
The company has a big business , For example, a large company has thousands of servers , It needs special operation and maintenance intervention , On the one hand, it's because of the division of development, everyone is focused on their own things , Not so dedicated to maintenance , On the other hand, the learning cost of operation and maintenance has indeed become higher , The quality of developers varies , If everyone has nightmares on the server every night . But this time is not DEVOPS, It is DEV+OPS, At this time Ops My main responsibility is : Hardware maintenance 、 Network equipment maintenance 、DBA 、 Basic service maintenance 、 Data monitoring, etc. , Operators are good at writing all kinds of deployment , Monitoring script , Reduce the duplication of mechanical work , The development mode has become agile development Pattern
2.2.3. The natural opposition between the roles of development and operation and maintenance
Join operation and maintenance , It is necessary to coordinate personnel cooperation , The destiny of operation and maintenance is to maintain stability , They hate change ; The bounden duty of development is to constantly push the code online , Make code changes , Alternation iteration , These two types of work are inherently opposite
A lot of big companies have that , Developers want to go online , You need to submit all kinds of approvals , Sign and draw on each other , How many people's online passion was a cold ‘ It's not the window release time yet ’ To pour the heart cool . therefore , Agile development solves the problems of collaborative development and multi machine deployment development , But it didn't solve the internal contradictions , Keep this contradiction in the company , The development and operation and maintenance can meet at any time ‘ Life and death ’
2.3. Microservices framework + DevOps


Split the project into small services and deploy them separately , Take e-commerce projects as an example , Split the whole project into user services , Goods and services , Order service , Points service … Each service is deployed separately , They interact by calling each other , And some basic services, such as uploading pictures, can be used , Sending text messages and many other services need basic things , Abstract to a single service , That is to say, it was strongly advocated a few years ago ‘ Middle desk service ’
Split deployment leads to DevOps, Let's look at the development mode under this architecture DevOps, Operation and maintenance needs to do online work , The main thing is to deploy the code to the corresponding machine , There are so many micro Services , There are hundreds of services for each big company, not many , And there may be a service available at any time , If you still follow the original script deployment , Maybe we can't find any script in the end . and , If every service goes online and needs operation and maintenance to agree , Development is too humble , It is estimated that we need to ask for the approval of operation and maintenance every day , Operation and maintenance will be very annoying
So why not deploy some machines remotely , Dedicated to managing code , Go online , The operation and maintenance department has defined all the rules for the launch in advance , Development as long as according to his rules all access this server for their own code synthesis and release , I went online myself , Things that can be done automatically with code don't have to be done manually , This is what every developer is thinking . What operation and maintenance need to do , Slowly, it all settled on each platform , Such as monitoring , There are specialized monitoring components and visualizations , Basic services such as servers ,CDN, Basic services such as load balancing can be outsourced to cloud service providers , Logs also have special logging tools , Link tracking also has specialized components and visualizations , And gateways and so on , gradually , As long as these are configured , Development can also do part of the operation and maintenance work , After all, developers are the ones who know the code best , What's wrong? Look at the monitoring log , You can locate the problem as quickly as possible , therefore DevOps The development model was born , Development is also operation and maintenance
3. DevOps What is it
In terms of goals ,DevOps That is to let developers and operation and maintenance personnel better communicate and cooperate , Through automatic process to make the overall process of software faster and more reliable
Compare the waterfall development and agile development mentioned above , We can see clearly that ,DevOps Throughout the software life cycle , Not just in the development phase

Here's a picture , It is more obvious that DevOps Where it is , And its value

stay DevOps In this process , Operation and maintenance personnel will be involved in the development process during the project development , Understand the system architecture and technology roadmap used by developers , So as to develop an appropriate operation and maintenance plan . And developers will also participate in system deployment in the early stage of operation and maintenance , And provide system deployment optimization suggestions
DevOps Implementation , Promote communication between developers and operators , Enhance mutual understanding (gan) Explain (qing)
4. DevOps Common tools
GitJenkinsDockerKubernetes
4.1. Jenkins
Jenkins( read :[ˈdʒɛŋkɪnz]) It's a lot of software development teams going to DevOps It's an automation tool that you can use when you're working . It's open source CI/CD The server , Help users automate different stages of the delivery pipeline .Jenkins The main reason for its popularity is its huge plug-in ecosystem . at present , It provides 1000 Multiple plugins , So it can compete with almost all DevOps Tool Integration
Use Jenkins be prone to , It's in Windows,Mac OS X and Linux Ready to use . It's easy to use Docker Install it . Users can build and configure Jenkins The server . If you're using it for the first time , You can choose to install the most commonly used plug-ins . Of course, you can also create custom configurations . Use Jenkins Users can iterate and deploy new code as soon as possible . It also helps users measure the success of each step in the pipeline
Official website :https://jenkins.io/
4.2. Kubernetes
Kubernetes also called K8S, It's a container choreography platform , Take containerization to the next level . It can be used Docker Or other alternatives . Use Kubernetes Users can organize containers into logical units . If you only have a few containers , Then you may not need a container choreography platform . however , When the system reaches a certain level of complexity , When you need to expand resources , This is the logical next step .Kubernetes Let users automate the process of managing hundreds of containers
Use Kubernetes There is no need to bind a containerized application to a separate machine . contrary , You can deploy it in a cluster of machines ,Kubernetes The distribution is automated and containers are scheduled throughout the cluster
One Kubernetes The cluster contains a master And a few worker node .master Nodes implement predefined rules , And deploy the container to worker Node .Kubernetes Responsible for everything . such as , It noticed something worker The node is offline , The container on it will be redistributed to other nodes
Official website :https://kubernetes.io/
---------------------
author : Tonghua misses the rain
source :CSDN
original text :https://blog.csdn.net/weixin_38192427/article/details/115721321
Copyright notice : This is the author's original article , Please attach a link to the blog post !
Content analysis By:CSDN,CNBLOG One click reprint plugin for blog posts
边栏推荐
- 2022,软测人的平均薪资,看完我瞬间凉了...
- Semaphore详解
- Sorting out the ideas of data processing received by TCP server, and the note of select: invalid argument error
- Build resume editor based on Nocode
- IT圈中的Bug的类型与历史
- [golang] before method of time type in golang
- Online customer service chat system source code_ Beautiful and powerful golang kernel development_ Binary operation fool installation_ Construction tutorial attached
- 如何给自己的网站接入在线客服系统代码
- About [software testing - interview skills and precautions for automated testing] - talk freely
- MicroBlaze adds a custom IP core and attaches the Axi bus to realize ssd1306 OELD drive
猜你喜欢

STM32+ESP8266+MQTT协议连接阿里云物联网平台
](/img/1f/37c5548ce84b6a217b4742431f1cc4.png)
运算放大器 —— 快速复苏笔记[壹](参数篇)

iMeta观点 | 短读长扩增子测序是否适用于微生物组功能的预测?

tcp 服务端接收数据处理思路梳理,以及select: Invalid argument报错 笔记
![MOS管 —— 快速复苏应用笔记(壹)[原理篇]](/img/a1/8427c9b1d0ea0cecce820816510045.png)
MOS管 —— 快速复苏应用笔记(壹)[原理篇]

关于【软件测试-自动化测试之面试技巧和注意事项】——侃侃而谈

只会“点点点”,凭什么让开发看得起你?

【10】团队协作和跨团队协作
![08 [AIO programming]](/img/a6/156cb97e653190c76f22c88b758fef.png)
08 [AIO programming]

2022, the average salary of the soft tester, after reading it, I was instantly cool
随机推荐
Selenium automated test (this one is enough) - self study
Introduction to kubernetes Basics
In BS4.String and Difference between text
【C】 Recursive and non recursive writing of binary tree traversal
Stream stream
Fiddler packet capture tool summary
高频笔试题(蔚来)
STM32+ESP8266+MQTT协议连接阿里云物联网平台
PDF处理还收费?不可能!
The difference between YPbPr and YCbCr
周末和技术大咖们聚餐,聊到了软件测试行业的“金九银十”高峰【内卷之势已然形成】
Ctfshow ThinkPHP topic 1
【Golang】golang实现md5加密函数
How to access the code of online customer service system to your website
Text message verification of web crawler
在线客服聊天系统源码_美观强大golang内核开发_二进制运行傻瓜式安装_附搭建教程
[golang] before method of time type in golang
运算放大器 —— 快速复苏笔记[壹](参数篇)
如何从功能测试到自动化测试?
Xilinx FPGA Microblaze AXI_ IIC usage and experience