DevOps What the hell is it ?DevOps Introduction and tool recommendation .
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 .
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 .
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 ?>>
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 .