Updated on 2024-11-15 GMT+08:00

Component Overview

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 create and deploy components in the application and environment. A maximum of 1000 components can be created for an application.

You can set the component technology stack and component source based on service requirements to create and deploy components.

Technology Stack

A technology stack includes the operating system, framework, and runtime on which component running depends. 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

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

OpenJDK11

Java

Supported

OpenJDK17

Java

Supported

Tomcat8/OpenJDK8

Tomcat

Supported

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

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

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 Authorizing a Repository and set the code source.

JAR package

The following upload methods are supported:

  1. 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.
  2. Select the corresponding software package from OBS. Upload the software package to the OBS bucket in advance. For details, see Streaming Upload (PUT).

WAR package

The following upload methods are supported:

  1. 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.
  2. Select the corresponding software package from OBS. Upload the software package to the OBS bucket in advance. For details, see Streaming Upload (PUT).

ZIP package

The following upload methods are supported:

  1. 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.
  2. Select the corresponding software package from OBS. Upload the software package to the OBS bucket in advance. For details, see Streaming Upload (PUT).

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.