Skip to content
Migration

Coming from Azure

Evaluation · Updated Jun 2026

Coming from another cloud?

▸Azure·Virtual Machines, Blob Storage, Virtual Network (VNet), NSG, Load Balancer, AKS Cluster, Managed Disk

Virtual Machineshigh

  • Uses Azure Resource Manager (ARM) REST API at /providers/Microsoft.Compute/virtualMachines instead of OpenStack Nova API at /v2.1/servers.
  • Tightly integrated with Azure services like Azure Active Directory for authentication, unlike OpenStack's Keystone.
  • VM creation requires specifying size from predefined series with hardware-specific features (e.g., AMD/Intel/ARM), not custom flavor configs.
  • Billed per second with complex pricing tiers based on series/reservation options, vs OpenStack's typically hourly or usage-based.
Azure docs ↗

Virtual Network (VNet)high

  • Azure VNets are strictly regional Layer 3 overlays scoped to one subscription with no L2 VLAN support ().
  • VNets and subnets creation free, but subnets min /29 with Azure reserving 5 IPs per subnet ().
  • Managed via ARM REST APIs/PowerShell/CLI vs Neutron REST API.
  • Isolated per subscription; peering for cross-VNet connectivity vs OpenStack project networks connected via routers.
Azure docs ↗

Azure Load Balancerhigh

  • Pure L4 (TCP/UDP) pass-through; no L7 features (use App Gateway) ().
  • SKUs: Standard w/ zones/HA, health probes, outbound SNAT rules; Basic free but retiring 2025.
  • Azure provides a regional managed service integrated with VNets. Quake AI workloads use a self-managed reverse proxy or Kubernetes LoadBalancer Service.
  • API via ARM; frontend configs w/ multiple IPs/ports.
Azure docs ↗

AKS Clusterhigh

  • Azure automatically provisions and manages the control plane at no additional cost (Free tier) or fixed fee (Standard tier with SLA), offloading health monitoring and upgrades; on Quake AI you provision a cluster through Magnum (openstack coe cluster create) or self-managed Kubernetes on Nova instances (OpenTofu plus kubeadm, k3s, or RKE2), and you operate the cluster after creation.
  • No OpenStack integration; uses Azure Resource Manager for cluster lifecycle.
  • Pre-configured with Azure-specific defaults and add-ons like application routing.
  • Managed via Azure Virtual Machine Scale Sets (VMSS) with auto-scaling and upgrades; Quake AI uses Nova instances provisioned via OpenTofu with user-managed scaling and upgrades.
Azure docs ↗

Coming from Azure

If you have been using Microsoft Azure, here is how Quake AI maps to what you run today. Quake AI maps compute, storage, networking, and identity to OpenStack-backed services with fixed monthly pricing on infrastructure. Quake AI runs on OpenStack: the services below expose standard OpenStack APIs with upstream documentation. Managed services and the enterprise identity model are where the platforms diverge most.

Quick reference#

AzureQuake AIOpenStack projectKey difference
Virtual MachineInstanceNovaVM series (B, D, E, F) vs flavors; pay-as-you-go with reservations vs fixed monthly
Blob StorageContainerSwiftBlob containers map to Swift containers; Hot/Cool/Cold/Archive/Smart tiers → single tier; no tier management, no rehydration delays
Virtual Network (VNet)NetworkNeutronVNet subnets are similar; Azure uses NSGs at subnet or NIC level
Network Security Group (NSG)Security GroupNeutronNSG binds to subnet or NIC; Neutron security groups bind to port
Azure Load Balancer / Application GatewaySelf-managed edge proxy or API gatewayNova + NeutronRun Caddy, SafeLine, or APISIX on a VM with a floating IP; use an external CDN for global edge delivery
AKSKubernetes ClusterMagnumManaged control plane both; AKS has node auto-scaling and node auto-provisioning (NAP), Magnum workers are self-managed
Managed DiskVolumeCinderSame attach model; Premium/Standard SSD → single NVMe tier
Microsoft Entra ID (formerly Azure AD)Application CredentialKeystoneEntra ID is org-wide with RBAC/ABAC and conditional access; Keystone is project-scoped with 3 roles
Public IP AddressFloating IPNeutronSame concept; allocate and associate
Subscription / Resource GroupProjectKeystoneSubscription → Project; no Resource Group equivalent (flat namespace within project)

Compute: Azure virtual machines → instances#

What maps directly: You still pick an image, a VM size, SSH keys (or password), and disks. Instances are backed by OpenStack Nova.

What is different: Azure publishes VM series (B-series burstable, D-series general purpose, E-series memory-optimized, and many more) with pay-as-you-go, reserved instances, and spot pricing. Quake AI exposes flavors (for example, m2a.large for 2 vCPU and 8 GiB RAM on a general-purpose shape) with fixed monthly pricing. No spot market, burstable credit system, or reserved instance contracts exist. Each flavor lists a single monthly price. See Flavors for the full catalog.

bash
openstack server create \
  --flavor m2a.large \
  --image "Ubuntu 24.04" \
  --network PublicEphemeral \
  --key-name "MY_SSH_KEY_NAME" \
  "MY_INSTANCE_NAME"

For the full workflow, see Create an instance. For workload migration steps, see Migrate from Azure VMs.

Object storage: Azure blob storage → containers (Swift, s3-compatible)#

What maps directly: You store objects in containers, use blob names as keys, and interact with an API. Object storage is backed by OpenStack Swift.

What is different: Azure Blob Storage uses access tiers (Hot, Cool, Cold, Archive, and Smart) with billing and retrieval characteristics that vary by tier. Only the Archive tier is offline and requires rehydration (up to 15 hours) before objects can be read; Hot, Cool, and Cold are online tiers with immediate retrieval. Quake AI exposes a single storage tier with an S3-compatible endpoint. No tier management, no rehydration delays.

Terminology note: Both Azure and Quake AI use the word "container" for storage groupings. Azure containers are the Blob Storage grouping unit. Quake AI containers are the Swift/S3 bucket equivalent. The concept is the same.

See Object storage and Migrate from Azure Blob Storage for compatibility detail and cutover steps.

Networking: Azure virtual networks → Neutron networks#

What maps directly: You define virtual networks with subnets, attach VMs, and control traffic with security rules. The Network service is OpenStack Neutron.

What is different: Azure VNets use address spaces with subnets, route tables, and optional VNet peering. NSGs can bind to subnets or individual NICs. On Quake AI, you create a network, attach a subnet, and connect it to a router. Security groups bind to ports (per-instance). No route tables need managing for basic internet access; routers attach directly to the external network.

See Networks for the topology. For network migration steps, see Migrate from Azure VNet.

Security: Azure network security groups → Neutron security groups#

What maps directly: You express allow/deny rules by protocol, port, source, and destination. Both platforms default to deny-inbound.

What is different: Azure NSGs support both allow and deny rules with explicit priority ordering, and can bind to an entire subnet or a single NIC. Neutron security groups are allow-only (deny is implicit), have no priority ordering, and bind per port. If you relied on Azure deny rules or subnet-level NSGs, rethink the security model for per-instance allow-only groups.

Follow Create a security group.

Block storage: Azure managed disks → Cinder volumes#

What maps directly: You create a disk, attach it to one VM, format, mount, snapshot, and detach. Block storage is OpenStack Cinder.

What is different: Azure offers Premium SSD, Standard SSD, Standard HDD, and Ultra Disk with provisioned IOPS. Quake AI exposes Cinder volumes backed by NVMe with no separate IOPS tiers.

See Create a volume.

Kubernetes: from AKS to Magnum#

What maps directly: You get a Kubernetes API, worker nodes, and cluster-scoped resources. Clusters are provisioned through OpenStack Magnum.

What is different: AKS manages node pools, offers cluster auto-scaler, KEDA-based scaling, and Azure-specific integrations (Entra ID for RBAC, Azure CNI, Azure Disk CSI). AKS node auto-provisioning (NAP, GA 2025) dynamically creates node pools based on pod resource requests; Magnum has no equivalent. Magnum gives you a managed control plane from a cluster template, but worker nodes are Nova instances you size, patch, and scale. Built-in node auto-scaling in the same shape as AKS is not available.

Cluster operations and templates are covered in Kubernetes. For cluster migration steps, see Migrate from AKS.

Automation: from ARM templates and Bicep to OpenTofu#

What maps directly: You still declare infrastructure as code and deploy it as atomic units.

What is different: Azure uses ARM templates (JSON) or Bicep (DSL that compiles to ARM) with the Azure Resource Manager. On Quake AI, OpenTofu (or Terraform) with the openstack provider is the usual path for new projects. Heat stacks are also available for OpenStack-native templates. ARM and Bicep do not translate to OpenTofu; you rewrite resources using the openstack provider types.

Get started with Infrastructure as Code with OpenTofu.

Identity: from Entra ID to application credentials#

What maps directly: You still authenticate users, rotate credentials, and scope access to resources.

What is different: Microsoft Entra ID (formerly Azure Active Directory) is an organization-wide directory with RBAC, ABAC, conditional access policies, service principals, and managed identities. Quake AI uses project-scoped application credentials with three roles: admin, member, and reader. No directory service, conditional access, or managed identity equivalent exists. You isolate workloads by creating separate projects instead of writing detailed role assignments.

Generate credentials in the Console: Generate application credentials.

Self-managed services and deployment patterns#

Quake AI provides infrastructure primitives: compute, networking, storage, Kubernetes, and automation. Application-level managed services are not part of the platform. You compose your own stack from these primitives, using the same open-source tools you already know.

Azure serviceStatus on Quake AIAlternative
Azure FunctionsNot availableContainers on VMs or Kubernetes
Azure SQL / Cosmos DBNot availableSelf-managed databases on VMs
Azure Service BusNot availableSelf-managed RabbitMQ, Redis, or NATS
Azure App ServiceNot availableDeploy on VMs with Docker or Kubernetes
Azure Managed Redis (formerly Azure Cache for Redis)Not availableSelf-managed Redis on a VM
Azure DNSNot availableExternal DNS provider (Cloudflare or similar)
Azure CDN / Front DoorNot availableCloudflare or self-managed caching
Azure DevOps / PipelinesNot availableSelf-hosted CI/CD (GitHub Actions, GitLab, Jenkins)

Platform differences#

  • Outbound transfer: Azure bills for per-GB data egress with rates that vary by region and volume tier (see the Azure bandwidth pricing page). Quake AI includes outbound transfer in plan pricing, so there is no separate egress line item to model.
  • Fixed monthly pricing: Compute is billed per flavor per month rather than pay-as-you-go, reserved instance, or spot models. Core networking objects such as networks, routers, floating IPs, and security groups are included in plan pricing instead of metered as separate hourly line items.
  • Flat authorization: Three project-scoped roles (admin, member, reader) replace Entra ID's layered RBAC/ABAC hierarchy. This is less granular than Entra ID; you compensate with project-level isolation.
  • Flat resource namespace: Resources live in a project without Resource Group nesting. No Resource Group naming conventions, lifecycle policies, or tagging strategies are required for isolation.
  • OpenStack portability: Public APIs use standard OpenStack projects including Nova, Neutron, Cinder, Swift, Magnum, and Keystone. The same toolchains transfer to other OpenStack clouds.

Next steps#

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.

Last validated: 22.06.2026

Was this page helpful?