Why do we need cloud native architecture?

After more than ten years of development, cloud computing, as an important infrastructure for digital transformation, has evolved from the stage of " migrating applications to the cloud " to the stage of " building applications to the cloud " , that is, from " resource-centered " to " centered on resources " . Application-centric cloud native infrastructure stage. Cloud-native infrastructure uses intelligent scheduling and operation and maintenance systems to efficiently manage a richer set of applications, bringing many innovations to users.

In cloud-native infrastructure, all capabilities supporting applications have been API -based and standardized, such as storage, network, routing, and deployment. This architecture enables applications to relieve their dependence on specific cloud service providers and quickly distribute them to different Public cloud, or a complex cloud environment that is a mix of public and private clouds. In particular, the APIization of hardware resources allows the hardware to accept upper-layer scheduling and provide relevant resource requirements for applications in a timely manner. This collaborative infrastructure architecture of software and hardware not only provides better performance for applications, but also enhances isolation, security and other capabilities.

At what stage have enterprises adopted cloud native?

Cloud native has brought software development from traditional "small workshops" to the era of "large-scale automated factories" with division of labor and collaboration, giving rise to SaaS services, low-code / no-code, and integrated development and deployment methods that have gradually become mainstream. According to Gartner predictions, the number of applications deployed on cloud native platforms will increase to 95% in 2025 .

Kubernetes is considered " Linux in the cloud era ". According to a previous Stackoverflow survey of nearly 100,000 programmers, Docker and Kubernetes have become the top 3 most commonly used and favorite tools among developers after Linux and Windows .

Cloud native architecture has become a new paradigm of IT architecture. Currently, IT architecture has evolved from host system architecture (1960s- ) , client server architecture (1990s- ) to cloud-native application architecture ( 2015- ) , effectively solving the repetitive development and Code inefficiency, security risks and other deficiencies.

Cloud native architecture has the following typical technical characteristics

Use lightweight containers. A cloud-native application is a collection of independent autonomous services packaged as lightweight containers. Compared with virtual machines, containers simplify the construction of container management clusters and integrate scheduling, configuration, storage, network, etc. Users can package microservices and all required configurations, dependencies, and environment variables into container images and easily port them to new server nodes without reconfiguring the environment.

Design loosely coupled microservices. Microservices split large and complex software applications into multiple simple applications. Each simple application describes a small business and can be deployed independently. Each microservice is loosely coupled, and each service can be upgraded, deployed, expanded, and restarted independently . Compared with traditional monolithic architecture, microservices have the characteristics of reducing system complexity, independent deployment, independent expansion, and cross-language programming.

Interactive collaboration via API . Cloud native services use lightweight APIs to interact, such as protocols based on RESTFul , gRPC or NATS . Developed using the best languages ​​and frameworks. Each service of a cloud-native application can be developed using the language and framework best suited for that functionality. The fine-grained split mode of microservices allows each service to choose the most suitable language and framework according to its needs.

Managed through DevOps processes. DevOps is a collective term for a set of processes, methods and systems that aims to unify software development and software operations, closely integrate it with business goals, and build a new way to optimize resources and expand applications through continuous delivery practices, shortening the development cycle. , increased deployment frequency, and enabled more reliable releases.

Cloud native technologies and concepts centered on containers, microservices, DevOps , etc. are driving the vigorous development of the cloud native industry ecosystem. As enterprises deepen their use of the cloud and business applications move towards comprehensive cloudification, enterprises' demand for cloud native has escalated, requiring an underlying cloud-native application engine to support the rapid cloud transformation of business applications. For example, the sidecar form of the application engine can realize migration to the cloud without any modifications to traditional applications ; another example is that the application engine, as an application server, provides a standard microservice framework for the business. In addition, the transformation of traditional technical fields, such as databases and data warehouses, into cloud services also requires the support of cloud native application engines.

In short, the integration of cloud native application engines and other cloud native technologies can provide enterprises with a solid cloud technology base, thereby realizing cloud native technology upgrades for enterprise applications.

 

Next generation cloud native application engine

OpenNJet was first based on the basic fork of NGINX1.19 and evolved independently. With the iteration of the NGINX version, it absorbed the updates of the upstream NGINX and has been simultaneously updated to the NGINX1.23.1 version. OpenNJet has the characteristics of high performance, stability and easy expansion, and also solves the problem of NGINX has long-standing problems such as difficulty in dynamic configuration and management functions affecting business.

As the underlying engine, OpenNJet uses the dynamic loading mechanism to implement different product forms, such as API gateway, message proxy, inbound and outbound proxy, load balancing, WAF, etc. In the cloud-native architecture, OpenNJet not only provides north-south communication gateway functions, but also provides new features such as east-west communication in the service grid, transparent traffic hijacking, circuit breaker, telemetry and fault injection.

Portal: https://gitee.com/njet-rd

Fined 200 yuan and more than 1 million yuan confiscated You Yuxi: The importance of high-quality Chinese documents Musk’s hard-core migration of servers TCP congestion control saved the Internet Apache OpenOffice is a de facto “unmaintained” project Google celebrates its 25th anniversary Microsoft open source windows-drivers-rs, use Rust to develop Windows drivers Raspberry Pi 5 will be released at the end of October, priced from $60 macOS Containers: Use Docker to run macOS images on macOS IntelliJ IDEA 2023.3 EAP released
{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/u/6606114/blog/10090450