Application quantify Times | service governance of micro Services Architecture road

Technology with business and health, technical service carrier and the line.

In recent years, with the development of the digital economy, the digital transition in the way of many enterprises, native cloud, DevOps, micro services, treatment and other services to become a new topic in the industry continue to be explored. At the same time people understand and accept these new concepts, constantly thinking about the possible landing patterns. Demand is the driving force behind the creation occurred, so a number of representative open source technologies and frameworks have emerged out: Kubernetes, Spring Cloud, Service Mesh, Serverless ...... they are hot, shine. But it has struggled in particular during the landing, stumbling.

This paper attempts to combine the core demands of their business, to apply form the background of the development process to help companies sort out the native applications for the cloud, services micro service transformation governance issues involved, as well as the development trend of service governance.

What is service governance?

Service Governance (SOA governance), according to Anne Thomas Manes is the definition: enterprises in order to ensure that things run smoothly complete the process and implementation, including best practices, principles, rules of governance, law and other decisive factor in architecture. Service management refers to the adoption and implementation process for managing SOA.

By definition, the key factor is the service governance: application forms, data collection, information analysis, management strategy and protocol specification five. Only five levels of user groups from starting to build a service platform in line with corporate governance norms and requirements, so as to further create business value for the enterprise.

01 "micro" shaping, service a little longer small

The only constant is change itself. ---- By Spencer Johnson

Wanli with this, look at the application form of the development process, from stand-alone to a network, from a single to a Service, service to micro, to Serverless, and then to the future, the application form along with business-driven and technology evolution, constantly changing . Followed by a complicated and diverse business requirements, enterprise IT is facing new challenges of large-scale, high-concurrency, application of rapid innovation, flexibility and agility to become the urgent needs of IT companies.

There are two in the IT industry "premature" theory: first, each additional line of code will bring N kinds of risks; second, any problems can be taken to increase the level of abstraction of the settlement. Therefore, the face of complex enterprise IT environments, "small but fine" gradually replaced "large" has become the preferred way to build business services, which also led software design principles of "high cohesion, low coupling" began to become ever high-profile recite the protagonist, micro-service concept and therefore popular.

Such micro architecture service business units may be independently developed and independent deployment of the service processing function includes a flexible, dynamic, and highly dependent on assembly tools abstract and diversified communication mechanisms, communication details between the shield all services to users thought to provide the best landing practice. Emergence of micro services effectively shortens the cycle on-line service, and allow businesses to respond quickly to customer feedback, providing customers expect reliable service.

However, with the further development and expansion of the micro-enterprise business services, increase the number of services to uncontrollable scale, the number of service explosive growth, has brought great challenges for online service management and governance. Service governance emerged as an essential service to build micro-architecture systems "medicine."

02 "quantitative" management and control, no service to hide

Numbers never lie.

Today, micro-service has become the guiding ideology of the actual software architecture, extending container technology to Docker and Kubernetes represented, but also an effective solution to the problem of scheduling the deployment of multiple services under micro-architecture service units. However, in micro-service architecture also harbor risks easily overlooked: facing huge scale service units, how they are effective and reasonable control and governance?

Field service management began to be valued by the industry and users expect access to effective thinking and technical means to address governance challenges service because the service unit continues to surge brings. About service management, we have seen more of its feature set: registration service discovery, service configuration, service fuse, gateway, load balancing, service tracking, log collection and monitoring platform. But when we put aside the interpretation of these terms, time to revisit service governance, these terms do not have complete explanation of our confusion: how to set up load balancing policy? What collection log format? How to configure the service to take effect? How accurate positioning tracking service?

Obviously these features alone can not meet the terms of our governance platform to build demand for services, but these features, we summarize some rules and methods, the transverse section and deep level of technical means we will feature a scene, how to build an effective conduct Discussion analysis services management platform.

First, we cut service management functions from the horizontal scene point of view, it may be abstracted into four levels: quantify, track, control and standardized.

Quantizing
the quantized data including service acquisition, data filtering and data aggregation three levels. Data acquisition is further subdivided into business data and performance data, business data including the method response cycle, resource consumption scale in the services business anomaly detection, number of method calls, service operation logs; performance data including long inter-service response and service overall resources consumption.

Services themselves need to rely on different characteristics, to build a different agent, to collect data generated by services runtime. Filtering the collected data for further processing of data according to a certain format specification, e.g. kafka after the raw log data is normalized based on the import log system.

Need for a separate data aggregation service data aggregation operations, such as service call chain presentation.

All data can clearly generated by services runtime quantify recording service, presentation and service management strategy to develop and provide strong support for data tracking service.

Track
to track can effectively quantify what is happening on the service call link, specifically, can be divided into: methods and internal link tracking service to track links between service calls. Tracking of nature, not just to render service link routing and service information, and more importantly is presented between service requests, and internal service request response delay, abnormal feedback to quickly locate service and service codes inherent problems.

Control
control dependent on the quantization data acquired polymerization. Yun Xu Yunwei focus control personnel to run a service unit of the state, a certain set of control strategies for the service, so as to ensure stable and reliable service operation. For example blown strategy, tactics load, flow control, access control and so on.

Specification
specification more for services communications, such as communication protocol specification, no matter for which protocol, such as http, tcp, rpc and so be able to provide the appropriate means of detection. At the same time, standardized service names can be clearly defined and control strategies, so that when the service migration between different environments, is still stable and reliable.

In summary, under the follow certain standards in the service unit in the premise, based on quantitative data service units, service call tracking service policies and the way management and control, in order to meet the requirements of building a service management platform.

Next, we consider the construction of the theoretical basis of technical services management platform involved in the process from the perspective of depth. The reason why service governance difficult because there is technology to build business systems used to stack multi-faceted approach. From the technology is currently used in the industry concerned can be divided into three schools: code integration, agent probes, flow hijacking.

Code integration
code integration often needs to support business development staff, embedded data acquisition code is in the business system, used to collect a variety of business metrics and performance metrics generated by services runtime services, transfer the data to the cloud management platform. Platform based on data, issued by the dynamic configuration, thus affecting the business dynamic response, complete service management functions.

Advantages: Governance in-depth, end to end monitoring
Disadvantages: cumbersome maintenance, many languages, affecting business performance

Probe Agent
Agent probe is a further refinement of the code integration. Agent probe will need to be integrated monitor code, highly extracted, the abstract, may be packaged into separate integrated the SDK, and the "weak Bypass" codes integrated manner, thereby completing the data collection. Cloud management platform, the same data collection as the basis for the development of management strategies, and issued various management strategies, so as to achieve service management functions.

Advantages: Governance in-depth, end to end monitoring
drawback: many languages, affecting business performance

Flow hijacking
traffic hijacking compared with the previous two, and the integration of different codes. It from the communication network as a starting point, in a manner the proxy, the proxy service units for all the IN / OUT flows, and may be internal proxy policy control request certain data. Thus completing the communication service management functions.

Pros: free language differences, simple maintenance
Cons: a little shallow governance, affecting business performance

In summary, the current technology stack service governance more or less there are some defects in the building services management platform often requires the use of a combination of ways to make the best talent.

03 "Flowers", the future success

Competition achievements in the future.

From the current development of the industry point of view, micro-service laid the foundation for the way of building services, container and orchestration engine technology to solve the puzzles on line service orchestration, under a "battleground" in the scene will govern service. It is currently in the industry and what projects focused in the areas of service management?

SpringCloud

SpringCloud as an important community of Spring layout, landing at the beginning of the service will gradually force the micro, the moment has become synonymous with micro-services framework under the Java system, SpringCloud to Netfilx family bucket as a basis for initialization, to provide services business unit support frame for developers but also developed a series of service management SDK, for developers to choose. In the context of the development of micro-services, SpringCloud indeed rising.

Dubbo

Dubbo originally rpc remote invocation framework Alibaba open source, designed to solve the initial agreement with rpc as the standard remote service call problem, restart Dubbo with Alibaba, which also began to force in the field of service management, in order to become a lot rpc protocol as the preferred communications infrastructure platform. Roughly speaking, Dubbo and SpringCloud has become a service management system in Java "guns."

gRPC

gRPC with similar Dubbo, originally developed by Google open source a remote service invocation framework. gRPC with HTTP / 2 and RrotoBuf service definition and characteristics of the way multi-language support, coupled with its ease of customization and development, the development staff can quickly scalable and flexible to play, and thus become one of choice for many users.


Mesh Service

Service Mesh is that it appears not to realize how much function, but it is completely separated from the business units and business support system, full implementation of the "industry specializing in surgery" ideas. It allows business people to achieve business focus, no longer concerned about service governance-related content. By combining technology with the container, sink to the infrastructure, in terms of communication protocols to take over the business completely interactive communication process can be described as a rising star in the field of micro-management services.

All in all, the essence of service management is to generate value for the service and application convergence and feedback, only the continuous feedback and re-set in order to build a stable, efficient application form.

Guess you like

Origin blog.51cto.com/11976981/2411146