When Zilliz Cloud or self-hosted Milvus fits your team
Choose Zilliz Cloud when your team wants a managed Milvus service and can accept that the vendor operates the cluster; choose self-hosted Milvus Distributed when regulation or contract terms require the cluster, its metadata and its vectors to stay in infrastructure you control. Both options run the same Apache-2.0 codebase under the LF AI and Data Foundation, with Zilliz as its primary contributor, so the decision rests on who runs the system, where data sits and how much control you need, not on which features exist. Zilliz's documentation describes Free, Serverless, Dedicated and Bring Your Own Cloud options, and the Bring Your Own Cloud model is the one to examine first if you need a managed control plane but your data must stay in your own cloud account.
Self-hosted Milvus Distributed fits when your platform team already runs Kubernetes and can own the dependencies that the Milvus architecture requires: etcd for metadata, object storage such as MinIO, S3 or Azure Blob, and a write-ahead log such as Woodpecker, Kafka or Pulsar. The advantage is full control over network paths, backups, upgrades and encryption keys, but that control is paid for in on-call work and in staff time that recurs for as long as the cluster runs. Choose it when that staffing exists and the data-location rules are strict enough that a managed service is not an option.
Choose Zilliz Cloud when the team is small, the data-location rules allow a vendor-run service, and the main goal is to get vector search into production without building an operations practice. Before you sign, confirm in writing which regions, network paths, encryption and access controls apply to your tier, where backups are stored, how a deployment is exited, and who can see metadata. Ask your compliance lead to map those answers to your data classification policy, because a Free or Serverless tier may not meet the same requirements as a Dedicated or Bring Your Own Cloud deployment.
Zilliz Cloud vs self-hosted Milvus side by side
This table compares who operates Milvus, where data lives, what each option depends on, and how it is licensed and billed. Read it to see which questions a managed Zilliz Cloud plan answers for you and which ones still need confirmation with Zilliz before you rely on it.
| Row | Zilliz Cloud (managed Milvus) | Self-hosted Milvus |
|---|---|---|
| License | Zilliz Cloud is a commercial managed service; confirm service terms with Zilliz. Milvus itself is open source. | Milvus is Apache-2.0 licensed, under the LF AI and Data Foundation with Zilliz as its primary contributor. |
| Who operates the service | Zilliz operates the managed Milvus service, per Zilliz documentation. Confirm which operational tasks Zilliz owns on each tier. | Your team installs, upgrades, backs up and monitors every component in your own environment. |
| Release lines | Confirm with Zilliz which Milvus version and release line each cluster runs and how upgrades are scheduled. | Two lines are maintained: v3.0.3 (October 14, 2026) and v2.6.25 (September 29, 2026), per the Milvus releases page. |
| Deployment options | Free tier with no credit card, Serverless, Dedicated, and Bring Your Own Cloud. | Milvus Lite (Python library), Standalone on one machine, or Distributed as a Kubernetes-native cluster. |
| Data location | Dedicated and Bring Your Own Cloud options vary where data sits; confirm regions and whether data stays in your cloud account with Zilliz. | Data stays wherever you deploy it, including air-gapped or on-premises networks you control. |
| Dependencies you run | Little or none on Serverless or Dedicated, per Zilliz documentation; confirm what Bring Your Own Cloud adds to your account. | Distributed mode needs etcd for metadata, object storage (MinIO, S3 or Azure Blob) and a write-ahead log such as Woodpecker, Kafka or Pulsar. |
| Access control and authentication | Confirm which authentication, TLS and role controls each tier exposes and how they map to your identity provider. | Milvus implements authentication, TLS encryption and role-based access control, which you configure and maintain. |
| Index and search options | Confirm which index types, BM25 and hybrid search features are enabled on each tier. | HNSW, IVF, FLAT, SCANN and DiskANN indexes, GPU indexing with CAGRA, BM25, sparse and hybrid search. |
| Licensing and billing model | Free tier, Serverless billed by usage and scaling to zero, and Dedicated resources; ask Zilliz for current rates and any SLA. | No license fee for Milvus; you pay for infrastructure, staff time and support you choose to buy. |
Where vector data lives and what proof you can show an auditor
Both options put Milvus vectors, metadata and object storage somewhere specific, and that location decides which controls and evidence you own. The cards below separate what Zilliz Cloud handles from what your team must still produce, and what to request from the vendor in writing before you rely on either option.
Data location in Zilliz Cloud
Under Zilliz Cloud, the vectors, collection metadata and index files sit in infrastructure that Zilliz operates, and the region and deployment option you pick determine where that is. Ask Zilliz in writing which regions each option supports, where backups are stored, whether any data leaves that region for support or telemetry, and how deletion works when you end a cluster. Do not assume residency from the product name.
Bring-your-own-cloud boundary
Bring Your Own Cloud runs the managed service in an account you own, so the storage buckets and compute sit in your cloud boundary while Zilliz operates the control plane. Map exactly which components run in your account, which need outbound access to Zilliz, and who holds the keys to the buckets. Confirm the split with Zilliz in writing before you describe it to an assessor, because the boundary differs from fully self-hosted Milvus.
Authentication, TLS and role-based access
Self-hosted Milvus implements authentication, TLS encryption and role-based access control, so you configure these settings yourself and can show their state in your own environment. For Zilliz Cloud, ask which of these controls you can configure, which are fixed by the service, and how roles map to your identity provider. Record the answer for each control, since the auditor will ask who can read or write a collection.
Audit evidence you produce yourself
For self-hosted Milvus, your team generates the evidence: access configuration exports, TLS certificate inventories, role assignments, change records and backup test results. DeployOpen can prepare these controls and collect evidence, but it does not issue audit reports, attestations or certifications, and independent auditors make that determination. Decide early which evidence you will export on a schedule and where it is stored, because it is hard to reconstruct later.
Shared responsibility for patching and backups
With Zilliz Cloud, the vendor typically carries part of the patching and availability work, while with self-hosted Milvus your team carries all of it, including the etcd, object storage and message queue layers. Put the split in writing: who applies Milvus security fixes and on what timeline, who tests restores, and who owns the backup retention settings. Ask Zilliz for its documented responsibility matrix rather than inferring one from marketing pages.
Vendor compliance documents to request
Before you rely on Zilliz Cloud for a regulated workload, request its current independent reports, certifications, data processing terms, subprocessor list and incident response commitments directly from Zilliz, in writing. Confirm that each document covers the specific Zilliz Cloud option you plan to buy, including Serverless or bring-your-own-cloud, and its date and scope. Self-hosted Milvus does not come with these vendor documents, so your own evidence set replaces them.
Which Zilliz Cloud option matches your workload
The Free tier in Zilliz Cloud suits early evaluation: a team testing index choices, embedding models or a retrieval prototype before committing budget. Zilliz's documentation lists it with no credit card required, which lowers the barrier to a first test. It is a managed service, so the vector data is held in Zilliz's infrastructure rather than yours, and it is not the place to put regulated data that must stay in your own environment.
- Who runs it: Zilliz operates the cluster, so you do not manage etcd, object storage or Kubernetes.
- Where data sits: Vectors and metadata are stored in Zilliz-hosted infrastructure, so confirm the region and provider before loading any real records.
- What to test: Index types, filtering and hybrid search against a representative sample, not production volume.
- What changes later: Moving from a free cluster to a paid tier or to self-hosted Milvus means reloading data, so keep your embedding pipeline and schema in code.
Before you rely on this tier, confirm the current collection, storage and throughput limits in the Zilliz Cloud documentation, and check whether the features you need are included at this level.
Serverless clusters suit variable traffic, such as a retrieval service with bursts of queries, a seasonal workload or a team that wants usage-based billing and no capacity planning. Zilliz documents them as billed by usage and able to scale to zero, so idle periods carry little or no compute charge. The trade-off is that you accept Zilliz's scaling behavior and service boundaries rather than tuning node sizes yourself.
- Who runs it: Zilliz manages scaling, upgrades and the underlying services.
- Cost pattern: Charges follow usage, so the bill rises with query and storage volume. Ask how usage is metered and what drives it.
- Data location: Data is held in Zilliz-managed storage, so confirm the regions offered and whether they match your residency requirements.
- Feature parity: Confirm which Milvus features, index types and access controls are available on Serverless before you design around them.
Before committing, ask Zilliz for written details on regions, latency expectations, scaling limits and the support terms that apply to this tier.
Dedicated clusters suit steady production load, where you want reserved resources and predictable performance for a known collection size and query pattern. The compute is allocated to your cluster rather than shared on demand, which helps when latency targets are tight. Data still lives in Zilliz's managed environment, so this tier answers capacity and operations questions, not placement questions.
- Who runs it: Zilliz operates the cluster, including the Milvus components beneath it.
- Capacity model: You choose resources to match the workload, so review sizing with Zilliz against your vector count, dimensions and query rate.
- Operational gain: You avoid running etcd, the write-ahead log and object storage yourself.
- Data location: Confirm the cloud provider, region and backup location in writing, since they determine where regulated data sits.
- Exit path: Ask how data can be exported and what migration support exists if you later move to self-hosted Milvus.
Before signing, request the sizing assumptions, maintenance windows and recovery objectives Zilliz commits to for this cluster type.
Bring Your Own Cloud runs the managed Milvus service inside a cloud account you own, which is the option most often considered when data-location rules are the main constraint but the team does not want to operate Milvus itself. Your vector data and object storage stay in your account, while Zilliz handles the service layer. Whether that split satisfies a specific regulator or internal policy depends on the access Zilliz needs and how the account is controlled, so this needs a formal review.
- Account boundary: Your cloud account holds the data and storage, which helps with residency and key management decisions.
- Operator access: Confirm what support access Zilliz has into your account, how it is granted and how it is logged.
- Network design: Ask whether private connectivity, IP allowlisting and encryption keys are under your control.
- Supported clouds and regions: Confirm the providers and regions available, since they limit where the deployment can go.
- Shared responsibility: Get the division of patching, backup and incident response in writing.
Before choosing this option, have your security and compliance teams review the access model with Zilliz, because the answer decides whether it meets your data-location requirement.
Self-hosted Milvus Distributed is the baseline for teams that must keep every component, key and log inside their own infrastructure. Milvus is Apache-2.0 licensed and runs as a Kubernetes-native cluster. Its architecture separates stateless proxies, coordinators and worker nodes, with etcd for metadata, object storage such as MinIO, S3 or Azure Blob, and a write-ahead log such as Woodpecker, Kafka or Pulsar. You gain full control of placement and access, and you take on the work of operating every dependency.
- Who runs it: Your platform team operates Kubernetes, etcd, object storage and the message queue.
- Data location: All vectors, metadata and logs remain in your data centers or cloud accounts.
- Security controls: Milvus implements authentication, TLS encryption and role-based access control, which you configure and test.
- Release lines: Milvus maintains v3.0.3 and v2.6.25 as separate release lines, so choose one and plan upgrades against it.
- Ongoing effort: Budget for backups, upgrades, capacity planning and incident response across each dependency.
Before you commit, confirm the expected cluster size, the storage and queue services your team can run, and who holds on-call responsibility for them.
What your team runs in each model
This table sets the day-to-day operating tasks of self-hosted Milvus against Zilliz Cloud, showing who performs each one and the skills your team needs. Read it as a split of responsibility: the managed service moves infrastructure work to the vendor, while identity, data classification, access reviews and evidence stay with you in both models.
| Operating task | Self-hosted Milvus (your team) | Zilliz Cloud (vendor plus your team) |
|---|---|---|
| Provisioning | Your team sizes nodes, picks a deployment mode (Standalone or Distributed) and builds the Kubernetes deployment. Skills: Kubernetes, Helm, capacity planning. | The vendor provisions Serverless, Dedicated or bring-your-own-cloud clusters. Your team chooses the option and region. Confirm which regions and cloud accounts are available for your data. |
| Scaling | Your team scales proxies, coordinators and worker nodes, and the etcd, object storage and log tier that each depends on. Skills: Kubernetes autoscaling, storage tuning. | Scaling of Serverless and Dedicated capacity is handled by the service. Your team reviews cost and performance limits. Ask how scaling events affect latency and whether they are visible in your logs. |
| Upgrades across v2.6 and v3.0 release lines | Your team tests and applies upgrades across the v2.6 and v3.0 release lines (v2.6.25 and v3.0.3 are the latest published tags) and plans data and index compatibility. Skills: change management, staging environments, rollback planning. | The vendor schedules platform upgrades. Your team confirms the Milvus version in use, tests client SDK compatibility and agrees on maintenance windows. Ask for the upgrade notice period in writing. |
| etcd and object storage operations | Your team runs etcd for metadata and MinIO, S3 or Azure Blob for object storage, including backup, quorum health and capacity. Skills: distributed key-value stores, storage administration. | Metadata and object storage sit inside the managed service. Your team confirms where data is stored, its residency and how deletion is handled. Confirm this in the contract, not from the product page. |
| Write-ahead log operation | Your team operates the chosen log backend (Woodpecker, Kafka or Pulsar), including retention, lag and broker health. Skills: messaging system operations. | The vendor operates the write-ahead log. Your team reviews ingestion lag and error reports through the console or API where available. Confirm which metrics you can export. |
| Kubernetes operations | Your team owns cluster lifecycle, node pools, ingress, network policy and pod security for Distributed deployments. Skills: Kubernetes administration, GitOps. | Not applicable to Serverless or Dedicated. For bring-your-own-cloud, your team still runs the cloud account, network paths and IAM roles that the service uses. Skills: cloud networking, IAM. |
| Backups and recovery | Your team designs, tests and stores backups of etcd, object storage and index state, and rehearses restore. Skills: backup engineering, recovery testing. | The vendor documents its backup and recovery behavior. Your team sets retention needs, requests restore tests where offered and records recovery objectives. Confirm restore scope in writing. |
| Monitoring, on-call and incident response | Your team builds dashboards and alerts across every component, runs on-call rotation and writes incident runbooks. Skills: observability, on-call engineering. | The vendor handles platform incidents. Your team owns application-level alerts, escalation paths and the contract's support terms. Confirm response times and the support tier in the order form. |
| Security patching and access control | Your team patches Milvus, the Kubernetes layer and dependent services, and configures authentication, TLS and role-based access control. Skills: vulnerability management, Milvus RBAC administration. | The vendor patches the managed platform. Identity, data classification, access reviews and audit evidence remain with your team in both models. Ask for the vendor's compliance documentation before relying on it. |
What drives the cost of each hosting model
Zilliz Cloud costs are paid to Zilliz for the service, and the mix depends on the tier. On Serverless, you pay usage-based billing, and clusters scale to zero when idle, so spend tracks query and storage activity. On Dedicated, you pay for dedicated resources whether or not they are busy, so cost tracks the capacity you size. Under bring-your-own-cloud, Zilliz runs the service in your cloud account, which means you carry a second bill from your cloud provider for compute, storage and network. The facts supplied for this page do not state Zilliz pricing, so request current rates for each tier in writing, along with what counts as a billable unit and what the bring-your-own-cloud cloud-account charges will look like in your region.
Self-hosted Milvus moves the costs to hardware or cloud compute, object storage, etcd, the write-ahead log, Kubernetes and people. The Milvus architecture uses etcd for metadata, MinIO, S3 or Azure Blob for object storage, and Woodpecker, Kafka or Pulsar as the write-ahead log, so each of those is a separate line item to size, back up and monitor. Staff time is usually the largest recurring cost, covering on-call, version upgrades across the v2.6 and v3.0 release lines, backup and restore tests, and capacity planning. Support contracts with a commercial vendor are an additional recurring line if you want one. One-time costs include architecture design, migration from any existing store, hardening, and documentation for auditors.
For a fixed-scope implementation, the quote should list each deliverable and the party who pays for each component. DeployOpen works from a written scope agreed before work starts, and it does not publish a price list, so the quote follows from that scope. Ask for the one-time items (design, migration, hardening, evidence and documentation) as separate lines from any retainer for ongoing support, upgrades or testing. Ask which cloud, cluster and storage costs stay with your accounts, and which assumptions the quote depends on, such as vector count, dimension, environments and retention. Compare that with Zilliz's quoted tier and cloud-account charges to see where recurring cost actually sits.
Moving vectors between Zilliz Cloud and self-hosted Milvus
This sequence moves a Milvus workload in either direction with a written inventory, a residency check, validated recall and filtering, a controlled client cutover and a documented retirement of the old cluster and its backups.
Inventory collections, indexes and access design
The current owner lists every collection, its schema, index type and parameters, partitions, database and partition-key layout, and the roles and users that reach it. Platform engineering and the data owner sign off on the list. Done means the inventory is stored in version control and each collection has a named owner, an expected vector count and a target index. Because both sides run the same Apache-2.0 Milvus codebase, confirm the exact versions in use on each side against the Milvus releases page before assuming schema and index behavior carry over.
Confirm data residency and target placement
Security and compliance leads record where the vectors, source documents and derived metadata may live, including regions, cloud accounts and any data center or air-gapped network. Ask Zilliz in writing which region, deployment option (Serverless, Dedicated or Bring Your Own Cloud) and storage location apply to the account, and confirm the answer against your own environment. Done means a signed residency decision names the target cluster, the storage location and the people who approved it.
Export or re-ingest the source data
The migration team chooses between exporting stored vectors and payloads and re-embedding the source documents into the target. Re-ingestion gives a clean index but depends on the embedding model being pinned and reproducible. Export depends on the tooling and access your current deployment allows, so confirm data movement paths, throughput limits and any egress charges with Zilliz and with your cloud provider before scheduling the copy. Done means row counts and checksums per collection match between source and target.
Validate recall, filtering and multi-tenant isolation
Run a fixed set of reference queries against source and target, comparing top-k results, scalar filter outcomes and hybrid or BM25 queries where used. Test that each tenant or partition key returns only its own rows and that the roles defined in the inventory are denied access to other tenants. Done means the results are recorded in a test report with agreed acceptance thresholds set by the data owner, and any gap is either fixed or accepted in writing.
Cut over clients and rotate credentials
Application teams point their Milvus clients at the new endpoint in a staging environment first, then in production during a window agreed with the business owner. New credentials are issued for the target, authentication and TLS settings are checked, and the old credentials are scheduled for revocation. Downtime depends on how writes are paused and replayed, so confirm the expected impact with Zilliz and in your own change plan. Done means production traffic runs on the target and the monitoring dashboards show normal query latency and error rates.
Retire the old cluster and its backups
After a period set by your retention policy, the team stops writes to the old cluster, takes a final archive if required, and deletes the cluster, its object storage buckets, etcd or metadata snapshots and any copies in backup systems. Confirm with Zilliz how a Serverless or Dedicated cluster is deleted and what the provider retains. Done means a written decommission record lists each deleted resource, the date, the approver and the evidence of deletion for audit.
Questions buyers ask before choosing a Milvus hosting model
What drives the total cost of running Milvus yourself versus buying Zilliz Cloud?
The biggest cost difference is who pays for operations. With self-hosted Milvus Distributed, you pay for the compute and storage for etcd, object storage, the message queue and the Milvus worker nodes, plus the engineering time to install, upgrade, back up and monitor them. With Zilliz Cloud, you pay the vendor for a managed service, and the bill depends on the tier: the Free tier, Serverless clusters billed by usage, Dedicated clusters with reserved resources, or Bring Your Own Cloud. Ask for a written breakdown that separates one-time setup from recurring infrastructure, support and staff time, and ask how each option's price scales with vector count, query volume and retention. DeployOpen does not publish prices. Its quotes follow from a written, fixed scope.
How long does a self-hosted Milvus rollout take, and what sets that time?
The timeline depends on the deployment mode, the number of environments and how much of your platform already exists. Milvus Lite and Standalone are far simpler to stand up than Distributed, which runs as a Kubernetes-native cluster with etcd, object storage and a write-ahead log such as Woodpecker, Kafka or Pulsar. The main variables are whether you already run Kubernetes and an object store your security team approves, how authentication, TLS and role-based access control must be wired to your identity systems, how backups and disaster recovery are tested, and how many review cycles your change process requires. Request a written schedule tied to named milestones and a list of your prerequisites before work starts.
Can an in-house team run Milvus Distributed on its own?
A team with strong Kubernetes and storage skills can run Milvus Distributed, but it needs to own several moving parts at once: the proxies, coordinator and worker nodes, the etcd metadata store, the object storage backend and the chosen write-ahead log. Check whether you can staff on-call coverage for each component, rehearse restores from object storage and etcd snapshots, and upgrade between the two supported release lines, v2.6.25 and v3.0.3, without downtime for your applications. If any of these gaps exist, ask a services partner to document the runbooks, or consider a managed option. DeployOpen plans, implements, hardens, backs up, upgrades and documents self-hosted platforms in your infrastructure, and offers ongoing support as a retainer.
Does Bring Your Own Cloud keep our vector data inside our own cloud account?
Bring Your Own Cloud is designed to run the managed service in infrastructure you control, but the exact boundary of what stays in your account, what the vendor operates and where control-plane metadata flows is something you must confirm in writing. Ask Zilliz for the data flow diagram, the list of resources created in your account, who holds the keys, where logs and backups are written and which personnel can access the environment. Compare that answer with self-hosting, where every component, including etcd and object storage, lives in accounts and networks your team controls. Do not rely on a marketing description alone when a regulator or auditor will ask.
What compliance evidence must we produce ourselves?
Whichever hosting model you pick, the evidence for your own controls remains your responsibility. For a self-hosted Milvus cluster, that includes configuration baselines, the TLS and authentication settings, role-based access control assignments, encryption and key management for object storage, logging, backup test records and change records. For a managed service, you still need the vendor's own assurance documents and your contract terms, plus evidence of how you configure access and data residency. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports, attestations or certifications. Independent auditors and certification bodies do that work. Ask which framework applies to your workload before you scope the evidence.
How do we exit a managed Milvus service without losing data?
Plan the exit before you sign. Confirm which export paths the service supports for collections, schemas, indexes, partitions and access settings, and whether vector data can be read back in a format your self-hosted cluster can load. Because Milvus is Apache-2.0 licensed, the software itself is not locked to one vendor, but the operational setup, such as your object storage layout, Kubernetes configuration and access model, will need to be rebuilt. Ask for a written exit procedure, the expected downtime window, the retention period after termination and how embeddings are deleted from the provider. Test a restore into a non-production environment before you depend on it.
What does DeployOpen's fixed-scope work cover for a Milvus deployment?
DeployOpen works in your own infrastructure, which may be your cloud accounts, data centers or air-gapped networks. Most engagements are fixed-scope, so the scope, deliverables and timelines are agreed in writing before work starts. For Milvus, a typical written scope would name the deployment mode, the etcd and object storage design, the write-ahead log choice, the authentication, TLS and role-based access controls, backup and restore testing, upgrade procedures and documentation. Ongoing support, upgrades and continuous testing are available as retainers. DeployOpen does not publish a price list, so ask for a quote that follows from the written scope.
How DeployOpen scopes, delivers and supports self-hosted Milvus
DeployOpen plans, implements, integrates, hardens, backs up, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For a Milvus decision, that means we start from where your vectors must live and who must be able to reach them, then work out the operating surface you would be taking on.
How we scope
- We confirm which data location, residency and network rules apply before naming any deployment mode.
- The written scope lists the Milvus release line, deployment mode, and each dependency we will install or configure.
- Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts.
How we build
- We size and deploy the etcd, object storage, write-ahead log and Kubernetes components your chosen mode requires.
- We configure authentication, TLS and role-based access control, then test them against your identity and network policies.
- Multi-tenancy, index choices and backup routines are set up and tested against your own collection layout.
How we hand over
- Handover documentation covers architecture, upgrade steps, access model and the runbooks your operators will use.
- We walk your platform and security teams through restore tests so recovery is shown, not assumed.
- Evidence for compliance assessments is prepared as documented controls, while independent auditors issue any formal opinion.
How we support
- Ongoing support, upgrades and continuous testing are available as retainers after handover.
- Upgrades between Milvus release lines are planned in writing, with testing against your workloads first.
- Ask us to confirm support scope, response expectations and exclusions in the quote before committing.

