Skip to content
Migration

Migrating from Linode (Akamai Cloud Computing) to Quake AI

Migration

Coming from another cloud?

▸Linode·s (Compute Instances), Block Storage Volumes, Object Storage (S3 API), VPC, Cloud Firewalls, NodeBalancers, Kubernetes Engine (LKE) Cluster

Linodes (Compute Instances)high

  • Provisioned via the Linode API v4 (/v4/linode/instances) instead of OpenStack Nova /v2.1/servers; auth is a Personal Access Token rather than a Keystone token.
  • Plan selection is fixed (Shared, Dedicated, High Memory, Premium, GPU, Accelerated) with predefined vCPU/RAM/storage; OpenStack flavors can be cloud-defined.
  • Billing is hourly with a monthly cap per plan; powered-off Linodes continue to bill until deleted, unlike pause/suspend semantics common in OpenStack stop-billing setups.
  • Distribution images and StackScripts are first-class; OpenStack uses Glance images and arbitrary userdata.
Linode docs ↗

Block Storage Volumeshigh

  • Managed via /v4/volumes on the Linode API; OpenStack uses Cinder /v3/{project_id}/volumes.
  • Volumes are region-scoped and cannot move between data centers without detach + recreate; OpenStack Cinder volumes are likewise AZ-scoped but the explicit no-cross-region migration is documented at Akamai.
  • Size increases only (no shrink); same restriction exists on OpenStack but Linode enforces it as a hard API rule.
  • Throughput and IOPS limits are plan-implicit and not separately tunable per volume.
Linode docs ↗

VPChigh

  • VPCs are region-scoped and isolate Linodes from the public internet and from other customers; OpenStack networks are project-scoped Neutron networks.
  • A VPC contains one or more subnets, each with a CIDR block defined at create time; routing between subnets is implicit within the VPC.
  • Linodes attach to a VPC by configuration interface rather than via Neutron ports; trunking is not the same model.
  • VLANs and VPCs are distinct products; OpenStack collapses these into Neutron network types (vlan, vxlan, geneve).
Linode docs ↗

Cloud Firewallshigh

  • Cloud Firewalls are a managed stateful firewall service attached to Linodes and NodeBalancers; OpenStack uses Neutron security groups per port.
  • Rules are evaluated as inbound and outbound policy sets per firewall, not as additive security group memberships.
  • Default policy can be set to ACCEPT or DROP per direction at the firewall level; OpenStack security groups default-deny inbound.
  • Cloud Firewalls are free; OpenStack security groups are also free but have different rule semantics (port + protocol + remote group).
Linode docs ↗

NodeBalancershigh

  • NodeBalancers are a managed L4/L7 load balancer product. Quake AI workloads use a self-managed reverse proxy or Kubernetes LoadBalancer Service.
  • A NodeBalancer contains one or more port and protocol configurations plus backend nodes. Self-managed Quake AI edges define listeners and upstreams in proxy or ingress configuration.
  • NodeBalancers configure TLS termination with an inline certificate and key. Quake AI users manage TLS on the self-managed edge.
  • Linode prices NodeBalancers separately. Size the compute used by a self-managed Quake AI edge instead.
Linode docs ↗

Object Storage (S3 API)high

  • Linode Object Storage is S3-compatible by design; the S3 API is the primary programmatic surface, not Swift.
  • Access keys are managed in Cloud Manager and scoped per-bucket; OpenStack Swift uses tempauth or Keystone tokens.
  • Bucket regions are explicit and presented as endpoint hostnames per cluster.
Linode docs ↗

Linode Kubernetes Engine (LKE) Clusterhigh

  • LKE provides a fully managed control plane (free Standard tier or paid Enterprise tier with HA and SLA); on Quake AI you provision the cluster through Magnum or self-managed Kubernetes on Nova instances (OpenTofu plus kubeadm, k3s, or RKE2) and operate it yourself.
  • LKE clusters are created and managed through the Linode API or Cloud Manager with a single cluster object. Quake AI offers Magnum as a managed-cluster API, or you can compose a cluster from compute instances, a private network, a CNI, and a self-managed control-plane endpoint.
  • LKE ships an integrated linode-cloud-controller-manager and linode-blockstorage CSI driver out of the box; on Quake AI you install openstack-cloud-controller-manager and the Cinder CSI driver yourself.
  • LKE node pools auto-recycle when you upgrade the Kubernetes version; Quake AI node lifecycle is managed by you (OpenTofu replace, manual drain, or cluster API operator).
Linode docs ↗

Migrating from Linode (Akamai Cloud Computing) to Quake AI

This guide walks you through moving workloads from Linode (now branded Akamai Cloud Computing) to Quake AI, service by service. The two platforms share a self-managed ethos, so most migrations are a translation of API calls and a remap of resource names. Networking and Kubernetes are the largest shifts.

If you have not reviewed the concept differences yet, start with Coming from Linode for the full mapping table.

Before you migrate#

  • Read the concept-translation guide for how Linode services map to Quake AI.
  • Inventory your Linode resources end to end: Linodes (Compute Instances), Block Storage Volumes, Object Storage buckets, VPCs (and VLANs), Cloud Firewalls, NodeBalancers, reserved IPs, and LKE clusters.
  • Identify managed-service dependencies that need self-managed alternatives on Quake AI: Linode Managed Databases (PostgreSQL, MySQL), Linode Backups (per-instance managed snapshots), and LKE itself. Each of these maps to a self-managed pattern on Nova instances.
  • Decide your sequencing: object storage first (cheapest to move and easiest to validate), then networking, then compute, then Kubernetes.

Migration phases#

1. Evaluate and plan#

Inventory the seven Linode primitives. For each one, note the region, plan or volume size, attached resources, and any managed-service dependencies. Linode's release notes are useful for confirming the current feature set on the source side; do not migrate on stale assumptions.

The two biggest decisions to make upfront:

  • VPC topology. Linode VPC collapses subnets and routing behind a single API object. On Quake AI you choose between PublicEphemeral (DHCP-assigned public IP, no router) and PublicStatic (private network + Neutron router + Floating IP). Production migrations should target PublicStatic; see migrate from Linode VPC.
  • LKE strategy. Quake AI provisions Kubernetes through Magnum from a curated cluster template; pick that path for the closest LKE-like experience. For teams that need a custom CNI, custom kubelet flags, custom CRI, or a Kubernetes version outside the template catalog, self-managed RKE2 or k3s on Nova is documented as an alternative. See migrate from LKE for both paths.

2. Account setup#

Create your Quake AI project, generate application credentials, and install the OpenStack CLI.

Keep the Linode API reference and the Linode CLI handy on the source side; you will use them to enumerate the resources you migrate.

3. Object storage#

Linode Object Storage is S3-compatible. The transfer is an endpoint swap and an rclone sync from Linode to Quake AI Object Storage (Swift with the S3 gateway).

Plan for these differences:

  • Endpoint format. Linode uses <region>.linodeobjects.com; Quake AI exposes the Swift endpoint listed in your project credentials.
  • Lifecycle and bucket policies. The Swift backend does not implement every S3 lifecycle and policy feature. Confirm against the S3 feature compatibility matrix before you cut over.
  • Egress. Quake AI has no egress fee; budget Linode's transfer pool for the one-time sync only.

Full procedure: Migrate from Linode Object Storage.

4. Networking (VPC and Cloud Firewalls)#

Translate the Linode VPC to explicit Neutron objects (network, subnet, router) and the Cloud Firewall to Neutron security groups attached to instance ports. Reserved IPs map to Floating IPs on PublicStatic. Full procedure: Migrate from Linode VPC.

5. Compute (Linodes → Nova instances)#

The recommended path is rebuild and rsync: provision a Quake AI flavor that matches your Linode plan, install your application stack with your existing configuration management, and transfer data with rsync. Linode image export is limited; Akamai does not publish a generic raw-disk export path that imports cleanly into Glance, and disk-image compatibility (cloud-init datasource, kernel choice, drivers) is often imperfect even when an image is available.

Full procedure: Migrate from Linode (compute).

6. Load balancing (NodeBalancers to a self-managed edge)#

Translate each NodeBalancer into routes, backend lists, and health checks on an edge reverse proxy, edge WAF, or API gateway. Provision a floating IP for the edge VM. Choose an external service or software appliance for UDP and other protocol-specific requirements.

7. Block storage (Linode Volumes → Cinder volumes)#

Provision a Cinder volume that matches the source size, attach it to the new instance, partition and mount, then rsync the data over SSH. Cinder volumes are NVMe-backed (StorageClass cinder-flash on Kubernetes).

8. Kubernetes (LKE to Magnum, or self-managed on Nova)#

Provision your target cluster on Quake AI. The primary path is Magnum: openstack coe cluster create builds the control plane, workers, security groups, and load-balanced API endpoint from a curated template. Self-managed RKE2 or k3s on Nova is the alternative when you need a custom CNI, kubelet flags, CRI, or a Kubernetes version outside the template catalog; that path uses the openstack-cloud-controller-manager and the Cinder CSI driver. Restore workloads via Helm charts or kubectl apply; for stateful data, use velero (with the Restic plugin) or migrate the underlying PersistentVolumes with rsync from a debug pod.

Full procedure: Migrate from LKE.

9. Infrastructure as code (Linode provider → openstack provider)#

If you use OpenTofu or Terraform with the linode provider, the migration is a provider swap (linode/linode -> terraform-provider-openstack/openstack) and a resource rename. Full procedure: Migrate from Linode automation.

10. Validate and cut over#

  • Verify each application responds correctly on the Quake AI side.
  • Point DNS at the new Floating IPs (or behind your edge / CDN of choice).
  • Confirm monitoring, alerting, and backups are in place on the Quake AI side before decommissioning Linode resources.

See also#

Usage Guidelines

The sample code, software libraries, command line tools, proofs of concept, templates, and other related technology on this page (including any of the foregoing that is provided by Quake AI personnel) is provided to you as Quake AI Content under the Quake AI Customer Agreement, or the relevant written agreement between you and Quake AI (whichever applies). Do not use this Quake AI Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the Quake AI Content (such as sample code) as appropriate for production grade use based on your specific quality control practices and standards. Deploying Quake AI Content may incur Quake AI charges for creating or using Quake AI chargeable resources, such as running Compute instances or storing data in Object Storage. Your use is also subject to the Acceptable Use Policy.

Comparisons to third-party providers in this material reflect publicly documented behavior as of the validation date below. Pricing, quotas, service limits, and feature availability change frequently on every cloud. Verify provider-specific claims against the provider's own current documentation before relying on them for a procurement, architecture, or migration decision.

For the full policy, see Usage Guidelines.

Was this page helpful?