---
id: "alibaba-elastic-cloud-phone"
type: "component"
kind: "virtual-desktop"
provider: "alibabacloud"
category: "compute"
docs: "https://www.alibabacloud.com/help/en/ecp/product-overview/what-is-elastic-cloud-phone"
url: "https://localhost:3000/catalogue/components/alibaba-elastic-cloud-phone"
---

# Elastic Cloud Phone

Android instances running on ARM servers and streamed to a client for gaming, testing and mobile workloads.

| | |
|---|---|
| Provider | [alibabacloud](https://localhost:3000/catalogue?provider=alibabacloud) |
| Kind | [Virtual desktop pool](https://localhost:3000/catalogue/kinds/virtual-desktop) |
| Category | Compute |
| Official docs | [https://www.alibabacloud.com/help/en/ecp/product-overview/what-is-elastic-cloud-phone](https://www.alibabacloud.com/help/en/ecp/product-overview/what-is-elastic-cloud-phone) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `guestOs` | enum | `android` | no | "android" | inherited |
| `hostCount` | integer | — | no | — | inherited |
| `loadBalancing` | enum | `breadth-first`, `depth-first` | no | — | inherited |
| `managed` | boolean | — | no | false | **true** |
| `maxSessionsPerHost` | integer | — | no | — | inherited |
| `mfaRequired` | boolean | — | no | — | inherited |
| `persistentProfiles` | boolean | — | no | — | inherited |
| `sessionMode` | enum | `pooled`, `personal` | no | — | **"personal"** |

Bold values are the ones this component pins.

## Rules that apply · 1

### Stateful node without zone redundancy `stateful-node-without-zone-redundancy` (error)

- Page: https://localhost:3000/catalogue/rules/stateful-node-without-zone-redundancy.md
- Why: A stateful compute node pinned to exactly one availability zone disappears with that zone, and its state goes with it. Nodes inside a cell are exempt, because there the cell is deliberately single-zone and redundancy comes from the other cells.
- Applies to: every node in category compute
- Message: Stateful node '{{node.id}}' lives in exactly one availability zone. A zone outage takes its state with it.

It fires when:

- all of these hold:
  - the node's `stateless` is false
  - the node sits inside exactly 1 availability-zone group
  - this does not hold:
    - the node sits inside at least one cell group

## Other products of the same kind · 19

- [WUYING Workspace](https://localhost:3000/catalogue/components/alibaba-wuying-workspace.md) `alibaba-wuying-workspace` — alibabacloud
- [Amazon WorkSpaces Applications](https://localhost:3000/catalogue/components/aws-appstream.md) `aws-appstream` — aws
- [AWS Cloud9](https://localhost:3000/catalogue/components/aws-cloud9.md) `aws-cloud9` — aws
- [Amazon GameLift Streams](https://localhost:3000/catalogue/components/aws-gamelift-streams.md) `aws-gamelift-streams` — aws
- [Amazon WorkSpaces](https://localhost:3000/catalogue/components/aws-workspaces.md) `aws-workspaces` — aws
- [Amazon WorkSpaces Pools](https://localhost:3000/catalogue/components/aws-workspaces-pools.md) `aws-workspaces-pools` — aws
- [Amazon WorkSpaces Secure Browser](https://localhost:3000/catalogue/components/aws-workspaces-secure-browser.md) `aws-workspaces-secure-browser` — aws
- [Microsoft Dev Box](https://localhost:3000/catalogue/components/azure-dev-box.md) `azure-dev-box` — azure
- [Azure DevTest Labs](https://localhost:3000/catalogue/components/azure-devtest-labs.md) `azure-devtest-labs` — azure
- [Azure Lab Services](https://localhost:3000/catalogue/components/azure-lab-services.md) `azure-lab-services` — azure
- [Azure Virtual Desktop](https://localhost:3000/catalogue/components/azure-virtual-desktop.md) `azure-virtual-desktop` — azure
- [Cloudflare Browser Isolation](https://localhost:3000/catalogue/components/cloudflare-browser-isolation.md) `cloudflare-browser-isolation` — cloudflare
- [Citrix Virtual Apps and Desktops](https://localhost:3000/catalogue/components/citrix-virtual-apps.md) `citrix-virtual-apps` — default
- [Apache Guacamole](https://localhost:3000/catalogue/components/guacamole.md) `guacamole` — default
- [Kasm Workspaces](https://localhost:3000/catalogue/components/kasm.md) `kasm` — default
- [Omnissa Horizon](https://localhost:3000/catalogue/components/omnissa-horizon.md) `omnissa-horizon` — default
- [Generic virtual desktop pool](https://localhost:3000/catalogue/components/virtual-desktop.md) `virtual-desktop` — default
- [Cloud Workstations](https://localhost:3000/catalogue/components/google-cloud-workstations.md) `google-cloud-workstations` — gcp
- [OCI Secure Desktops](https://localhost:3000/catalogue/components/oci-secure-desktops.md) `oci-secure-desktops` — oci

## Use it in a design

```yaml
nodes:
  - { id: "alibaba-elastic-cloud-phone", component: "alibaba-elastic-cloud-phone" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# Elastic Cloud Phone (ECP): Android instances running on ARM servers and streamed to a client, used
# for cloud gaming, app testing and mobile workloads ("What is Elastic Cloud Phone"). Each phone
# instance is personal to the session that holds it.
schemaVersion: "1"
type: "component"
id: "alibaba-elastic-cloud-phone"
kind: "virtual-desktop"
provider: "alibabacloud"
docs: "https://www.alibabacloud.com/help/en/ecp/product-overview/what-is-elastic-cloud-phone"
defaults:
  managed: true
  sessionMode: "personal"
properties:
  guestOs:
    type: "enum"
    values: ["android"]
    default: "android"
```

Human page: https://localhost:3000/catalogue/components/alibaba-elastic-cloud-phone
