DevOps What the hell is it?DevOps Introduction and tool recommendation.
DevOps yesDevelopment andOperations Combination, 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.
Can handleDevOps See development（ software engineering）, Technical operation and quality assurance（QA） Intersection of the three.
Traditional software organizations will develop,IT Set operation and quality assurance 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 deploymentIT Support orQA In depth, Cross departmental support, But it requires extremely close multi department cooperation. howeverDevOps 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 areDevOps 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 isZabbix,Nagios, useZabbix The feeling is the most. There are millet open source in ChinaOpenFalcon. 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 oneURL 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. Pass nowAPM Tools enable ordinary skilled operation and maintenance personnel, It is also very efficient to locate these deep problems. Now commercialAPM Many tools, Foreign countries haveNewrelic, Listen to the cloud,Oneapm, See through these. Open source also hasPinpoint（naver Open Source）,Zipkin（twitter Open Source）,CAT（ Comments on open source）.
3, batch+ Automatic operation and maintenance tools
There are more here, Well knownPuppet,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 andchef It's an early tool, The audience is also very large, But these two tools are based onruby Realization, Now find the familiarruby It's not easy for us to do the second development. andansible andsaltstack Compared with the Cenozoic, At present, the user base is growing rapidly, Be based onpython 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 isELK 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（ SimilarFilebeat） 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-knownSentry Log collection service, Relatively lightweight, Itself isPython 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 is ingithub There are10000 Multiplestar 了, This is inDevOps In the relevant software, It's all very high on the list.git Address：GitHub
- getsentry/sentry: Sentry is cross-platform crash reporting built with love
5, Continuous integration/ distribution kit
All the people I touch useJenkins Of, Nothing else, Maybe it's related to my technical circle. The process of integration and packaging is generally simple, Just match the version library and package script. But the publishing process is complicated, Some are full release, But there are manyIT 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 completeAPI, Based on theseAPI You can also do some automation for basic resources, For example, fast service opening in the game industry.
You can read more aboutDevOps Articles：<< How does your company implementDevOps Of?>>
Dried food： Free collection2TB Architect four stage video tutorial <http://mp.weixin.qq.com/s/1W1zI28riaWN9k3HHBL9Kw>
Facial canal： The most complete in historyJava 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>
shareJava 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.