Skip to main content

function list

Development Plan

This document lists the key basic functions ofopen source versionWith 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

FunctionFunction description
Kubernetes cluster hostingKubernetes as infrastructure is Rainbond's basic resource
Cloud resource connectionSupport Alibaba Cloud ACK cluster creation and initialization
Support Alibaba Cloud storage resource docking
One-click cluster installation and expansionSupports easy installation of Kubernetes clusters and Rainbond cluster initialization
Support Kubernetes cluster node scaling
Multi-cluster application schedulingApplications (components) support scheduling across multiple clusters
Multi-cluster application orchestrationSupport deploying applications to multiple clusters

application deployment

FunctionFunction description
Support Helm application installationSupport for installing apps from the Helm app store
Support for Helm application configuration and continuous upgrade
Support continuous build of source codeSupport 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 builtSupport 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 repositorySub-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 repositorySupport obtaining source code from Svn code repository, support account authorization and subdirectory construction
Support third-party service integration managementSupports 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 principleThe platform follows or is compatible with the12 elementsthe PaaS platform application1
One-click deployment and rollbackThe 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 pipelineSupport 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

FunctionFunction description
Component Lifecycle ManagementSupport 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 developmentSupports automatic construction based on code warehouse Webhook, mirror warehouse Webhook, and custom API
Component version managementSupport query component build version list
Supports viewing the corresponding relationship between the build version and the source code version
Support version rollback
Component instance managementSupport 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 ManagementSupports 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 managementSupport 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 managementSupport 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 managementSupport 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 managementSupport 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 managementSupports 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 GuaranteeIt 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 analysisSupport 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 CheckSupports 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 terminalIt 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 monitoringSupport 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 trackingSupport Java class components to connect to Pinpoint link tracking
Third-party component managementSupports 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

FunctionFunction description
Application-level lifecycle managementSupport application-level start, stop, build, and upgrade operations
Support dynamic maintenance of dependencies between components within components
Application Service Governance Framework SwitchingSupport 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 VisualizationReal-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 copyFast 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 recoverySupport 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 releaseSupport application publishing to enterprise mid-stage component library
Support application publishing to cloud application market
Supports release records management
Application upgradeSupport 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 GroupSupports application-level configuration groups to define common environment configurations for multiple components

Application Gateway Management

FunctionFunction description
HTTP application access policySupport 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 PolicyBy 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 managementSupport 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 StrategySupport A/B test control
Support grayscale publishing control
Service Security ControlPlug-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 monitoringDocking with Prometheus to monitor real-time access data of domain names and components
Monitor real-time data of gateway operation
Component access log managementSupport docking with third-party log components, and send component access logs to third-party platforms (customization)

Component plug-in management and design

FunctionFunction description
Has a complete application advanced function extension architectureIn 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 sharingComponent 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 pluginsProvides production-ready plugin use cases such as log analysis, MySQL data backup, application performance analysis, network governance, and more.

Microservice Architecture

FunctionFunction description
Provide service mesh architecture supportSupport 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 displayDisplay dependencies between components through topology diagrams
Support component dynamic orchestrationNo need to modify configuration files, dynamically arrange component dependencies
Support docking with other microservice architecturesSupport docking with Dubbo
Support docking with Spring cloud
Supports dynamic switching of cloud native application governance modesFlexible 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 gatewaySupport 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 mechanismFault 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

FunctionFunction descriptionillustrate
App publishing and installation and upgradesSupport 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 deliverySupport 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 functionSupport 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 managementSupports setting application template version status and managing multiple application distributions
Multi-level application marketSupports 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

FunctionFunction description
Operator-based UI platform installationSupport 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 cloudSupport online convenient installation based on Alibaba Cloud ACK
Support dynamic cluster expansionAutomatically follow the expansion of the Kubernetes cluster Automatically expand the Rainbond cluster

Other functions and technical architecture of the platform

Functiondescribe
Standard RestfulAPI open design, support secondary developmentSupport 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.0Supports 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 decouplingIn terms of architecture, applications are not bound to computing resources, and can be migrated anywhere as needed
Supports multifunctional command line toolsCommand 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 managementSupports 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 supportOverlay 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 interconnectionSupport 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 systemThe 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 componentsAccess 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 auditEnterprise edition available
Application Status Awareness and AlertingEnterprise edition available
Cluster monitoring visualizationEnterprise edition available