Ali cloud experts taught you how to reshape the IT infrastructure!

Author | Yi Li

Zebian | Hu Weiwei

Author article submission

In the 21st century, we have witnessed the enterprise distributed application architecture from SOA (Service-Oriented Architecture) to the micro-service architecture, to the evolution of cloud-native application architecture.

In order thinking behind the evolution of enterprise architecture description, let's talk about some "metaphysics":

L complexity of enterprise IT system (entropy) in line with the second law of thermodynamics. With the deduction of time, changes in the business, the complexity of enterprise IT systems will be increasingly high.

l have computer interaction design complexity of a well-known conservation law: the complexity of the interactive applications will not disappear, there is only another way. This principle also applies to software architecture, namely the introduction of a new software architecture, will not reduce the overall complexity of IT systems.

Hearing this, whether you want is life, not just toss us feel a little cool?

One of the core tasks of modern software architecture is defined border infrastructure and applications, reasonable segmentation complexity, reduce the complexity of application developers need to face. In other words, it is to allow developers to focus on the core values ​​of innovation, and put some more questions to the right people and systems to solve.

We started from Figure I-1, explore enterprise distributed application architecture evolution .

Metamorphosis pain -SOA

In 2004, IBM established a global SOA Design Center, I, as R & D and TL architects involved in a range of customers worldwide pilot project to help PepBoys, Office Depot and other international enterprises use SOA to optimize business processes within the enterprise and between enterprises, enhance business agility sex.

The big picture then is that, with the gradual deepening of economic globalization, companies face increased competition, changes in business began to accelerate. Within the large enterprise IT systems has undergone decades of evolution. The entire technology system has become very complex, and so on coexist in the transaction, such as CISC and Cobol applications on the host system, minicomputers AS / 400 RPG business systems, X86 or Power distributed system C, J2EE, .Net applications. A large number of applications provided by third-party suppliers, some systems have even no maintenance. And with the business of iterations, some new business system is continuous build up, due to the lack of organic links between the lack of a reasonable methodology guidance system, the formation of a number of "islands of information", continued to increase the complexity of the IT infrastructure, can not be the demands of business development support. This seemed to master in order to help the injured parties Linghu, the heterogeneous infuriating enter the body, although for a short time can ease the injury, but can not be integrated multi-channel infuriating, stirring each other for a long time down will hurt plus injury.

Therefore, the primary challenge faced by IT companies is the integration of a large number of enterprises in vertical barrel (siloed) IT systems, supporting increasingly complex business processes and effective business decisions and support rapid business change. In this context, IBM and other companies proposed SOA (Service Oriented Architecture) concept, abstract application system into a more coarse-grained services, building loosely coupled services architecture can be flexible combination of services through business processes, improve enterprise IT asset reuse, improve the adaptability, flexibility and scalability to address the "information island" problem.

SOA presents a set of principles for building distributed systems, these principles still apply today:

1) services with standardized interfaces clearly defined by service definition describes the realization of the service consumer (consumer) and service providers (provider) to decouple. Services should be developed and adopted contract-first rather than code-first fashion. Communication between services using document-oriented RPC protocol message instead of a specific language, and services can solve decoupled language, on the other hand to achieve the flexibility to choose the synchronous or asynchronous communication to improve system availability and scalability.

2) services should be loosely coupled, there should be no time, space, technology, rely on the team between the service.

3) services should be stateless, making service calls and session context state decoupling.

4) services should be reusable business logic cut into a series of reusable services.

5) service should be autonomous and self-contained, implementation of the service can be deployed independently, version control, self-management and recovery.

6) the service is found, it can be combined. For example, the service can be found to achieve a dynamic binding service consumers and service providers through the Service Registry. Business process orchestration can be assembled on business services from different systems.

When the initial build SOA system, most systems using point to point communication link, and the service invocation logic is embedded in the application integration implementation. In this way the number of services is relatively small, when really is a simple and efficient way of development. But the biggest problem is that, with the growth in the size between services, communication services become more complex, and complexity of the connection path will surge to service enormous governance challenges.

To address these challenges, enterprise service bus (Enterprise Service Bus, ESB) began to be introduced, as shown in Figure I-2. Enterprise Service Bus provides the connection, conversion and processing capacity of intermediary between the service. And a variety of services within the enterprise can be connected to the service bus architecture to achieve loose coupling between information systems, shielding the complexity of system integration, improve the flexibility of IT infrastructure and reduce the cost of internal information sharing.

SOA methodology targets like Yi Jin Jing, can help sort out, go gather different infuriating, mastery, as I used to. However, the cultivation process was not easy. A large number of ambitious SOA projects did not achieve the desired results, what is the reason behind it?

Any successful IT architecture are inseparable from each other in conjunction with business objectives, technology infrastructure and organizational capacity.

In business, time is focused on solving the problem of SOA enterprise IT stock market. This makes the SOA methodology to a large extent is narrowing as Enterprise Application Integration (EAI). In the SOA philosophy, open up the meridians between the information system is only the first step. Xiu internal strength needed for iterative reconstruction of enterprise IT infrastructure, so as to maintain their enterprise IT infrastructures agile, flexible, continue to support the development and changes in the business.

The organizational structure, because at that time most of the company's IT department is still a cost center, business support. Most businesses lack a long-term IT strategic planning, IT team also recognized the lack of growth, SOA projects become operational system, but there is no guarantee organized and sustained investment. Even when the success of the project will be aggressive in complexity over time and gradually lose its vitality. Last year in American life friend sent me pictures, 15 years ago for our customers to build business systems also support its existing stores nationwide business. This is a successful technology projects, it reflects the lack of corporate technology strategy.

Technically, ESB architecture implements the business logic and although the service integration decoupling can better manage centralized service. Also exposed some serious problems:

1) due to over-emphasize reusability of business systems, rather than governance and reconstruction of the enterprise IT infrastructure. A large number of service integration logic is implemented to sink into the interior of ESB, leading ESB abuse, I-2 shown in FIG FIG rightmost, such logic is very difficult to maintain, and difficult to transplant extended, become Burden for ESB. We must properly handle the complexity in the right place and not be simply transferred. 

2) ESB is based on a centralized message handling system, with the rapid development of the Internet, ESB has been unable to meet the challenges of large-scale enterprise IT growth.

3) ESB "smart pipes, dumb terminal" system architecture such is unable to adapt to a rapidly changing and the general public innovative architecture. Analogy a bit, telecom operators had hoped complex features video communications, conference calls into the telecommunication infrastructure, just a "dumb" phone terminal can enjoy rich communication services. However, with the popularity of smart phones, micro-channel and nail distributed collaboration tools such innovations have revolutionized the way people communicate, and the telecommunications network return the fate of the pipeline.

The emergence of the United States - Micro Services

With the development of the Internet, particularly the arrival of the mobile Internet era, the world economic structure has undergone tremendous changes. The focus of enterprise IT evolution from the traditional trading systems (such as ERP, SCM, etc.) to interact with the system (such as full-channel marketing). These systems need to be able to cope with the rapid growth of Internet-scale, and can rapidly iterate and cost of trial and error. Enterprise IT has become one of the driving engines of innovation, ideal technology to expand business boundaries also help IT teams better sense of mission, to further accelerate the evolution of enterprise IT.

With Netflix, Ali Baba, led by a series of Internet companies dominate the corporate structure of the new changes - micro-services architecture, as shown in Figure I-3. Apache Dubbo, Spring Cloud services such as micro-framework has been widely used.

The core idea is to split the application functionality and decoupling micro services, reduce business system implementation complexity. Micro-service stressed that the application functions as a set of loosely coupled dismantling services, each service comply with the principle of single responsibility. Micro-service architecture solves several problems inherent in traditional monolithic architecture: Each service can be deployed independently and delivery, greatly enhance business agility; each service independently scale, shrink, the challenge of Internet-scale. 

Micro-service architecture inherited the architectural principles of SOA, but at implementation level, it tends to be replaced by constructing "smart terminal, dumb pipe" to the center of a distributed architecture ESB, the service control logic includes all service discovery, routing, analysis or the like placed inside the service message, the unified remove the ESB, simple inter-service communication protocol is more thorough than the SOA distributed, decentralized to architecture.

At the same time, micro-services architecture to meet the needs of modern innovative organizational structure. Conway's famous law states that the organization determines the technical architecture. Facing the rapid evolution of the Internet business, "two pizza principle" was first proposed by Amazon CEO Bezos, he believes if two project team to eat a pizza is not enough, then the team may look too big. Because of the small team is more conducive to effectively communicate and collaborate easier to reach a consensus, and can effectively promote innovation within the enterprise. This organization also requires that each team have a more clear business module boundaries, small teams are each responsible for their entire lifecycle modules, and possible decoupling between the modules, which can be independent evolution.

Of course, the dismantling of large monolithic applications into multiple micro-services, will certainly increase the IT system development coordination, delivery, operation and maintenance complexity. With the extensive application container technology, container has become the standard application distribution and delivery of applications and the underlying operating environment can be decoupled; Kubernetes become a standard resource scheduling and choreography, shielding the differences in the underlying architecture to help in the smooth running of applications on different infrastructures, it can help smooth application migration from the data center to the cloud, such as different environments. At this time the micro-service architecture and the natural vessel DevOps and come together, constitute the prototype of native cloud application architecture.

Micro Services Architecture will have to face the complexity of the endogenous distributed architecture, please refer to the article "Distributed computing errors." Micro-services framework needs to be able to solve complex communications and service management services, such as service discovery, fusing, current limiting, Link-tracing challenge. Micro services framework, such as HSF, Dubbo Spring Cloud, or as to the code library to encapsulate these capabilities. The code library is constructed in the application itself, released together with the application and maintenance, as shown in FIG. I-4. 

Service communication and governance is essentially horizontal system-level concern, the business logic is orthogonal. But in the micro-service architecture, its implementation and lifecycle with business logic coupled together. Upgrade micro-services framework will lead to re-build and deploy the entire service application. In addition, because the code base is usually tied to a specific language, it is difficult to support multi-language enterprise applications (polyglot) implementation.

Light evolution - Cloud native

SOA adoption center service bus architecture, the decoupling of business logic and service control logic; micro Services Architecture to return to the center point of invocation, while improving agility and scalability, but also at the expense of business logic and services flexibility logic decoupling brought governance.

To address these challenges, the community proposed service grid (service mesh) architecture. It will again sink into the service governance infrastructure, both sides in independent process deployed in consumer and provider services. This will not only achieve the purpose of the center to protect the scalability of the system; also implements service management and business logic of decoupling, both independent evolution can not interfere with each other to enhance the flexibility of the overall architecture evolution; at the same time service grid invasive architecture reduces the business logic, reduces the complexity of multi-language support, as shown in FIG. I-5. 

2017, Google, IBM, Lyft leading project initiated Istio service grid architecture is a typical implementation, has become a new phenomenon-class "network of Red" project.

Istio offers a range of high-end service management capabilities, such as: service discovery and load balancing, incremental delivery (gray-release), Chaos injection and analysis, the whole link tracking, zero trust and network security. The system will be operational for the upper choreography into its own IT infrastructure and distribution systems. On top of this, domain-oriented cloud native frame are rapidly emerging, such as machine learning-oriented cloud native platform Kubeflow, and for serverless Knative and so on. With this layered architecture, developers can focus on their business logic without having to focus on the complexity of the underlying implementation.

2019 is a crucial year for the landing grid technology services, we have witnessed the rapid maturation to Istio as the representative of the service grid technology and widely used. Inside the Ali economies, ants gold dress and electricity suppliers have begun a large-scale business application service grid technology to provide multi-language support, reducing the threshold of docking operations; to provide a unified framework model to enhance the speed iterative techniques.

We support the user during use Istio's also deeply appreciate that it has a high learning curve. Objectively speaking, Istio complexity of the case on the one hand from its wealth of features, such as multiple protocols it supports flow control, support for multiple languages, without modifying the application can enable two-way support TLS authentication, and so on; the other On the one hand is derived from the distributed architecture of the deployment, operation and maintenance are inherently complex.

As a developer, on the one hand want to put the focus on their business, on the other hand would expect a simple grid technology foundation underlying service, ease of use, security, and stability. To achieve these goals, hosted service grid pattern may be a more reasonable option. In hosted mode, the control plane component is managed to reduce the complexity of the user, the user only need to focus on the development and deployment of applications in the data plane traffic. While still maintaining compatibility with Istio to support declarative way to define flexible routing rules, unified traffic management support multiple Kubernetes cluster.

Outlook

"The world trend, long period of division, together for a long time to divide." Enterprise distributed application architecture has gone through an evolutionary path parallels in the nature. In the new technology after another today, we need to embrace architectural changes brought about by new technologies, but also to increase attention to the evolution of logic and core values ​​behind it, systematically control complexity.

With the rapid development of containers, service grid technology, we can see a prototype of the native operating system cloud began to appear. This is the best of times developers, cloud infrastructure and cloud computing native technology has greatly enhanced the speed of business innovation. Meanwhile, the development of native cloud technology is inseparable from the growth and expansion of the community, to embrace the cloud Alibaba native technology, and back to our best practices in large-scale production to the community, and the community together to build a better native cloud computing .

I "Istio service grid technology analysis and practice" This book author Wang Xi Ning worked 10 years, that was his technical experts in the field of SOA, business process witnessed the evolution of the distributed architecture, with many of the world's technology in related fields patent. He has a very profound theoretical knowledge and practical experience in the field of grid services, in charge of the commercialization process of grid technology Ali cloud services. Really looking forward to this book will help our readers better grasp the essence of the technical services of the grid, and be flexibly applied to their business systems. 

"Istio service grid technology analysis and practice" limit 8.1 fold, to start as soon as possible

The book written by Wang Xi Ning Ali cloud senior technical experts, detailing Istio basic principles and development of practical, it contains a large selection of cases and reference code can be downloaded for quick entry Istio development. Gartner believes that by 2020 service grid technology will become the standard for all leading container management systems. This book is suitable for readers of all services and cloud micro native of interest, we recommend to book in-depth reading. 

About the author: Yi Li, Ali cloud container service person in charge, senior technical experts.

【END】

As an important part "of millions of people learn AI" is, 2020 AIProCon Developers Conference will be million by June 26 live online forms, so developers a one-stop to learn about current AI research cutting-edge technology, the core technology and applications as well as practical experience in the business case, but can also participate in a variety of exciting online developer Sharon and programming projects. Prospective involved a series of activities, live online interaction, not only can communicate with tens of thousands of developers, as well as the chance to win exclusive live gifts, coffee and even large technology wheat.

Comments Guest Book was selected, get the value of 299 yuan, "2020 AI developers million people congress" live online ticket. Come fingertips, write down what you want to say it!

Recommended Reading 

Microsoft's acquisition of a company is a person? Sony program to crack, hackers write novels, watching his sturdy program life!

Chinese UAV "old cannon child" Memoirs

4 years 46 edition, the article read the history of Spring Cloud

AI technical capabilities Jingdong Mall behind Secret - based on keywords automatically generated summary

Father of the Internet confirmed the new crown, legendary: either Google vice president, NASA scientists access

never been easier: you counterattack with 10 minutes Kafka!

No code era, the programmer how to keep their jobs?

Click to read the original text, sign up to participate!

Released 1920 original articles · won praise 40000 + · Views 17,830,000 +

Guess you like

Origin blog.csdn.net/csdnnews/article/details/105321181