Kato App Market Application Spec

This document continues to be improved…

Specification Purpose

This specification was formulated to guide users on how to make SaaS-based delivery applications for the Kato application market.

Requirements

Support One-click Installation

One-click installation refers to the one-click automatic installation of a complete business system through the application market. To have this ability, you need to:

  • The complete business system supports the ability to automatically initialize and upgrade persistent data.
  • Optimal configuration of services based on environment variables.
Strong Fault Tolerance

Strong fault tolerance means that in the cloud environment, all components in the business system can have a certain degree of chaos and fault tolerance, especially the following points:

  • When the service starts, a certain retry is made for the dependent communication of other services.
  • The service cannot appear in a deadlock state, such as a service stuck due to an error in communication with other services.
Multi-user Delivery

The application can be installed and deployed multiple times.

The Key Factor

Data Initialization

Data initialization is generally database data initialization and static data initialization. The recommended processing methods are as follows:

Database Data Initialization

In the microservice scenario, if each service has its own database service, you can directly use the database such as Mysql as a service for code maintenance, and continuously upgrade the corresponding service SQL initialization code and upgrade code.

The second is that the service itself maintains SQL, and executes SQL according to the version characteristics after each startup. This type of method is generally an upgrade method of only increase but not decrease.

Static Data Initialization

This type of mainly website services need to persist certain directories, but the directories already contain some initialization data. The operation method is to first put the initialization data in other directories. After the service is started, it is determined whether the persistent directory contains data. If it does not, the initialization data is synchronized to achieve initialization.

Service Configuration

When the application is delivered as a SaaS standard, it is recommended that the customized configuration part be completely environment variable, and different parameter types are defined in the form of environment variables. In particular, the connection information between services must be fully variable according to Kato’s specification environment to ensure that it works normally after each installation data change.