function list
This document lists the key basic functions ofopen source version
With the version upgrade, the list in this document may not be complete. If you have any questions, please leave a message in the community for consultation.
Cluster management
Function | Function description |
---|---|
Kubernetes cluster hosting | Kubernetes as infrastructure is Rainbond's basic resource |
Cloud resource connection | Support Alibaba Cloud ACK cluster creation and initialization |
Support Alibaba Cloud storage resource docking | |
One-click cluster installation and expansion | Supports easy installation of Kubernetes clusters and Rainbond cluster initialization |
Support Kubernetes cluster node scaling | |
Multi-cluster application scheduling | Applications (components) support scheduling across multiple clusters |
Multi-cluster application orchestration | Support deploying applications to multiple clusters |
application deployment
Function | Function description |
---|---|
Support Helm application installation | Support for installing apps from the Helm app store |
Support for Helm application configuration and continuous upgrade | |
Support continuous build of source code | Support PHP source code compilation, support PHP source code, PHP5.3~7 version runtime, apache, nginx to build applications, and support popular PHP development framework |
Support Java source code compilation, support Java (maven) source code, war package, jar package to build applications, and support popular java development framework | |
Support Python source code compilation, support Python source code, Python 2.6~3.2 runtime to build applications, and support popular Python development frameworks | |
Support Node.js source code compilation, support Node.js source code, Node.js 6.x~10.x runtime to build applications, popular Node.js development framework, including front-end projects. | |
Support Golang source code compilation, Golang 1.8.x, 1.9.x runtime to build applications, and support the popular Golang development framework | |
Support dotnet source code compilation, support to select multiple versions of compilation and running environment (.netcore linux running) | |
Support Dockerfile identification and construction, and support Dockerfile source code to build applications | |
Docker images are continuously built | Support the construction of service components based on the DockerRun command to identify the service running mode |
Support parsing DockerCompose files Identify service operation mode Batch build service components | |
Supports obtaining Docker images from private image repositories and public image repositories | |
Supports continuous deployment and release of mirror warehouse Webhook services | |
Support integrated Git source code repository | Sub-tenant code warehouse management, isolating code warehouses for different teams |
Support GitWebhook automatic callback function to realize continuous deployment and release of applications | |
Supports code branching and tag deployment, and supports building applications with different code branches and tags | |
Support integrated Svn source code repository | Support obtaining source code from Svn code repository, support account authorization and subdirectory construction |
Support third-party service integration management | Supports the management of services running outside the Rainbond cluster and integrates seamlessly with Rainbond Application Gateway and ServiceMesh networks. |
Support the application of the 12-factor principle | The platform follows or is compatible with the12 elementsthe PaaS platform application1 |
One-click deployment and rollback | The deployment and rollback process is displayed in real time. The deployment and rollback process of the application should be visible in real time to facilitate troubleshooting. |
The version construction history can be traced back, and the version details can be displayed. It can be traced back to each deployment version of the application and detailed deployment information, including code submission information, operators, etc. | |
Support automatic uninterrupted rolling upgrade, application deployment, the existing business cannot be affected during the upgrade process, and an upgrade mechanism for uninterrupted business is provided | |
Support one-click rollback, support rapid rollback of applications, and should not affect existing business | |
Support custom pipeline | Support API-based docking with Jenkins Pipeline, after Jenkins processing is completed, Rainbond will complete the subsequent CI/CD process |
Component management and operation and maintenance
Function | Function description |
---|---|
Component Lifecycle Management | Support start, stop, update, upgrade, and continuous build management of components |
Support rolling upgrade of stateless components, the upgrade process does not affect the business | |
Supports rolling upgrade of stateful components, and the upgrade process of cluster components does not affect the business | |
Support component upgrade strategy based on application market | |
Support strict authority management mechanism and audit mechanism for component operation | |
Component continuous development | Supports automatic construction based on code warehouse Webhook, mirror warehouse Webhook, and custom API |
Component version management | Support query component build version list |
Supports viewing the corresponding relationship between the build version and the source code version | |
Support version rollback | |
Component instance management | Support querying the detailed information of component running instances (basic information, running container information, event information) |
Supports querying abnormal information such as abnormal restart of component instances, OOM, etc. | |
Component Environment Configuration Management | Supports component configuration management based on environment variables |
Component configuration management directly based on dynamic configuration files | |
Support connection information configuration management based on dynamic injection | |
Component storage management | Support for shared storage, local storage, and memory storage types (5.1.X and earlier) |
Support to expand the storage support type based on StorageClass, the default includes (Ceph-RBD, GlusterFS, Alibaba Cloud block device, etc.) (5.2.0 and later) | |
Shareable types of storage support sharing between storage components | |
Component build source management | Support for continuous adjustment of component build source settings |
Support setting component source code build parameters, setting Runtime version, compilation parameters, etc. according to different languages | |
Component log management | Support real-time application-level aggregation, storage, segmentation and real-time display, and can display component logs in real time, summarize and analyze logs, log storage and download functions |
Supports plug-in docking with log analysis services such as ELK, and can interface with popular log analysis tools in the industry, such as ELK for display and analysis | |
Component scaling management | Support horizontal scaling and vertical scaling operations without interrupting components, and platform applications should have production-level (non-interrupting business) horizontal and vertical scaling services. |
Supports automatic scaling policies based on memory and CPU resources | |
Supports automatic scaling strategies based on business-level analysis indicators, and the platform has the ability to automatically scale services based on business analysis indicators (TODO) | |
GPU resource management | Supports GPU resource scheduling based on video memory (Enterprise Edition) |
Supports the GPU memory required for component settings, and the platform allocates it intelligently (Enterprise Edition) | |
Component High Availability Guarantee | It supports the convenient deployment of high-availability distributed components, separates data from computing, and separates gateway from computing. |
Enables distributed deployment of most web components | |
Component performance analysis | Support real-time performance (response time and throughput) analysis of common application protocols, support real-time performance analysis of common application protocols, such as HTTP, TCP, MYSQL, such as response time, throughput and other functions |
It supports real-time display of request Top, the performance analysis of components is displayed in the form of a list, and the URL/SQL statements that have the greatest impact on performance can be sorted | |
Support historical analysis data query, component performance analysis log supports query by hour and date | |
Support component instance real-time status display and instance memory real-time status display and monitoring | |
Component Health Check | Supports application health detection based on multiple strategies, and the platform conducts real-time monitoring and inspection of running applications of different protocol types |
Support the automatic offline of unhealthy component instances, and support the configuration of different processing strategies for abnormal components | |
component management terminal | It supports web-based terminal management, and the platform application has a web console function, which is convenient for developers to log in to the application's internal temporary debugging program. |
Support command-line-based terminal management. The platform should support command-line management, such as creating applications, starting/stopping components, expanding components, etc. | |
Component business monitoring | Support for custom defined component monitoring targets (Prometheus specification) |
Support plug-in expansion, support Mysql, Redis and other business monitoring | |
Support custom definition business monitoring visualization view | |
business link tracking | Support Java class components to connect to Pinpoint link tracking |
Third-party component management | Supports dynamic registration of communication addresses of third-party components based on API |
Support static management of communication addresses of third-party components | |
Support third-party component health check | |
Support for accessing third-party components through ServiceMesh | |
Supports access to third-party components through Application Gateway | |
Support for registering third-party components based on kubernetes service resources (after version 5.3.1) |
Application management
Function | Function description |
---|---|
Application-level lifecycle management | Support application-level start, stop, build, and upgrade operations |
Support dynamic maintenance of dependencies between components within components | |
Application Service Governance Framework Switching | Support built-in ServiceMesh governance framework |
Support kubernetes service native mode | |
Support for the Istio service governance framework (planned for version 5.3.X) | |
Topology Map Visualization | Real-time status display of global business topology, which can display the connection (network) topology diagram display function of business groups in real time |
Supports visual editing of dependencies between components | |
Support real-time display of topology traffic, with traffic monitoring and monitoring status display functions of topology map | |
application copy | Fast replication based on deployed applications |
Support cross-cluster and cross-tenant replication of applications | |
Support batch modification of build source versions when copying applications | |
Component backup and recovery | Support application-level overall full backup |
Supports backup cross-tenant, cross-datacenter migration and recovery | |
Support import and export of backup data | |
Support cloud backup to object storage, support S3 and AliOSS by default | |
App release | Support application publishing to enterprise mid-stage component library |
Support application publishing to cloud application market | |
Supports release records management | |
Application upgrade | Support automatic upgrade and rollback based on the internal component library of the enterprise middle platform |
Support continuous upgrade of applications based on cloud application market | |
Application Configuration Group | Supports application-level configuration groups to define common environment configurations for multiple components |
Application Gateway Management
Function | Function description |
---|---|
HTTP application access policy | Support access routing control based on domain name, access path, request header, and cookie |
Support HTTPs access policy | |
Support HTTP and HTTPs coexistence, HTTP Rewrite HTTPs strategy | |
Support pan-domain policy | |
Custom load balancing algorithm, support polling algorithm, session retention algorithm | |
TCP/UDP Component Access Policy | By default, IP+port-based TCP\UDP access policy management is supported. |
Supports the access policy of IP isolation of the internal network and the external network IP. | |
Supports obtaining the IP addresses of all gateway nodes, including virtual IPs. | |
TLS certificate management | Support for importing TLS certificates issued by third parties |
Support status monitoring and management of certificates | |
Supports automatic issuance of TLS certificates (TODO) | |
Service Test Upgrade Strategy | Support A/B test control |
Support grayscale publishing control | |
Service Security Control | Plug-in support for JWT business security authentication (customization) |
Plug-in support for whitelist and blacklist control management (customization) | |
Plug-in support for WAF firewall (customized) | |
Gateway monitoring | Docking with Prometheus to monitor real-time access data of domain names and components |
Monitor real-time data of gateway operation | |
Component access log management | Support docking with third-party log components, and send component access logs to third-party platforms (customization) |
Component plug-in management and design
Function | Function description |
---|---|
Has a complete application advanced function extension architecture | In addition to its own functions, components can extend other advanced functions without intrusion, such as firewall, log processing, performance analysis, network management, etc. It is very important to establish a standard application plug-in system specification.A plug-in is a program that exists independently and is bound to a component and has the same running environment as the component, and can define the unique configuration information of the plug-in. |
It has a basic operating environment for plug-ins and components to work together, such as providing service discovery, configuration discovery, and environment configuration. | |
It has a complete component plug-in development and deployment process, and can be easily bound to the application.Ability to complete application plug-in design by yourself | |
Component plug-ins support standardized dissemination and sharing | Component plug-ins have standardized dissemination capabilities, and can be shared with the application market alone or in combination with components |
Support for installing and using plugins from the app market | |
Provide common component plugins | Provides production-ready plugin use cases such as log analysis, MySQL data backup, application performance analysis, network governance, and more. |
Microservice Architecture
Function | Function description |
---|---|
Provide service mesh architecture support | Support cross-language and cross-protocol service invocation |
Support a variety of Service Mesh framework implementations (envoy, linkerd, etc.), which can be replaced in real time for different scenarios | |
Support component automatic registration and discovery | |
Support transparent load balancing, components can be scaled at any time | |
Support component management:advanced routing, current limiting, and fusing mechanism | |
Support component topology display | Display dependencies between components through topology diagrams |
Support component dynamic orchestration | No need to modify configuration files, dynamically arrange component dependencies |
Support docking with other microservice architectures | Support docking with Dubbo |
Support docking with Spring cloud | |
Supports dynamic switching of cloud native application governance modes | Flexible selection of application governance mode, decoupling of business architecture and technical architecture, governance mode does not need to be concerned by business developers. |
Support API gateway | Support to extend the functionality of API gateway through plugins |
Support docking with third-party login, docking with Oauth 2.0 | |
Support current limiting and fusing | |
Support access control | |
Support network governance between components through a plug-in mechanism | Fault handling and recovery, fusing/current limiting |
Transmission encryption | |
Network Policy Management | |
performance analysis | |
Support tracing | |
Supports in-house component A/B testing and grayscale releases | |
Support business routing based on domain name/Path/header |
Enterprise Component Library (App Market) Management
Function | Function description | illustrate |
---|---|---|
App publishing and installation and upgrades | Support self-publishing a set of components to the application market, including programs, environments and configurations, data, topology relationships, and plug-in extensions. | |
Users can install with one click in the application market, no need to know technology | ||
Support for publishing and installing components across data centers | ||
After a new version is released, the application can be upgraded with one click | ||
Online and offline component delivery | Support component synchronization between application markets | |
Support component export installation package compatible with docker-compose. | ||
It supports offline import and export of components, and can be installed and used with one click after import. | ||
App market display function | Support multi-level classification display of components, users can classify and filter | |
Support component search | ||
Display component name, logo, profile and version | ||
Supporting the review mechanism of the app market | ||
Application template version management | Supports setting application template version status and managing multiple application distributions | |
Multi-level application market | Supports three-level application market isolation, and optional component visibility granularity when publishing components. | |
Support docking public application market, other application market |
System operation and maintenance
Function | Function description |
---|---|
Operator-based UI platform installation | Support for defining storage types |
Support to define various installation parameters | |
Support UI management of installation process and upgrade process | |
Supports parallel installation of multiple clusters | |
Supports docking with existing Kubernetes clusters | |
Supports convenient online installation based on public cloud | Support online convenient installation based on Alibaba Cloud ACK |
Support dynamic cluster expansion | Automatically follow the expansion of the Kubernetes cluster Automatically expand the Rainbond cluster |
Other functions and technical architecture of the platform
Function | describe |
---|---|
Standard RestfulAPI open design, support secondary development | Support application standardization management API opening, user authorization-based security verification strategy |
The platform management API is open to support the management of users, tenants, permissions, etc. | |
The resource management API is open to support the management of cluster nodes and resource scheduling | |
Oauth2.0 | Supports docking with multiple Oauth2.0 services |
Support third-party user login based on Oauth2.0 | |
Support Oauth2.0 docking code warehouse service, continuous construction process of access components | |
Oauth support types include Github Gitlab Dingding Alibaba Cloud | |
Application and resource decoupling | In terms of architecture, applications are not bound to computing resources, and can be migrated anywhere as needed |
Supports multifunctional command line tools | Command line tools support component start, stop, scheduling, and comprehensive status query functions |
Command line tool supports tenant query and batch operation functions | |
Command line tools support cluster node management, resource scheduling management | |
authority management | Supports custom role names at the tenant level, custom assignment permissions, and user customization supports multiple roles |
Supports precise control of component-level permissions and can inherit tenant-level permissions | |
Strict verification of control permissions to achieve API-level security control | |
Overlay network architecture support | Overlay network model supporting multi-tenant network isolation |
Supports the automatic allocation of unified network resources (IP, routing) for virtual machines and containers, and virtual machines and containers can form a tenant network at the same time | |
Support multiple types of storage system interconnection | Support component-level self-service settings for multiple storage device interconnections, including:distributed file systems, block devices, memory virtual storage, etc. |
Supports backup, snapshot and recovery of stored data | |
application scheduling system | The Docker container scheduling system based on Kubernetes does not need to expose too many container technology concepts, and supports platform-level application scheduling parameter settings |
Support the setting and secondary development of custom scheduling strategy | |
Internal load balancing between components | Access between internal services can automatically perform service discovery and load balancing |
The load balancing function between components can be extended by plug-in, supporting advanced service management | |
Full platform operation record audit | Enterprise edition available |
Application Status Awareness and Alerting | Enterprise edition available |
Cluster monitoring visualization | Enterprise edition available |