当前位置:网站首页>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
边栏推荐
- SSH跨平台终端工具tabby推荐
- Lanqiao cup provincial training camp - commonly used STL
- Neo4j installation tutorial
- High speed ADC test experience
- Docker installs 3 master and 3 slave redis clusters
- Reprint: getting started with cache coherence
- Video playback | how to become an excellent reviewer of international journals in the field of Geoscience and ecology?
- [golang] golang实现截取字符串函数SubStr
- 性能测试总结(一)---基础理论篇
- iMeta观点 | 短读长扩增子测序是否适用于微生物组功能的预测?
猜你喜欢

stream流

Sentinel vs Hystrix 限流对比,到底怎么选?
![[deserialization vulnerability-01] Introduction to serialization and deserialization](/img/e4/6b9ee6ee74f3cdc3c886ed3af9ef73.png)
[deserialization vulnerability-01] Introduction to serialization and deserialization

RRPN:Arbitrary-Oriented Scene Text Detection via Rotation Proposals

Installing Oracle Xe with Linux

网络爬虫之短信验证

《Nature》论文插图复刻第3期—面积图(Part2-100)
What is cloud native? Why is cloud native technology so popular?

Semaphore详解

Semaphore details
随机推荐
Exceptions about configuring Postgres parameters
【Golang】golang实现简单memcache
如何在家中使用 SSH 和 SFTP 协议
JMeter interface test steps - Installation Tutorial - script recording - concurrent test
聊聊软件测试-自动化测试框架
Stm32+esp8266+mqtt protocol connects Alibaba cloud Internet of things platform
Self taught software testing talent -- not covered
Easy to understand ES6 (IV): template string
【C】 Recursive and non recursive writing of binary tree traversal
Jmeter-If控制器
【Golang】golang中time类型的before方法
What is the difference between low code and no code?
[golang] golang实现截取字符串函数SubStr
Kubernetes Foundation
Online customer service chat system source code_ Beautiful and powerful golang kernel development_ Binary operation fool installation_ Construction tutorial attached
Idea runs the wordcount program (detailed steps)
RRPN:Arbitrary-Oriented Scene Text Detection via Rotation Proposals
MySQL query field matches the record of a rule
Only "a little bit", why do developers look up to you?
Paging query of employee information of black maredge takeout