Cloud Native Architecture - The Road to Architects (19)

  • Connotation of Cloud Native Architecture

The cloud-native architecture is based on cloud-native technology, which means to  maximize the stripping of non-business code parts in cloud applications , allowing cloud facilities to take over a large number of non-functional features in projects (such as elasticity, resilience, security, observability, and gray scale, etc.) . Completely separate quality attributes from business functions, our own company only focuses on business codes, and leaves quality attributes to the cloud.

Cloud native includes: business code, third-party software , and code dealing with non-functional features . Hand these over to IaaS and PaaS.

  • main architectural patterns
  1. Service architecture pattern: typical microservices and small services . Separate the code module relationship from the deployment relationship, and each interface can deploy a different number of instances.
  2. Mesh architecture mode of service grid: separate the middleware framework (such as cache, asynchronous MQ) from the business.
  3. Serverless mode: Take the action of "deployment" away from operation and maintenance. We don't need to be concerned with where it's running, where it's being deployed, etc.
  4. Storage and computing separation mode: In the cloud environment, all kinds of transient data (such as: session) are stored in the cloud service.
  5. Distributed transaction mode: Accessing multiple microservices will inevitably bring about distributed transaction problems.
  6. Observable architecture: such as Logging, Tracing, etc.
  7. Event-driven architecture: An architecture for application/component integration, suitable for scenarios such as data change notification.

  • Main technique
  1. Container technology: Containers are not restricted by the environment and can run reliably. Take advantage of cloud elasticity.
  2. Kubernetes: Provides the core capabilities of distributed application management, including: deployment and management, resource scheduling, automatic repair, load balancing and scalability, etc.
  3. Cloud-native microservices: A single body is split into multiple sub-applications.

Microservice Constraints:

  1. Microservice individual constraints : functional independence, low coupling, single responsibility.
  2. Horizontal relationship between microservices and microservices : a service registration center is required between services.
  3. Vertical constraints on microservices and data layer : Data is the asset of microservices, which can only be accessed through APIs provided by microservices, and has the principle of isolation.
  4. Distributed constraints of microservices: the timeliness of fault discovery and the core requirements of accurate development and maintenance personnel.

Serverless technology (Server less) shields the various operation and maintenance difficulties of the server. Has the following characteristics:

  1. Fully managed computing services.
  2. Versatility.
  3. Automatic elastic scaling.
  4. Pay as you go.

The most representative product of Function Computing (FasS). Split the application logic into multiple functions, and each function is triggered by an event.

Serverless mainly focuses on: flexible scheduling of computing resources, load balancing and flow control, and security.

The service grid ServiceMesh is a new technology ( middleware technology ) developed by distributed applications on top of the microservice software architecture , which realizes the decoupling of the application platform infrastructure. It means that developers do not need to pay attention to microservice-related issues but focus on the business logic itself.

  • case analysis

Travel Company Cloud Native Transformation Project

Facing the problem: the main body of the company merged with two companies, and the technical systems were different, so they needed to be merged into one. High concurrent traffic during holidays.

The first stage of renovation:

Merge multiple sets of old systems into a private cloud platform with cloud-native applications as the core, and realize virtualized encapsulation and segmentation through IaaS and PaaS.

As the server cluster expands, machines frequently fail at this time.

The second phase of renovation:

Based on new computing environments such as public cloud, private cloud and offline dedicated cloud cluster, elastic cloud-native technology is built.

The third stage of transformation:

Through the cloud-native transformation of basic components and services, and the combing and definition of service dependencies, applications do not need to consider factors such as underlying resources, computer rooms, and operations.

The bottom layer is the hardware infrastructure layer.

Up is the layer of the operating system: linux and windows. (Basic Android and IOS are also available now)

On the operating system layer is the IaaS base layer: computing (CPI/GPU), container network, storage, and runtime.

Then there is cloud-native technology, which calls the cloud-native platform through the API interface.

Guess you like

Origin blog.csdn.net/ke1ying/article/details/132630229