Updated on 2024-12-17 GMT+08:00

Component Overview

A maximum of 15,000 components can be created for an application.

Component Overview

A component is a service feature implementation of an application. It is carried by code or software packages and can be independently deployed and run in an environment.

For details about applications and environments, see Application Overview and Environment Overview.

Figure 1 shows the relationships between components, applications, and environments.

Figure 1 Relationships

After creating an application and environment on ServiceStage, you can set the component technology stack and component source, and create and deploy components in the application and environment.

Technology Stack

A technology stack includes the operating system, framework, and runtime system for component running. It consists of attributes such as the stack name, type, status, and version. The version number complies with the semantic versioning specifications.

ServiceStage provides and manages the stack lifecycle. You only need to focus on service development to improve application hosting experience.

The lifecycle phases of the technology stack are defined as follows:

  • Preview: The beta version is released.
  • General Availability (GA): The official version is released.
  • End of Life (EOL): The lifecycle ends.

The technology stack status is defined as follows:

  • Preview: The stack is in the Preview phase.
  • Supported: The stack is in the GA phase.
  • Deprecated: The stack is in the GA phase but the EOL announcement has been released, or the stack is not recommended by ServiceStage.

For details about the technology stack, see Table 1.

Table 1 Technology stack information

Technology Stack

Type

Status

Release Description

Component Source and Deployment Mode

OpenJDK8

Java

Supported

NOTE:

ServiceStage supports the deployment of Java application components that are packaged as a WAR package and developed based on the Spring Boot framework.

Version mapping between JDK and Spring Boot:

  • JDK 8 supports Spring Boot 2.0.x to 2.7.x.
  • JDK 11 supports Spring Boot 2.2.x to 2.7.x.
  • JDK 17 supports Spring Boot 2.5.x and later.
  • JDK 21 supports Spring Boot 2.7.x and later.

For details, see Spring Boot Versions.

OpenJDK11

Java

Supported

OpenJDK17

Java

Supported

OpenJDK21

Java

Supported

  • OpenJDK 21.0.3
  • Image OS: EulerOS 2.9.14. Character set en_US.UTF-8 is supported.

Tomcat8/OpenJDK8

Tomcat

Supported

Tomcat9/OpenJDK8

Tomcat

Supported

Node.js8

Node.js

Supported

  • The component source is source code or ZIP package, and container-based deployment is supported. For details, see Deploying a Component.
  • The component source is ZIP package and VM-based deployment is supported. For details, see Deploying a Component.

Node.js14

Node.js

Supported

Node.js16

Node.js

Supported

Node.js18

Node.js

Supported

NOTICE:

If a component is created and deployed based on a VM using Node.js 18, the GLIBC version of the host OS in the component running environment must be 2.25 or later. Otherwise, the component cannot be started.

Docker

Docker

-

Supported by CCE. For details, see Kubernetes Release Notes.

The component source is image package, and container-based deployment is supported. For details, see Deploying a Component.

Python3

Python

-

-

The component source is source code or ZIP package, and container-based deployment is supported. For details, see Deploying a Component.

Php7

Php

-

-

The component source is source code or ZIP package, and container-based deployment is supported. For details, see Deploying a Component.

Component Source

Component Source

Description

Source Code Repository

Create authorization by referring to Creating Repository Authorization and set the code source.

JAR package

The following upload methods are supported:

  • Select the corresponding software package from the SWR software repository. Upload the software package to the software repository in advance. For details, see Uploading the Software Package.
  • Select the corresponding software package from OBS. Upload the software package to the OBS bucket in advance. For details, see Streaming Upload (PUT).
  • Obtain the corresponding software package from the custom file address. You can download the software package from the custom HTTP/HTTPS file address. Upload the software package to the corresponding custom file address in advance.

WAR package

ZIP package

Package

Image package

Containerized applications need to be created based on images. My Images (private images), Open Source Images, Shared Images, and Third-party Images are supported.

  • If you select My Images, upload the image to the image repository in advance. For details, see Uploading an Image.
  • If you select Third-party Images, ensure that you have obtained the address of the third-party image. The format of the image address is as follows:
    {IP address of the third-party image repository}:{Port number for accessing the third-party image repository}/{Image storage path}/{Image name}:{Image tag}

    Alternatively:

    {Image name}:{Image tag}

    If the image tag is not specified, the latest version is used by default.

    Currently, only third-party public images can be obtained.

Deploying a Component

Deployment Mode

Description

Container-based deployment

CCE is a highly scalable, enterprise-class hosted Kubernetes service for you to run containers and applications. With CCE, you can easily deploy, manage, and scale containerized applications on the cloud platform.

VM-based deployment

A VM, or an HECS, is a basic computing unit that consists of vCPUs, memory, OS, and EVS disks. After creating an ECS, you can use it like using your local computer or physical server to deploy components.