Recently, due to the project, I often talked with my classmates about how to choose the right open source and commercial products in the Application Performance Monitoring (APM) field. Take this field as an example and share it with you.

First, the conclusion: there is no unified answer, enterprise users should be measured from their own needs, the depth of technical mastery, construction cost of these three aspects.

Enterprise nature and final plan

Degree of technical mastery

Own needs

Construction costs

Fortune 500 IT departments, finally choose commercial products, deployment mode for the dedicated cloud Has been POC by major APM manufacturers, the interface person has a certain understanding of APM field; There have been several rounds of DevOps concept promotion and related environment building internally. 1. Coordinate with pressure test to optimize performance; 2. Can be quickly promoted and applied to the whole group; 3. Group large screen output; 4. Alarm, troubleshooting and diagnosis of problems in daily operation and maintenance. 1. Product fee + consulting fee; 2. Annual product upgrade and maintenance costs; 3.2 Interface personnel of Party A; 4. Internal machine costs. Maximum concurrent monitoring scale: 10,000 units. The average monitoring cost per active instance/year is about 4000 yuan.
Thousands of medium-sized Internet companies, the final choice based on pinpoint founded The person in charge is a senior expert engaged in APM field for many years, and Pinpoint Commiter transferred from the original APM manufacturer, is carrying out DevOps construction. Alarm, investigation and diagnosis are the main problems in daily operation and maintenance. 1.4 At least one year development and maintenance time for developers. 2.2 Daily maintenance and promotion of operation and maintenance personnel. 3. Internal machine costs. Maximum concurrent monitoring scale: 1000 PCS. The average monitoring cost per active instance/year is about 2000 yuan.
Dozens of entrepreneurial teams finally choose public cloud commercial products For APM, I’ve heard only a few meet up, focusing on business development. Alarm, investigation and diagnosis are the main problems in daily operation and maintenance. The cost of public cloud products can be flexibly expanded and reduced according to the business volume. Maximum concurrent monitoring scale: tens of PCS. The average monitoring cost per active instance/year is about 1000 yuan.

Product completion & Usage scenarios

Here is an overview of APM usage in three different enterprise sizes and their selection and cost. When the requirements fall into specific use scenarios, commercial products and open source products in the degree of completion, in fact, there are many differences:

Usage scenarios

Commercial products – A case study of Aliyun ARMS

Open source products – Pinpoint and Skywalking as examples

Alarm and report: as a daily operation and maintenance tool, the alarm function is essential. During routine inspection, you need to put key information on a page to form a report and periodically push the report. Support rich dimensional data alarm Settings, as well as rich push channels, including nails, SMS, email and so on. You can customize various service reports. Support for simple alarm functions, most of which require additional user development and integration.
User feedback problem tracking: Query the corresponding distributed call link and related logs according to a service key ID. Supports whole-system troubleshooting and 100% link collection. Is not supported.
Code bottleneck diagnosis: Once a problem is discovered, you need to quickly locate a code performance bottleneck. No additional burying point, automatic adaptation of most mainstream frameworks, support custom burying point. Single – threaded snapshot technology to monitor the health of unburied business code. No additional burying points are required, and customized burying points are supported.
Stability & scalability. After years of the double 11 challenge, the product performance is stable. SaaS products scale dynamically without the user’s concern. Open source projects are not tested in a mass production environment and require users to conduct their own stability tests and scale up according to the volume of data.
Use counseling. 5*8 Ali Cloud expert consulting service: it can output ali Cloud performance tuning experience and application scenarios for many years to help users quickly land APM products. Github Issue is mainly not supported by commercial companies, and most of the problems are solved by themselves.
Customization capability. Support for customizing your own display pages through apis. Open source products, can be arbitrarily changed.

Costing reference

Taking Ali Cloud ARMS as an example, assume monitoring 50 instances and estimate the cost:

  • Machine cost: at least 7 machines (3 storage, 2 applications, 2 Console)+ database, cost more than 4000 per month; With ARMS, the cost is less than 4000 or so, and the cost is slightly lower than self-built, almost the same.
  • Operation and maintenance labor cost: ARMS does not need to worry about expansion and expansion. ARMS does not need operation and maintenance engineers to save labor costs. The above open source software requires at least one professional operation and maintenance engineer with a median salary of about 10,000.
  • Additional development labor costs: ARMS is a commercial product that releases a new version every month, iterates constantly, and is feature-rich. The use of open source products requires the development of alarm and related operation and maintenance functions, and at least two professional development engineers are required, with a median salary of about 40,000.

conclusion

In the era of Internet cloud, when enterprises choose to build their own monitoring systems, they must select products and architectures based on their own conditions. Specific suggestions are as follows:

The company form User portrait Recommend selection
Small startup To the survival of the company, business development, need fast and cost-effective products. It is mainly public cloud Saas. It is not recommended to invest too much energy in open source self-construction in the field of monitoring, but to focus on core business development.
Medium growth enterprise With relatively stable business income and growth, I hope to develop and challenge the technology. Commercial products + open source products, you can quickly learn knowledge in a certain field through commercial products, and then customize part of the monitoring through open source products based on your own situation, such as using Grafana to customize the monitoring of the market.
Large listed company There are self-built computer rooms, stable business, and strong supervision and compliance requirements at home and abroad. Considering the use of proprietary cloud and hybrid cloud commercial services, can cooperate with manufacturers to try open source products, some technology companies can select open source products.