In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-23 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/01 Report--
Today, I will talk to you about the logic and technical implementation of serverless PaaS Rainbond. Many people may not know much about it. In order to let you know more, Xiaobian summarizes the following contents for you. I hope you can gain something according to this article.
What is serverless PaaS?
PaaS sits between applications and infrastructure in the typical hierarchy of cloud computing, providing computing platforms and solution stacks, such as Google App Engine and Cloud Foundry, which we often mention. These early PaaS brought efficiency improvements and cost reductions to developers to a certain extent, but there were also problems with limited support languages, limited support scenarios, and high learning costs.
However, with the maturity of container and software-defined technologies in recent years, the above problems hindering the development of PaaS have the opportunity to be solved. PaaS can become more flexible and form a simple and easy-to-use platform that supports various languages and architecture scenarios. Serverless PaaS can support various complex technical architectures and business delivery processes from an application perspective, allowing users to focus on business development and management without paying attention to complex technologies related to underlying servers.
Rainbond Design Ideas
"Serverless" is performance, and the design idea behind it is "application-centered, software-defined everything," specifically the following three points:
Packaging underlying complex technologies and infrastructure with application granularity
Directly facing the development and operation and maintenance of infrastructure, it is inevitable to learn and manage many technologies, such as server, network, storage, security, Load Balancer, etc. If you want to support large users, you must also consider distributed architecture and performance optimization.
However, if the infrastructure is managed through software definition series technology docking, the internal relationship between technology points is sorted out, and the best practices of development and operation and maintenance are used in conjunction with technologies such as kubernetes, the above technologies can be simplified and packaged with application granularity, so that end users can focus on business delivery through simple use methods. At the same time, application granularity can continue to be compatible with existing technology architectures without affecting architectural flexibility.
Decoupling applications and infrastructure
Decouple applications and infrastructure by satisfying the following two points:
The platform realizes decoupling of applications and infrastructure, which can be combined at will, and applications can be migrated to other infrastructure without any changes, which is more convenient to manage and is not bound by any infrastructure.
When interfacing infrastructure, do not use the differentiated capabilities provided by infrastructure
When running an application, you can rely on the characteristics of the platform
Connect applications and infrastructure
Core pattern:
Connect apps and applications for distributed and microservice architectures
Connect applications and infrastructure for flexibility
Connect infrastructure and infrastructure for hybrid cloud, multi-cloud and multi-data center
Figure: Rainbond Architecture Hierarchy
Rainbond's technical advantages
In terms of integrity, Rainbond covers the three stages of application creation assembly, operation production and release propagation, and is a heavyweight PaaS. In addition to "serverless," Rainbond also has unique technical advantages in application building, microservice architecture and hybrid cloud multi-cloud.
Figure: Rainbond Delivery Process
application building
Containerized PaaS platforms tend to build applications from images, which means developers spend extra time packaging source code into images. Second, any modifications made by the builder of the container mirror are often opaque to the mirror consumer and do not facilitate collaboration between teams. In addition, when the parent image on which the container image depends changes, it must be rebuilt, and if it cannot be built automatically from source code, the container file system needs to be manually modified. These repetitive tasks are worthless.
Rainbond targets multiple media sources in application building and is designed as a plug-in Pipeline for Continuous Integration/Continuous Delivery (CI/CD). Current sources of support are:
Source code (Java, PHP, Python, Ruby, Node.js, Golang, Scala)
mirror
Dockerfile
Docker-Compose
Based on different sources, Rainbond builds a unified application complete runtime medium that can run on Rainbond platforms everywhere.
In the construction process, Rainbond intelligently identifies configuration information such as storage and ports from Dockerfile or image file, and recently defines rbdfile specification, which is convenient for developers to pre-define application configuration and running environment configuration in source code. In addition, Rainbond's docking with existing CI systems such as Jenkins will also be opened in the near future.
microservices architecture
The "serverless" mentioned above focuses on decoupling between applications and resources, resources and resources, while decoupling between applications needs to rely on microservice architecture implementation. If container technology's decoupling of applications and resources gives us portability and speed, microservices architecture's decoupling of applications gives us agility and adaptability.
Rainbond's microservice architecture design is based on ServiceMesh. At the beginning, it performs 4 layers of transparent local network proxy for applications that applications depend on in the form of sidecar, shielding the IP change problem of applications. Rainbond itself does not handle communication protocols. Complete microservice functions are completed by frameworks, so Rainbond can natively deploy third-party microservice frameworks such as Spring Cloud and api gateway.
Rainbond is currently building an application plug-in system to further encapsulate the sidecar pattern and create greater expansion space for application communication and governance. Among them, the 7-layer network governance plug-in based on envoy, which is planned to be added in the near future, will be used to support advanced governance such as native fuse, current limiting and canary deployment.
The application plug-in system combines the services scaling, service registration and discovery, custom resource registration and discovery functions provided by the existing Rainbow APP Runtime to natively provide an extensible microservice runtime environment, and developers do not need to learn the complex technical implementation of the third-party microservice framework.
Figure: Rainbond Deployment Spring Cloud Microservices Framework Topology Diagram
Mixed clouds Cloudy
With the development of cloud computing, various types and different vendors of computing resources have emerged, and developers are no longer faced with a single physical hardware, virtual machine or public cloud, so how to manage hybrid cloud multi-cloud is also an urgent problem to be solved.
In the face of various types of computing resources, Rainbond shields the differences between computing resources and provides a unified application running environment, allowing applications to quickly deploy and migrate between multiple data centers without binding. The specific implementation is as follows:
Build independent data centers on various types of computing resources without special basic service requirements
All nodes are abstracted into rbd-nodes and classified by function (compute nodes, basic management nodes, storage nodes, Load Balancer nodes, etc.)
Automatic installation of node automation maintenance system to monitor and manage all nodes
From the perspective of resources, whether public or private, when we connect physical machines and IaaS in the above way, we realize hybrid cloud management, and connect different IaaS to realize multi-cloud management.
Rainbond plans to introduce application snapshot function in the future, which can backup application media, environment configuration and persistent data. Developers can migrate running applications through this function.
Rainbond vs Heroku
As one of the earliest PaaS platforms on the market, Heroku has been highly respected among overseas developers in the past, and it has established many platform service standards that have been used to this day, including Cloud Native 12 Factors.
Heroku advocates App-centric, allowing developers to focus on building without worrying about infrastructure. Rainbond agrees with Heroku in this regard. Both also support mainstream development languages, common data services, application scaling, code roll-back and roll-back, interface with Github, and provide application-level monitoring and network-isolated user space.
However, Heroku is slightly deficient in distributed architecture, hybrid cloud multi-cloud, and architecture to meet business growth needs in terms of security control, visibility, and flexibility.
Rainbond vs official Kubernetes
Kubernetes, after three years of development, has become a community standard for container orchestration and management, and it proposes a series of conceptual abstractions that are very consistent with ideal distributed scheduling systems. However, a large number of difficult technical concepts also form a steep learning curve, which directly raises the threshold for Kubernetes to use, and Rainbond packages these technical concepts into "Production-Ready" applications that developers can use without special learning.
Kubernetes, on the other hand, is itself a container orchestration tool and does not provide management processes, while Rainbond provides off-the-shelf management processes, including DevOps, automated operations, microservices architecture, and application marketplaces, which can be used out of the box.
future planning
For the future, Rainbond plans to build an application plug-in extension system, support cross-data center applications, and build an interconnected ecosystem in the future.
Build application plug-in extension system
Applications often require a range of accessibility features to be production-level available, such as MySQL requiring periodic data backup or synchronization, API applications requiring real-time collection of applications for analysis, and application upgrades requiring handling of data structure and data persistence.
Rainbond plans to build a common plug-in support system that allows plug-ins and applications to be integrated. Developers can contribute self-developed plug-ins within the system. The input, output and operation mode of self-developed plug-ins are completely determined by the plug-in author.
Support for cross-data center applications
In some special scenarios, the same application needs to be deployed in different regions, and the high availability of a single data center is not enough. Rainbond plans to leverage the distributed architecture of the CRDTs data model to solve the problem of future data synchronization across a large number of edge data centers.
At present, Rainbond has realized multi-data center deployment of stateless applications through application abstraction. For database applications, Rainbond will further support Geo-replication database distributed databases in the near future to realize multi-data center multi-active deployment of cross-data center data applications.
Tectonic Interconnection Ecology
By docking with Rain Cloud City, applications can flow between developers, both quickly used and shared or sold;
By bringing in more data center partners, the public data center has a larger footprint, allowing developers to freely choose deployment and migrate between private and public data centers as needed. Developers don't even need to build their own data centers; they can deploy their apps closest to any user in the world from a simple console.
After reading the above, do you have any idea what the logic and technical implementation of serverless PaaS Rainbow looks like? If you still want to know more knowledge or related content, please pay attention to the industry information channel, thank you for your support.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.