Function List

Development Plan Release Cycle

This document lists the key basic functions of the Kato open source version. As the version is upgraded, the content of this document may not reflect the changes immediately. If you have any questions, please leave a message in the community for consultation.

Cluster Management

FunctionFunction description
Kubernetes cluster hostingKubernetes as an infrastructure is the basic resource of Kato
Cloud resource dockingSupport Alibaba Cloud ACK cluster creation and initialization
Support Alibaba Cloud storage resource docking
One-click cluster installation and expansionSupport for easy installation of Kubernetes cluster and Kato cluster initialization
Multi-cluster application schedulingApplications (components) support scheduling among multiple clusters
Multi-cluster application orchestrationSupport deployment of applications to multiple clusters

Application Deployment

FunctionFunction description
Support continuous source code constructionSupport PHP source code compilation, PHP source code, PHP5.3~7 version runtime, apace, nginx to build applications, and support popular PHP development frameworks
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, Python source code, Python 2.6~3.2 runtime building applications, and popular Python development frameworks
Support Node.js source code compilation, Node.js source code, Nods.js 6.x~10.x runtime building applications, popular Node.js development framework, including front-end projects.
Support Golang source code compilation, Golang 1.8.x, 1.9.x runtime building applications, and support the popular Golang development framework
Support dotnet source code compilation, multiple versions of compilation and running environment (.netcore linux running)
Support Dockerfile identification and construction, support Dockerfile source code to build applications
Docker image continuous constructionSupports the construction of service components based on the DockerRun command to identify the service operation mode
Support parsing DockerCompose file to identify service operation mode and build service components in batches
Support to obtain Docker images from private mirror repositorys and public mirror repositorys
Support continuous deployment and release of the mirror repository Webhook service
Support integrated Git source code repositorySub-tenant code repository management, separate code repositorys for different teams
Support GitWebhook automatic callback function to achieve continuous deployment and release of applications
Support code branching, tag deployment, and use different code branches and tags to build applications
Support integrated Svn source code repositorySupport to obtain source code from Svn code repository, support account authorization and sub-directory construction
Support third-party service integration managementSupport management of services running outside the Kato cluster, and seamless integration with Kato application gateways and ServiceMesh networks.
Support the application of the 12-factor principleThe platform follows or is compatible with the 12-factor principle of the PaaS platform application
One-click deployment and rollbackReal-time display of the deployment and rollback process, the application deployment and rollback process should be visible in real time to facilitate troubleshooting
The version construction history can be traced, and the detailed version information is displayed. It should be traceable to each deployment version of the application and detailed deployment information, including code submission information, operators, etc.
Support automatic and uninterrupted rolling upgrade, application deployment, the upgrade process can not affect the existing business, and provide an upgrade mechanism for uninterrupted business
Support one-click rollback, support rapid rollback of applications, and should not affect existing business
Support custom pipelineSupport API docking with Jenkins Pipeline, Kato will complete the subsequent CI/CD process after Jenkins processing is completed

Component Management, Operation and Maintenance

FunctionFunction description
Component life cycle managementSupport for component start, stop, update, upgrade, continuous construction management
Support rolling upgrade of stateless components, the upgrade process does not affect business
Support rolling upgrade of stateful components, cluster component upgrade process does not affect business
Support component upgrade strategy based on application market
Support strict authority management mechanism and audit mechanism for component operation
Continuous development of componentsSupports automatic construction based on code repository Webhook, mirror repository Webhook, and custom API
Component version managementSupport query component build version list
Support viewing the corresponding relationship between the build version and the source code version
Support version rollback
Component instance managementSupport for querying detailed information of component running instances (basic information, running container information, event information)
Support querying abnormal information such as abnormal restart and OOM of component instance
Component environment configuration managementSupport component configuration management based on environment variables
Component configuration management directly based on dynamic configuration files
Supports connection information configuration management based on dynamic injection
Component storage managementSupport shared storage, local storage and memory storage types (5.1.X and before)
Support to expand storage support types based on StorageClass, including (Ceph-RBD, GlusterFS, Alibaba Cloud Block Device, etc.) by default (5.2.0 and later)
Shareable storage supports sharing between storage components
Component build source managementSupport continuous adjustment of component build source settings
Support setting component source code build parameters, set Runtime version according to different languages, compilation parameters, etc.
Component log managementSupport real-time application-level summary, storage, segmentation and real-time display, can display component logs in real time, summary analysis logs, log storage and download functions
Supports log analysis services such as ELK based on plug-ins, and can connect to popular log analysis tools in the industry, such as ELK for display and analysis
Component scaling managementSupport horizontal and vertical scaling operations of uninterrupted components, platform applications should have production-level (non-interrupted business) horizontal and vertical scaling services
Support automatic scaling strategy based on memory and CPU resources
Support automatic scaling strategies based on business-level analysis indicators, the platform has the ability to achieve automatic scaling services based on business analysis indicators (TODO)
Component High Availability GuaranteeSupports the convenient deployment of highly available distributed components, separating data from computing, and separating gateways from computing.
Give most of the Web components distributed deployment capabilities
Component performance analysisSupport real-time performance (response time and throughput) analysis of commonly used application protocols, support real-time performance analysis of commonly used application protocols, such as HTTP, TCP, MYSQL, such as response time, throughput and other functions
Support requesting Top real-time display, performance analysis of components is displayed in the form of a list, and the URL/SQL statements that affect the performance the most can be sorted
Support historical analysis data query, component performance analysis log supports query by hour and date
Support real-time status display of component instances and real-time status display and monitoring of instance memory
Component health detectionSupports application health detection based on multiple strategies, and the platform performs 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 terminalSupport web-based terminal management, platform applications have a web console function, which is convenient for developers to log in to temporary debugging programs within the application.
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 custom defined component monitoring targets (Prometheus specification)
Support plug-in extension, support Mysql, Redis and other business monitoring
Support custom defined business monitoring visual view
Business Link TrackingSupports Java component docking Pinpoint Link Tracking
Third-party component managementSupport for dynamically registering third-party component communication addresses based on API
Support static management of third-party component communication addresses
Support third-party component health detection
Support third-party component business-level monitoring data collection (version 5.3 and above)
Support access to third-party components through ServiceMesh
Support access to third-party components through the application gateway

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 Istio service governance framework (5.3.X version plan)
Topology map visualizationReal-time status display of global business topology, which can display the connection (network) topology map display function of business groups in real time
Support visual editing of dependencies between components
Support real-time display of topology flow, with flow monitoring of topology diagram and monitoring status display function
Application replicationQuick replication based on deployed applications
Support cross-cluster and cross-tenant replication applications
Support batch modification of build source version when copying application
Component backup and recoverySupport application-level overall full backup
Support cross-tenant, cross-data center backup migration and recovery
Support import and export of backup data
Support cloud backup to object storage, S3 and AliOSS are supported by default
Application publishingSupport application publishing to enterprise middle-office component library
Support application publishing to the cloud application market
Support release record management
Application upgradeSupport automatic upgrade and rollback based on the internal component library of the enterprise middle station
Support continuous upgrade of cloud-based application market applications
Application configuration groupSupport application-level configuration group, define common environment configuration of multiple components

Application Gateway Management

FunctionFunction description
HTTP application access strategySupport 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 name strategy
Custom load balancing algorithm, support polling algorithm, session retention algorithm
TCP/UDP component access policyBy default, it supports TCP\UDP access policy management based on IP+port.
Support the access strategy that the internal network IP and external network IP are isolated.
Support to obtain the IP address of all gateway nodes, including virtual IP.
TLS certificate managementSupport importing TLS certificates issued by third parties
Support status monitoring and management of certificates
Support automatic issuance of TLS certificate (TODO)
Service test upgrade strategySupport A/B test control
Support gray release control
Service security controlPlug-in support for JWT business security certification (customized)
Plug-in support for whitelist and blacklist control management (customized)
Plug-in support WAF firewall (customized)
Gateway MonitoringDocking with Prometheus monitoring domain name and real-time access data of components
Monitor the real-time data of the gateway operation
Component access log managementSupport docking with third-party log components and send component access logs to third-party platforms (customized)

Component Plug-in Management and Design

FunctionFunction description
Possess 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. The plug-in is a program that exists independently and runs in conjunction with the component. It has the same operating environment as the component and can define unique configuration information for the plug-in.
A basic operating environment with plug-ins and components to work together, such as providing service discovery, configuration discovery, environment configuration, etc.
It has a complete component plug-in development and deployment process, which can be easily bound to the application. Ability to complete application plug-in design by yourself
Component plug-ins support standardized transmission and sharingComponent plug-ins have standardized transmission capabilities, and can be shared to the application market individually or bundled with components
Support to install and use plug-ins from the application market
Provide commonly used component plug-insProvide production-available plug-in use cases, such as log analysis, MySQL data backup, application performance analysis, network management, etc.

Microservice Architecture

FunctionFunction description
Provide Service Mesh architecture supportSupport cross-language and cross-protocol service calls
Support multiple Service Mesh framework implementations (envoy, linkerd, etc.), which can be replaced in real time for different scenarios
Support automatic component registration and discovery
Support transparent load balancing, components can be scaled at any time
Support component management: advanced routing, current limiting, fusing mechanism
Support component topology displayDisplay the dependencies between components through the topology diagram
Support component dynamic orchestrationNo need to modify configuration files, dynamic orchestration of component dependencies
Support docking with other microservice architecturesSupport docking with Dubbo
Support docking with Spring cloud
Support dynamic switching of cloud-native application governance modelsFlexible choice of application governance models, decoupling the business architecture and technical architecture, and the governance model does not need to be concerned by business developers.
Support API gatewaySupport extension of API gateway functions through plug-ins
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 plug-in mechanismFault handling and recovery, fusing/current limiting
Transmission encryption
Network Policy Management
Performance Analysis
Support tracing
Support A/B testing and gray release of internal components
Support business routing based on domain name/Path/header

Enterprise Component Library (Application Market) Management

FunctionFunction descriptionDescription
Application publishing and installation and upgradesSupport self-publishing a set of components to the application market, including programs, environment and configuration, data, topology, and plug-in extensions.
Users can install in the application market with one click, without knowing technology
Support cross-data center publishing and installation of components
After the 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.
Support offline import and export of components, and one-click installation after importing
Application market display functionSupport multi-level classification display of components, users can sort and filter
Support component search
Display component name, logo, introduction and version
Support the review mechanism of the application market
Application template version managementSupport setting application template version status, managing multiple application releases
Multi-level application marketSupports three-level application market isolation, with the granularity of optional components visible when components are released.
Support docking public application market, other application markets

System Operation, Maintenance and Installation

FunctionFunction description
UI platform installation based on OperatorSupport for defining storage types
Support the definition of various installation parameters
Support UI management installation process and upgrade process
Supports parallel installation of multiple clusters
Support docking with existing Kubernetes clusters
Support online convenient installation based on public cloudSupport online convenient installation based on Alibaba Cloud ACK
Support dynamic cluster expansionAutomatically follow Kubernetes cluster expansion Kato cluster automatic expansion

Other Functions and Technical Architecture

FunctionDescription
Standard RestfulAPI open design, support secondary developmentSupport application standardization management API open, security verification strategy based on user authorization
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 repository 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 support migration anywhere as needed
Support 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 and resource scheduling management
Permission managementSupport custom role names at the tenant level, custom assignment permissions, user-defined support for multiple roles
Support precise control of component level permissions, and inherit tenant level permissions
Strictly verify the control authority to achieve API level security control
Overlay network architecture supportOverlay network model that supports multi-tenant network isolation
Supports the automatic allocation of unified network resources (IP, routing) for virtual machines and containers. Virtual machines and containers can form a tenant network at the same time
Support multiple types of storage system dockingSupport component-level self-setting of multiple storage device docking, including: distributed file systems, block devices, memory virtual storage, etc.
Supports backup, snapshot and recovery of stored data
Application scheduling systemDocker container scheduling system based on Kubernetes, it is unnecessary to expose too many container technology concepts and support platform-level application scheduling parameter settings
Support the setting and secondary development of custom scheduling strategies
Internal load balancing between componentsAccess between internal services can automatically perform service discovery and load balancing
The load balancing function between the components can be plug-in extension to support advanced service management
Full platform operation record auditProvided by Enterprise Edition
Application Status Awareness and AlarmProvided by Enterprise Edition
Cluster Monitoring VisualizationProvided by Enterprise Edition

More Features

For SaaS-based application delivery system, enterprise-level application market, enterprise resource management platform, enterprise-level monitoring and alarm system, and more Kato enterprise-level support, please see Enterprise Service Support