Author: Ten Sleeps, Rhys

MicroServices architecture is a double-edged sword. With the complexity of MicroServices architecture, no matter how small the problem is, it will affect the whole system. Therefore, the efficiency and stability problems brought by MicroServices architecture are likely to be far greater than the architectural benefits brought by MicroServices themselves.

Recently, Ali Cloud MSE micro-service governance released the enterprise version, micro-service governance ability covers from traffic protection to traffic isolation and recovery, from development to release online and other scenarios, to help enterprises quickly build a complete micro-service governance system.

MSE Microservice Governance wants to help enterprise customers build always-on businesses.

Micro-service governance is the only way to go after micro-service reform reaches a certain stage

With the development of micro-service technology, the concept of micro-service has long been popular. More and more enterprises begin to choose micro-service architecture to develop their own business applications, because micro-service architecture can make business iteration more efficient. Software architecture at the heart of the challenge is to solve the problem of the system complexity, the fast-growing business, when we did as micro service architecture will be decoupled business process, the application of micro service number will gradually increase, call the link is also becoming more and more long, calls and dependencies between services and service have become increasingly complex.

In this process, if we do not properly govern our microservices, the complex dependency between microservices will lead to the amplification of the smallest technical problems, resulting in efficiency and stability problems may be far greater than the architectural benefits brought by the microservices architecture itself. After the enterprise carries on the microservitization to a certain extent, the microservice governance is an inevitable stage that the enterprise must face.

The complexity of microservice governance in the cloud native scenario is further improved

With the gradual deepening of the process of enterprise micro-service, the cloud protozoa of micro-service has gradually entered the deep water area. In the process of deepening micro-service, people have gradually realized the complexity of micro-service governance. Below, we will simply divide the problems to be solved by micro-service governance into three aspects, namely efficiency, stability and cost.

The efficiency of

• In the development phase, we need to consider how to make the locally developed application deploy the business on the cloud to coordinate well after the business application goes to the cloud. We usually micro service can’t be in the local full deployment of a whole set of system, so the application of local development is a fraction of the whole micro service link, this includes our flow need to be able to easily lead to the local from the cloud, is advantageous for the development and debugging, we do, or we can very convenient call locally deployed on cloud services through alignment. This in the micro service cloud, it becomes more difficult than the original in their own computer room for joint development.

• In terms of online operation and maintenance, we often need to make frequent changes to microservices, which often lead to a series of problems. For example, releasing during the peak hours of the day usually leads to loss of business traffic, and our R&D personnel have to choose to make changes during the peak hours of the night.

• Microservice frameworks often introduce service governance logic, which is often relied on by business code in the form of SDK. Changes and upgrades of these logic require each microservice business to modify the code, resulting in very large upgrade costs.

• After entering the cloud native system, the cloud native system dominated by Kubernetes emphasizes flexible scheduling between clusters. If any resource is scheduled based on POD, the IP of POD will change correspondingly after being scheduled, and the traditional governance strategy will face the problem of failure. How to make the service governance system more suitable for the cloud native system is also a problem we need to solve.

stable

• Stability is more important than anything else. After the cloud on microservices, high business availability is an issue we have to address, so deployment is often done in multiple availability zones in the same geographic area. Of course, our business needs not only to ensure high availability in the same region, but also to ensure high availability when problems occur in a region. At this time, we need to consider the implementation of same-city hypermetro, or even multi-live in different places, which are all issues that need to be considered for us.

• The invocation between micro services also needs to be more secure and reliable. The endless security vulnerabilities recently reflect, to a certain extent, that there are still many security problems exposed in the current cloud stage. After each security vulnerability, the upgrade of middleware SDK is also a problem that has troubled the business for many years. At the same time, some sensitive data, even if a lot of permission control is done in the database layer, because the microservice is granted a high permission of data access, if the invocation of the microservice is maliciously aggregated, it may cause the disclosure of sensitive data. Calls between microservices need to be more reliable and trusted.

The cost of

• When our business is faced with the rapid growth of traffic, we urgently need to be flexible quickly and supplement more resources to carry the business peak; When we enter the business peak, we hope to reduce capacity and save resources. Therefore, the fast and flexible elastic mechanism provided by cloud products is an urgently needed capability after micro-services in the cloud.

Challenges of self-developed microservices governance

Call technology has considered the development of micro service governance, call technology architect Tang Changzheng students also participated in Dubbo’s open source community, micro service governance research and development for call technology is not a very difficult thing, but the development of micro service governance components or the following essential cost problems.

• High access cost • High maintenance cost • Single function, inflexibility, and low scalability • Poor localization

Although above cue to call technology, in fact, not only call technology, these problems are cloud enterprises to consider how to achieve micro service governance are facing problems.

Considering the production application service governance, micro service framework usually introduce service governance logic, the logic will often be in the form of the SDK business code depends on, and these logical changes and upgrades, all need each micro service business by modify the code to implement, such changes caused very big access and update the cost. At the same time, it is necessary to research and develop the governance function of the open source service framework, which means that human resources are needed to manage, operate and maintain the components of micro-service governance. At the same time, self-construction will make the functions very close to the business, which also means that the functions will be thin and simple, and the future scalability will be weak. At the same time, the technical details of the full link gray scale are also very much, dynamic routing, node marking, traffic marking, distributed link tracking, the implementation cost of technology is high. Due to the complexity of service frameworks such as Dubbo and Spring Cloud, as well as the increasing number of microservices and longer links, the positioning and solution of related microservice governance issues have become a headache. Call technology said that if there is professional team support such as Spring Cloud Alibaba and Dubbo, the deepening of micro-service will become more calm.

MSE microservice governance helps enterprises to build a complete microservice governance system

MSE service governance provides core capabilities such as full-link gray scale, traffic protection, outlier instance removal, canary publishing, and traffic observation of micro-service governance in a non-invasive manner. Compared with self-built, MSE service governance provides rich differentiation capabilities, covering the full life cycle of micro-services in development, test and operation states. Seamless support for all Spring Cloud and Dubbo frameworks on the market in the past five years, to help enterprises quickly build a complete micro-service governance system on the Cloud in a more economic way and a more efficient path, and effectively improve the development efficiency and online stability of micro-service applications.

MSE Microservices Governance Enterprise Edition is released

Ali Cloud MSE microservice Governance has launched the enterprise version on the basis of the original basic version and professional version, which provides traffic control and fault tolerance capabilities of microservice applications and common gateways, and ensures the stability of business from multiple dimensions such as flow control, concurrency control, fuse downgrade, adaptive protection and hotspot prevention and control. Helps users cope well with traffic surges or unstable service dependencies.

At the microservices gateway layer, such as Zuul and Spring CloudGateway, users can set rules to protect inbound traffic. At the application layer, interface-level granularity protection can be implemented, and traffic limiting modes such as single-node traffic limiting, cluster traffic limiting, and minutely time-limited traffic limiting are supported. In addition to the impact of heavy traffic, when a third-party service is faulty, the interface response time becomes long and thread resources cannot be released. You can configure fusible rules for weakly dependent interfaces to fuse automatically when unstable conditions are reached. Non-critical interfaces can be proactively degraded in advance to avoid overall unavailability caused by single point of service exceptions. In addition, traffic protection supports adaptive system protection. You can set system protection rules based on system resource specifications, such as CPU and LOAD, to prevent avalanches. At the same time, you can also configure isolation rules for slow SQL statements that are automatically identified to limit the number of concurrent execution, preventing the database connection pool from being full and affecting normal calls.

Enterprise edition also supports second-level monitoring of indicators such as QPS, response time, exceptions, and CPU/load, and provides second-level analysis of traffic water level distribution from the machine dimension, interface dimension, and cluster dimension, facilitating user monitoring of protection effects and rule configuration.

New feature: Application configuration

The MSE service Governance Center also adds the application configuration capability to help users dynamically manage configuration items in code, which can be used in multiple service scenarios. One is to embed functional switches in business logic, such as dynamically opening a promotion activity, demoting some time-consuming operations, etc. Second, you can adjust the application operation level without restarting the application, such as changing the log level online, specifying A/B Test path, and configuring the thread pool. Third, List, Map and other complex types of structured content push, such as regular push to promote the List of goods, unified delivery of discount volume customer List.

The tail

As the only way to deepen enterprise micro-service, MSE micro-service governance continues to polish and build out-of-the-box governance capacity around the micro-service system; On the one hand, we choose to fully embrace open source. Customers do not need to change the existing business architecture, and they can go up and down at any time without binding. On the other hand, we aim to export alibaba’s years of technological precipitation and best practices to customers on the cloud in a productized way.

Click “here” to watch the video related to the release of MSE Microservice Governance Enterprise Edition! Release the latest information of cloud native technology, collect the most complete content of cloud native technology, hold cloud native activities and live broadcast regularly, and release ali products and user best practices. Explore the cloud native technology with you and share the cloud native content you need.

Pay attention to [Alibaba Cloud native] public account, get more cloud native real-time information!