On June 25, the well-known system high availability expert Series Technology announced to open source its core product capabilities, open the production of full-link pressure testing platform product source code, and officially named Takin.

At present, the project has been released on Github. As the world’s first open source full link pressure testing platform, Takin’s open source will provide more enterprises with ultra-low threshold, ultra-low cost, and ultra-high efficiency performance guarantee capability.

What is production environment full link pressure testing?

Full-link pressure testing is a method to achieve the most certain performance objectives at the lowest cost, to ensure business continuity, and to provide IT systems with anti-vulnerability capabilities and fast problem location capabilities.

IT systems is an engineer in combination with the specific business scenarios based on the basis of a series of components in coding, basic component itself limitations, as well as the uncertainty of the code, can make whole system exists a lot of uncertainty, this uncertainty will make the system in the face of a series of “risk” scenario (peak), being very vulnerable, So how do you make the system anti-vulnerable?

Pressure measurement through all production link, real simulation scenarios, “risk” business behavior real-time monitoring system, early recognition and rapid positioning system of the uncertain factors, and to deal with uncertain factors, optimizing the ratio of system resources, using minimum hardware cost, make the system easily face all kinds of “risk” scenario, achieve the expected performance of the system. Through this method, the stable pressure measurement system is normalized in the production environment, and the long-term performance of the IT system is stabilized.

Performance testing went through four stages of evolution from offline to online:

1 Demand-driven pressure testing phase

Demand driven pressure test, most simple tools are used for single interface or single system pressure test, but also can carry out some simple performance analysis, but many times there is no special test team, need to develop independent pressure test.

2 performance regression system stage

A dedicated performance test team has been set up to build an offline performance test quality platform, capable of full-link pressure testing in complex scenarios and locating performance problems.

Three questions are typical at this stage:

  • Many companies have conducted performance tests offline, but there are still many problems online. It is not effective to evaluate the online environment based on the pressure test results of the test environment.
  • With the growth of business and the increase of marketing activities, the test engineers have no idea about the guarantee of activities, and the frequent problems of marketing activities affect the company’s image.
  • The performance pressure testing efficiency cannot meet the increasing demand for performance pressure testing. As a result, some projects directly go online without performance pressure testing, leading to frequent online faults.

In order to solve the uncertainty of performance pressure testing in test environment, performance pressure testing begins to evolve to production environment and enters the stage of performance pressure testing in production environment.

3 Load testing for production read-only services

In the stage of testing environment regression system, the performance pressure test of production read-only business was added, the production environment pressure test was carried out in practice, the production environment performance pressure test regression system was built, and the performance problem analysis ability of read-only business production pressure test was obtained.

4 Full service full link load testing phase

On the basis of the previous phase, add the performance pressure test for write services, and then perform the full-link pressure test for all services. The performance pressure test and problem location capabilities of all services are provided, and better performance will increase the system protection capabilities, such as degradation, current limiting, and fault drill.

Why open source?

As Cao Xuefeng, CEO of Series Technology, said, “The original intention of our open source Takin is actually very simple, that is, we want to let more enterprises use good products, help enterprises provide better user service experience, and release more energy to expand business. I believe that everyone’s feedback on the use of the product itself has a positive effect on the development of the iteration, mutual benefit to achieve a virtuous circle.”

At present, most enterprises still use the traditional performance pressure measurement method, but with the development of distributed and microservice architecture, this method can no longer meet the guarantee of system performance, So Sequence Technology decided to open source this full-link production environment pressure measurement product and officially named Takin.

Of course, Takin needs to do more than that. The biggest feature of open source is openness, inclusiveness and innovation. We hope that product open source can stimulate technological innovation in an open working way, attract more excellent developers in the industry to join in the production environment full-link pressure measurement technology co-creation team, so that the technology can be more ground, connecting different use scenarios.

Microservice architecture has been widely used in modern system architecture. The dual role of business complexity and system complexity makes it difficult to guarantee and maintain the high availability of the whole system, and has a great negative impact on r&d efficiency.

In order to solve the performance bottleneck and ensure the high availability of the system, it is necessary to implement the performance test of the system, but the traditional performance test has three problems: simulation, locality and black box.

Performance pressure testing in the production environment is recognized as the optimal solution, but it is also a very challenging thing, easy to pollute the database, log and other data of the live network, the operation of the production environment test data cleaning operation is complex and risky, therefore, the production environment full link pressure testing technology emerged.

Takin, as the first open source full-link pressure testing product in production environment, can help enterprises to reduce the complexity of the development of full-link pressure testing platform to a large extent, and obtain the core capabilities of production pressure testing, such as link governance, data isolation and performance bottleneck location, without the intrusion of business code.

What is Takin?

Takin is a Java-based open source system that can be embedded into various application nodes without business code intrusion to achieve full-link performance testing in production environments, suitable for complex microservice architecture systems.

Takin architecture diagram

Takin has the following four characteristics: (1) Zero intrusion of business code: no need to modify any business code when accessing, collecting and realizing logic control; (2) Data isolation: Performance tests can be performed without polluting the data and logs in the production environment, and direct performance tests can be performed on write type interfaces in the production environment; (3) Link governance: it can help business and microservice architecture analyze business links and obtain link information from a functional perspective in a technical way; (4) Performance bottleneck location: Performance test results can directly show the microservice architecture nodes with performance bottlenecks in the entire link.

Takin interface

Takin’s open source content

Takin open source content mainly includes three parts: Agent probe, control center and big data module. The probe (Agent) is implanted in the Java application, which can collect performance data, control the flow of test traffic, and report the data to the big data module. The big data module will carry out some real-time calculation and store the data, while the console is responsible for the management and display of these business processes. Each of the three parts performs its own duties to provide code-free, normal production environment full-link pressure testing service for business.

GitHub open source address:

Takin:

https://github.com/shulieTech…

Open Source community:

https://news.shulie.io/?p=3024 (for detailed operational documentation)

About Series: Series Technology was founded in 2016, is a leading system high availability expert in China, initiated by a number of alibaba senior experts. It aims to solve the governance and performance problems of micro-service architecture as the core, and provide a comprehensive guarantee for the performance and stability of enterprise systems. It has built a complete product matrix covering the full link pressure test, E2E inspection, fault drill and other modules, and is committed to helping enterprises improve the system availability to 99.99%.