What is? DevOps


DevOps yes 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 .

DevOps tool

Work wants to do well , You have to sharpen your tools first , Now we are DevOps The focus of the field is on the tool level .

Here's how I got in touch with so many companies , We use a lot of tools :

1, Monitoring tools


The more old-fashioned one is Zabbix,Nagios, use Zabbix The feeling is the most . There are millet open source in China OpenFalcon. This kind of monitoring tool is generally used for servers , service ( middleware , data base ) Do some monitoring of common indicators .

2, performance analysis /APM tool


APM It's often considered a subdivision of monitoring . But in the modern complex distributed system architecture ,APM Tools tend to be more accurate , Directly help users locate performance bottlenecks , Like which one URL Slow access , Which method is slow , Which one? SQL Slow execution . In the past, if you want to get these data , More senior architects are often needed ,DBA Work together to get the data , However, the efficiency of locating bottlenecks is often not very high . Now through APM Tools enable ordinary skilled operation and maintenance personnel , It is also very efficient to locate these deep problems . Now commercial APM Lots of tools , Overseas Newrelic, Listen to the cloud ,Oneapm, See through these . Open source also has Pinpoint(naver Open Source ),Zipkin(twitter Open Source ),CAT( Comments on open source ).

3, batch + Automatic operation and maintenance tools


There are more here , Well known are Puppet,Ansible,Chef,Saltstack these ones here . There are also a lot of information on the Internet , Just look for the official documents of the newer version .Puppet and chef It's an early tool , The audience is also very large , But these two tools are based on ruby realization , Now find the familiar ruby It's not easy for us to do the second development . and ansible and saltstack Compared with the Cenozoic , At present, the user base is growing rapidly , be based on python realization , It's also relatively easy to find people to do secondary development .

4, Centralized log analysis tool


In an environment with more servers , How to manage and analyze centrally , Query log , Has become a stronger demand . Imagine , If something goes wrong , You have to have a machine to look through the log files , Does it hurt . Driven by this demand , Some centralized log analysis tools were born . In the field of open source , Well known is ELK This set of tools , Covers log collection , Report , search , Show this kind of basic needs , Now more and more large-scale enterprises use this , There are a lot of information on the Internet . The core implementation mechanism is through some log collection agents ( similar Filebeat) Go to the log file , Submit the latest part to the collection server , Back end docking search engine , Can support very fast , Accurate search . There is a little-known Sentry Log collection service , Relatively lightweight , In itself Python Done , Well integrated with logging frameworks in various languages , It is very convenient to collect exception logs in a centralized way , And assigned to the corresponding developers . It's in github Yes 10000 Multiple star 了 , This is DevOps In the relevant software , It's all very high on the list .git Address of :GitHub
- getsentry/sentry: Sentry is cross-platform crash reporting built with love

5, Continuous integration / distribution kit


All the people I touch use Jenkins Of , Nothing else , Maybe it's related to my technical circle . The process of integration and packaging is generally simple , Just configure the version library and package scripts . But the publishing process is complicated , Some are full release , But there are many IT Team adopts incremental release . If you want to use tools , We still need to analyze the existing release process , How to do it by hand , What can be done with automation tools .

6,IaaS integrate


The promotion of public cloud in recent two years is relatively rapid , Many new server purchases have been imported to the cloud . Now the mainstream public cloud has provided relatively complete API, Based on these API You can also do some automation for basic resources , For example, fast service opening in the game industry .

You can read more about DevOps The article of :<< How does your company implement DevOps Of ?>>

https://www.zhihu.com/question/24413538/answer/116474416
<https://www.zhihu.com/question/24413538/answer/116474416>

Recommended reading

dried food : Free collection 2TB Architect four stage video tutorial <http://mp.weixin.qq.com/s/1W1zI28riaWN9k3HHBL9Kw>

Facial meridian : Most complete in history Java Multithreaded interview questions and answers <http://mp.weixin.qq.com/s/RnHAwTCW_e99YEFe04t6og>

tool : Recommend an online creation flow chart , Mind mapping software <https://www.processon.com/i/536766930cf231b22b4a7e38>

share Java dried food , High concurrent programming , Popular technology tutorials , Microservice and distributed technology , architecture design , Blockchain Technology , artificial intelligence , big data ,Java Interview questions , And cutting edge news .