VxCloud
VxCloud
Multi-Cloud Provisioning

Five clouds.
One command.

Provision VMs, managed databases, networks, Kubernetes clusters, and serverless functions across AWS, GCP, Azure, Alibaba, and Linode — from one CLI, three SDKs, or a Terraform module. No translation layer. No vendor lock-in.

The silent tax on every modern engineering team: lock-in

Pick one cloud and you accept its pricing, its outages, its compliance footprint, and its acquisition risk. Pick three and you accept three teams' worth of glue code. There is no good answer at the platform level — only at the tooling level.

Multi-cloud is no longer aspirational. Regulated industries need Alibaba for China and AWS for the US. AI workloads need GPUs wherever they are cheapest this quarter. Acquired companies always come with the wrong cloud. The question is not whether your infrastructure will span clouds — it is whether you have the tooling to do it without doubling your SRE team.

The traditional answer is "use Terraform." Terraform is great at describing what you want; it is not great at the day-to-day imperative motions (provision a VM, SSH in, deploy an app, rotate a key) that fill most of an engineer's week. Cloud consoles solve the imperative side but lock you to one provider. vxcloud is the platform layer that gives you both — declarative IaC when you want it, an imperative CLI when you do not — and applies them uniformly across five clouds.

One wire contract, five clouds

Every supported cloud sits behind the same HTTP surface. The CLI, the SDKs, and the Terraform provider all speak it. You learn the surface once.

Virtual machines

EC2, GCE, Azure VM, ECS, and Linode Compute. One `provision` call, one returned object shape, the same SSH keypair flow on all five.

Managed databases

RDS, Aurora, Cloud SQL, Azure Database, ElastiCache, MemoryStore. Postgres, MySQL, Redis — one set of inputs (engine, size, region, network).

Networks and VPCs

CIDR-block-first provisioning. Subnets, route tables, internet gateways, and security groups translated per-cloud automatically.

Kubernetes

EKS, GKE, AKS. Define cluster name, node count, node type, region. The platform handles control-plane bootstrapping and kubeconfig delivery.

Serverless functions

Lambda, Cloud Functions, Cloud Run, Azure Functions. Same code-zip + handler + runtime input, mapped to each provider's API.

IAM, keypairs, storage

S3, GCS, Azure Blob, OSS. IAM policy + role + keypair provisioning that lands in workspace Vault for downstream deploys.

The same snippet in three languages

Choose the interface that fits the moment. CLI for one-offs. SDK for application code. Terraform for committed state.

vxclibash
# Provision a t3.small on AWS — same flag set works for --cloud=gcp/azure/alibaba/linode
vxcli vm create \
  --name api-vm \
  --cloud aws \
  --region us-east-1 \
  --instance-type t3.small \
  --key-pair-name AWSPRODKEY2

# Switch providers — only --cloud and --region change
vxcli vm create \
  --name api-vm-dr \
  --cloud gcp \
  --region us-central1 \
  --instance-type e2-small \
  --key-pair-name GCPPRODKEY1
Python — vxsdkpython
import vxsdk
c = vxsdk.Client.load_from_vxcli()

# Symmetric API: c.cloud.vm.provision(...) works for any --cloud value
vm = c.cloud.vm.provision(
    name="api-vm", cloud="aws", region="us-east-1",
    instance_type="t3.small", key_pair_name="AWSPRODKEY2",
)

# Provision a Kubernetes cluster on GCP
cluster = c.cloud.create_kubernetes_cluster(
    "prod", cloud="gcp", region="us-central1",
    node_count=3, node_type="e2-standard-4",
)
TypeScript — @vxcloud/sdkts
import { VxCloud } from '@vxcloud/sdk';

const c = await VxCloud.loadFromVxcli();

const vm = await c.cloud.vm.provision({
  name: 'api-vm',
  cloud: 'aws', region: 'us-east-1',
  instanceType: 't3.small',
  keyPairName: 'AWSPRODKEY2',
});

// Lifecycle: start | stop | restart | reboot — same shape on any cloud
await c.cloud.vm.action({ instanceId: vm.instance_id as string, action: 'restart', cloud: 'aws' });
Terraformhcl
terraform {
  required_providers {
    vxcloud = { source = "vxcloud/vxcloud" }
  }
}

# Same resource type, different provider alias per cloud
provider "vxcloud" { alias = "aws"     }
provider "vxcloud" { alias = "gcp"     }
provider "vxcloud" { alias = "linode"  }

resource "vxcloud_vm" "api" {
  provider      = vxcloud.aws
  name          = "api-vm"
  instance_type = "t3.small"
  region        = "us-east-1"
  key_pair_name = "AWSPRODKEY2"
}

resource "vxcloud_vm" "edge" {
  provider      = vxcloud.linode
  name          = "edge-vm"
  instance_type = "g6-standard-1"
  region        = "ap-south"
  key_pair_name = "LINODEPRODKEY1"
}

When multi-cloud provisioning earns its keep

  • Disaster recovery: primary in AWS us-east-1, warm DR in GCP us-central1, monthly failover drill via one Terraform target.
  • Regional data residency: deploy the EU half on Linode Frankfurt, the China half on Alibaba Hangzhou, share Terraform modules, ship from one repo.
  • AI/GPU arbitrage: spin a fine-tune job wherever H100 spot capacity is cheapest this hour — no permanent provider lock-in.
  • Mergers and acquisitions: the acquired stack runs on Azure, yours runs on AWS — manage both behind one workspace until consolidation.
  • Compliance segmentation: PCI workloads in their own GCP project, marketing site on Linode, everything else on AWS — central audit log across all three.
  • Cost optimization: move stateless workers to the cloud with the best per-vCPU price this quarter without rewriting deployment scripts.

vxcloud vs Terraform Cloud vs Pulumi vs Spacelift

vxcloud is the only option in this matrix that also handles app deployment over SSH and ships with an AI-agent layer on top. The IaC tools assume a deployment story exists somewhere else.

FeaturevxcloudTerraform CloudPulumiSpacelift
Multi-cloud provisioning (AWS/GCP/Azure/Alibaba/Linode)Yes — 5 cloudsYes (via providers)Yes (via providers)Yes (via Terraform)
Imperative CLI for one-off provisioningYes — `vxcli`NoPartial — `pulumi up`No
Three first-class SDKs (Py / TS / Go)YesNoYes (multi-language IaC)No
App deploy over SSH (no extra tooling)Yes — 14 stacksNoNoNo
Free SSL via Let's Encrypt, automatedYes — built-inNoNoNo
AI agents for cloud opsYes — VxAI + AgentControlNoNoNo
Managed Vault for credentialsYes — per-workspaceVariables onlyESC (separate product)Yes

Multi-cloud provisioning FAQ

Start provisioning across five clouds today

Free tier includes one VM, one managed Postgres, and 100 GB egress per cloud. No credit card to start.

Related pages