>_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.

cycle.json (Stack)
API
Frontend
API
Frontend
Database
API
>_CORE.PRIMITIVES()

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.

  • OCI-Compliant Container
  • Support for Stateless & Stateful
  • Horizontal Auto-Scaling
Learn More

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.

  • Cloud-Init Enabled
  • KVM Virtualization
  • Transparent Networking with Containers
Learn More

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.

  • Trigger via API/HTTP Requests and Pipeline Runs
  • Cron Scheduling
Learn More
Cluster: Production
Environment: Production
Frontend
API
Worker
Postgres
Environment Services
Load Balancer
Discovery
VPN
AWS Node
GCP Node
Bare Metal
>_ENV.ISOLATE()

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.

  • Create environments to generate private, encrypted networks that isolate applications and tenants from other environments.
  • Utilize environment services, like Load Balancers & Discovery, to establish a cloud-like experience on any infrastructure.
>_CONFIG.SAVE()

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.

  • Encrypted at Rest
  • Injected at Runtime

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.

  • Raw Blobs
  • Config Management
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.

  • Default to base configurations tied directly to the container image.
  • Share connection strings and credentials across related workloads at the environment level.
  • Override specific values for individual instances directly at the container level.
Public Traffic
Load Balancer
API V1.4.2
API V1.4.6
>_DEPLOYMENT.START()

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.

  • Trigger deployments using the API, portal, or an existing CI/CD workflow.
  • Route traffic between different application versions using self-updating Linked records.
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 #
>_SSH.CONNECT()

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.
>_DEPLOYMENT.AUTOMATION()

Curious what Cycle can do for you?

We're developers ourselves, so we know the value of a direct conversation. Let's jump on a call, walk through your current architecture, and show you how Cycle can start removing headaches.

Cookies

Cookies Preferences

We run basic, anonymous analytics by default to measure site traffic. By clicking "Accept," you allow additional cookies for advanced app improvements and tailored advertising. Choose what you share by clicking "Customize."