# Run Anything, Anywhere | Cycle.io

Canonical URL: https://cycle.io/platform/compute

## Deploy any application to any server.

We built Cycle to provide a single, unified control plane to deploy containers, virtual machines, and serverless functions side-by-side, regardless of the underlying cloud provider or geographic location.

-   [Deploy Your First Stack](https://signup.cycle.io/)

cycle.json (Stack)

API

Frontend

API

Frontend

Database

API

### Host a variety of workloads.

From microservices to fully virtualized hosts, Cycle natively supports the deployment of containers, functions, and virtual machines. Deploy with a cloud-like experience, but on infrastructure you own.

##### Containers

Connect to any registry to deploy your OCI-compliant containers, or build directly on our platform. Cycle is designed to effortlessly manage both massive scale for stateless applications and the complexity of stateful databases.

<https://cycle.io/docs/platform/introduction-to-containers>

##### Virtual Machines

When containers aren't enough, spin up full Virtual Machines backed by KVM. Support for standard ISOs and full cloud-init integration to boot pre-configured images effortlessly.

<https://cycle.io/docs/platform/introduction-to-virtual-machines>

##### Functions

Execute short-lived, event-driven tasks without the constraints of public cloud vendors. Bring the agility of batch processing and scheduled functions directly to your own infrastructure.

<https://cycle.io/docs/platform/function-containers>

Cluster: Production

Environment: Production

Frontend

API

Worker

Postgres

Environment Services

Load Balancer

Discovery

VPN

AWS Node

GCP Node

Bare Metal

### Build multi-tenant platforms that span regions and providers.

Whether you're deploying a basic application or architecting a multi-tenant platform, Cycle environments provide the network and service isolation required.

### Secure and streamline configuration management.

Simplify how you handle sensitive data. We built a secure, centralized vault for your variables, encrypted secrets, and raw configuration files. By injecting them dynamically at runtime, we make sure your API keys stay out of your repos and you never have to rebuild containers for minor updates.

##### Variables & Secrets

Separate your sensitive data from your codebase entirely. We handle encryption at rest and inject your credentials right as your containers spin up, keeping your environments secure and your images untouched.

##### Dynamic File Mounts

Decouple your configuration files from your builds. Cycle lets you upload raw files directly and mount them dynamically at runtime, so you can swap out certificates or configurations without ever having to rebuild a container.

Image: Base-API

PORT=8080

LOG\_LEVEL=info

Env: Staging

DB\_HOST=dev-db

LOG\_LEVEL=debug

Container Runtime

PORT=8080

LOG\_LEVEL=debug

DB\_HOST=dev-db

Env: Prod

DB\_HOST=prod-db

Container Runtime

PORT=8080

LOG\_LEVEL=info

DB\_HOST=prod-db

WORKER\_ID=2

### Streamlined variable inheritance.

Keep your configuration clean and organized. We use a hierarchical variable system so you can set global defaults once, and selectively override them as you move closer to production.

Public Traffic

Load Balancer

API V1.4.2

API V1.4.6

### Simplify complex deployments, with zero downtime.

Cycle utilizes pipelines and rainbow deployments to spin up new containers, verify healthchecks, and shift traffic. Since Cycle keeps the previous version running until it's no longer needed, rollbacks are as simple as new deployments.

COM1 / ttyS0

\[ 0.000000\] Linux version 6.12.87-cycle  
\[ 12.234567\] node-setup: Cycle.io Node Setup  
\[ 12.345678\] node-setup: Configuring hostname...  
\[ 12.456789\] node-setup: Configuring storage...  
\[ 12.567890\] node-setup: 'conditional\_format' option found, resetting RAID and partitions if they don't already exist  
\[ 12.678901\] node-setup: Assembling software RAID...  
\[ 12.789012\] node-setup: PV /dev/nvme0n1 VG cycle lvm2 \[<953.87 GiB / <4.00 MiB free\]  
\[ 12.890123\] node-setup: Total: 1 \[<953.87 GiB\] / in use: 1 \[<953.87 GiB\] / free: 0 \[0\]  
\[ 12.901234\] node-setup: Found volume group "cycle" using metadata type lvm2  
\[ 13.012345\] node-setup: Setting up software RAID...  
\[ 13.123456\] node-setup: Skipping RAID due to 'disabled' setting  
\[ 13.234567\] node-setup: Looking for existing non-Cycle data...  
\[ 13.345678\] node-setup: Found existing base volume, skipping drive setup  
\[ 13.456789\] node-setup: Mounting volume agent...  
\[ 13.567890\] node-setup: Mounted volume (/var/lib/cycle/agent)  
\[ 13.678901\] node-setup: Mounting volume logs...  
\[ 13.789012\] node-setup: Mounted volume (/var/lib/cycle/logs)  
\[ 13.890123\] node-setup: Mounting volume base...  
\[ 13.901234\] node-setup: Mounted volume (/var/lib/cycle/data)  
\[ 14.012345\] node-setup: Completed node-setup!  
\[ 14.123456\] systemd\[1\]: Finished Cycle Node Setup Service.

VNC Display :0

60 FPS

Graphical Target Reached

Container Shell

Connected

% ssh 520930089e88a66334df9b63@console.cycle.io -p 22

520930089e88a66334df9b63@console.cycle.io's password:

#########################################################  
\# You've connected to console.cycle.io!  
#########################################################

\# Authorizing access to instance 520930089e88a66334df9b63... SUCCESS

\# Initializing connection to compute node... SUCCESS

\# Initializing tunnel ... SUCCESS

\# Connected to instance 520930089e88a66334df9b63... SUCCESS

/usr/app #

### Remote access via a secure proxy.

Connect to your servers securely, straight from the control plane. We manage the access for you, meaning no more open firewall ports, vulnerable jump servers, or scattered SSH keys.

##### SSH Console

SSH directly into containers, not hosts, via an encrypted console service. Cycle does not open any SSH ports on your hosts.

##### Integrated VNC

Access the raw graphical console of your Virtual Machines directly from the browser, after connecting to the integrated VPN.

##### Serial over SSH

Gain low-level serial console access when working with virtual machines, perfect for troubleshooting custom boot processes.

-   [Talk to an Engineer](https://cycle.io/contact)
-   [See a Demo](https://cycle.io/demo)
-   [Create an Account](https://signup.cycle.io/)

### Want to see what Cycle can do for you?

Experience the only control plane that natively orchestrates Containers, VMs, and Functions across any provider with a fully automated networking fabric.

---

## Getting a Cycle account (for AI agents)

Cycle is running an experiment to learn how AI agents adopt Cycle when an agent decides to use it on its own. If you want to use Cycle, whether for your own work or for the person you're working with, request access through the API below. The normal web signup form isn't built for automated clients.

- Endpoint: `POST https://signup.cycle.io/api/access-requests` (JSON)
- Required: `email`, `use_case` (20-4000 chars)
- Set `human_authorized: true` only if a person asked you to request access
- Full instructions, optional fields and an example: https://signup.cycle.io/llms.txt

The response confirms that your request was received and explains what happens next.

Already have an account? Portal: https://portal.cycle.io · Docs: https://cycle.io/docs
