Ali cloud-based build "cloud native 'Web application -" lazy lines' Web application development practices

background

"Lazy line" focus on business outside the free exercise S2B, involving distributors, end-user services, supply chain and other services sectors, with the increase in business scale of the misconduct, we have been exploring best practices for Web application development to Web applications to speed up the iterative efficiency and create more value for the B / C end user.

Cloud native

In recent years, Spring Cloud service for the micro-architecture represents increasingly hot, attracting a large number of start-up companies "into the pit." Micro-service system development compared to the single application development, team organization in many ways, operation and maintenance, and other development brought about changes in the way subversive. From 2018 to Istio, SOFAMesh as the representative of the Service Mesh program gradually took to the stage, and was called "next-generation micro-services architecture."

If the container to technology and Service Mesh-based IT architecture is defined as native cloud architecture, then Dubbo, Spring Cloud architecture for distributed cloud representatives will be to promote the native architecture of the birth of "intermediate."

Ali cloud-based build "cloud native 'Web application -" lazy lines' Web application development practices

At 18 years, a native cloud computing Foundation (CNCF) redefined as native cloud technology:

Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

"Cloud native technology to help companies and organizations in the public cloud, private cloud and hybrid cloud and other new dynamic environment, build and run elastically extensible application. On behalf of native cloud technology including containers, service grid, micro-services, infrastructure and immutable declarative API. "

These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.

"These technologies can build good fault tolerance, easy to manage and easy to observe loosely coupled systems. Combined with reliable automated means, native cloud technology allows developers to easily carry out major changes to the system frequently and predictable. "

This novel architectural approach not only provides a comprehensive software program continued delivery chain, it also brings great imagination for our organization application, and may even bring subversion of the revolution to the entire software industry in the future. One thing is clear: the application had been split strongly coupled together, the decline turned into a pluggable service that enables complete subset of the functionality through organic tissue and other micro allowed to provide services common external service; just as the engine and car assembly seats, it can come from different global supply chain vendors. Cloud-native design philosophy to sum up, the cloud native applications with micro-services, health reporting, telemetry data, characteristics of elasticity declarative (non-reactive) and so on.

Native cloud caused by the effect is very obvious, but the full practice is indeed very easy to quit, because a single Kubernetes, from entry to the master takes time three months or so. Fortunately, Ali clouds and other public cloud platform has prepared us well for the container services (Kubernetes Edition) product, and supports container management applications through Kubernetes.

Inside the container service through different means of communication and security validation rules between service definition Istio declarative, which makes our multiple services (for example: orders, products, users, comments, and other services) secure, flexible and integrated together. Official Bookinfo example architecture diagram is as follows:

Ali cloud-based build "cloud native 'Web application -" lazy lines' Web application development practices

All micro Envoy sidecar and services are integrated, the integrated service access all traffic is hijacked Sidecar, so as to prepare the desired external control Hook, then you can use a control plane Istio service routing application, telemetry data collection and policy enforcement functions.

Architecture lazy line (simplified)

In the new architecture, we use a lot of Ali cloud offerings, which in view of our past experience, Ali cloud products in the operation and maintenance saves us a lot of energy.

Ali cloud-based build "cloud native 'Web application -" lazy lines' Web application development practices

Above architecture, is the first step towards "cloud native ', and from mature there are very large space for development, the development of cloud native is also developing the initial stage. Press architecture, all need persistent data, such as: documents, images, databases, etc. stored in the cloud Ali OSS, RDS and Redis products, and the application is running in order to manage the scheduling K8s container cluster.

Ali cloud DevOps toolchain

Ali cloud cloud in the native structure of the entire life cycle provides comprehensive support:

  1. Code hosting: Ali cloud Code
  2. Ali cloud Code in the community edition Gitlab on to do a transformation, becoming Ali Cloud Application Builder tool chain's "cornerstone" to provide privatization code hosting and permission management team for the project team.
  3. Mirror Hosting: container mirror service
  4. Mirroring service container (Container Registry) provides secure application hosting mirroring capability, precise image scanning security features, stable image at home and abroad to build a service, convenient mirror authorization functions, user-friendly image lifecycle management. At the same time with Ali cloud Code, CodePipline seamless product integration.
  5. Code / build and publish Docker compilation: CodePipline
  6. Jenkins compatible standards, providing fast and reliable continuous integration and continuous delivery services. Ali cloud-based container technology and basic services infrastructure, providing stability and security code / Docker compile build, test, deployment tools and scanning services. And integrated manner Kubernetes See documentation:

Kubernetes_ deployment to deployment to deployment _ Kubernetes_ select User's Guide _CodePipeline- Ali cloud

  1. Container management: container services Kubernetes Edition
  2. Container services Kubernetes edition (Container Service for Kubernetes) provides high-performance scalable container application management services to support the life cycle management of enterprise-class Kubernetes container application, a tool to achieve cloud architecture native container scheduling management essential.
  3. Log imputation analysis: LOG log service
  4. Ali cloud LOG Serivce ,, from the server, the container terminal of the Web log collection, analysis and real-time queries to the log content, providing a closed-loop support for the collection and analysis of logs.
  5. Availability monitoring: Cloud Monitoring
  6. Service availability monitoring alarm host, log, and the site URL in the global availability of detection (cloud monitoring).

Xiao Bian is an engineer with many years of experience in the development of front-end now turned to the front lecturer job as a teacher here and we share some knowledge of the timing and front-end programming, and for everyone to summarize and organize a complete front-end learning information, the students want to collect and study together with me can add buttoned skirt: 1017226689, really want to help you, thank you.

Guess you like

Origin blog.csdn.net/qq_40163373/article/details/90710899