Is Microsoft 365 Copilot cheaper than self-hosting Onyx?
The answer depends on user count, model hosting and labor, so a license-to-license comparison will mislead you. Microsoft 365 Copilot is a per-user add-on, sold on top of eligible plans such as Microsoft 365 E3, E5 and Business Premium, while E7 includes it. Web-based Copilot Chat comes with eligible subscriptions at no extra cost, but work-based Copilot Chat, which answers from content your Microsoft Entra account can reach, requires a Copilot license. Confirm with your Microsoft account team which of your current plans qualify and what your renewal terms say before you compare any figure. Onyx Community Edition is MIT licensed, so the software line is zero. The recurring costs sit elsewhere: inference, either GPU capacity you run with vLLM or Ollama or API usage with a proprietary provider; the infrastructure for the index, Postgres, Redis and model servers; any Enterprise Edition features you need, such as RBAC, which sit under the Onyx Enterprise License; and the staff time to upgrade, patch, back up and monitor the stack. Ollama's pricing page states that running models on your own hardware is always unlimited, but its paid cloud plans do not replace your own GPU or operations costs. No Onyx or vLLM price is quoted here because none was supplied, so request written quotes that separate one-time implementation from recurring run costs. To build a fair comparison, count the named users who will actually use the assistant, estimate query volume, and cost GPU capacity at peak and idle times. Ask any implementation partner to itemize the connector setup, identity integration, hardening and handover, and ask whether support and upgrades are one-time or retainer-based. Then compare the total with the Copilot license cost over the same period, including the users you would still need to license.
Which cost components move when you replace Copilot
This table sets the Microsoft 365 Copilot add-on license against each cost component of a self-hosted Onyx deployment and marks whether each cost is one-time or recurring. Read the Onyx column as work your team or a partner must fund, since Onyx Community Edition carries no license fee. The main takeaway is that Copilot is one predictable recurring license, while self-hosting moves spend into infrastructure, people and ongoing operations.
| Cost component | Microsoft 365 Copilot | Self-hosted Onyx | One-time or recurring |
|---|---|---|---|
| License or subscription | Copilot add-on license per eligible user on plans such as E3, E5 or Business Premium. Copilot Credits from Copilot Studio are out of scope here. | Onyx Community Edition is MIT licensed with no license fee. Enterprise Edition features need a separate Onyx Enterprise License. | Copilot: recurring per user. Onyx Community Edition: none. |
| Model inference | Included in the license. Microsoft manages model hosting and selection. | Choose GPUs running vLLM or Ollama, or pay usage-based fees to hosted model providers. Confirm capacity with your hardware and provider contracts. | GPU hardware or reserved capacity is one-time or recurring. API fees are recurring and usage-driven. |
| Index, database and object storage hosting | Included in the service. Microsoft Graph and tenant storage are not billed separately to you. | Postgres, Vespa or OpenSearch, Redis and object storage run in your cloud account or data center. Sizing depends on document volume. | Recurring compute, storage and backups. Initial sizing is one-time. |
| Connector setup and permission sync | Grounding covers content the user's Entra account can access, with no connector build. | Connectors for SharePoint, OneDrive, Teams, Confluence, Jira and others must be configured, tested and kept current. | Mostly one-time build, with recurring maintenance as source applications change. |
| Identity integration | Covered by the Microsoft Entra ID tenant you already run. | SSO through OIDC or SAML and provisioning must be configured against your identity provider. Confirm supported options for your setup. | One-time configuration, with recurring review when identity policy changes. |
| Enterprise Edition features | Admin controls and audit tooling are part of the Microsoft service and license tiers. | Role-based access control, SCIM provisioning and query history auditing sit in Enterprise Edition. Check which features your needs require. | Recurring if licensed. Confirm terms and pricing with Onyx directly. |
| Implementation and migration | Assignment, rollout and user training are internal effort, with no build work. | Architecture, deployment, connector work, testing and cutover are project work. Running both assistants in parallel adds overlap time before licenses lapse. | One-time project cost, paid to your staff or a fixed-scope partner. |
| Support, upgrades and operations | Microsoft operates the service and ships updates within the license. | You patch Onyx, Helm charts and model servers. vLLM ships minor releases about every two weeks, so plan regular upgrade windows. | Recurring. Usually the largest ongoing cost after hardware. |
| Internal skills and security testing | Little in-house expertise needed beyond admin settings and Microsoft support. | Staff need Kubernetes, GPU, database and identity skills. vLLM's docs call for network isolation and a reverse proxy, so plan penetration testing. | Recurring staffing and periodic testing, with one-time skills training. |
What moves the comparison most
Six variables decide whether a self-hosted Onyx deployment costs more or less than Copilot licenses for your organization. Most of them scale the inference and operations side, so the same questions about users, content and skills should be answered before comparing any totals.
Named users and daily active use
Copilot is priced per licensed user, so license count rises linearly with headcount. A self-hosted stack has a different shape: the index and base services cost roughly the same for 200 users or 2,000, but inference load follows how many people ask questions each day. Count daily active users, not just licensed seats, and ask how many of them will use the assistant during peak hours.
Volume and change rate of content
Onyx stores and syncs what it indexes, so the size of SharePoint, OneDrive, Confluence, Jira and mailbox content drives index storage and sync workers. Frequent edits raise connector load and re-indexing work. Inventory each source by document count, total size and how often it changes, and confirm how each connector handles permission changes between syncs.
Enterprise Edition features needed
Onyx Community Edition is MIT licensed and covers RAG, chat, agents and actions. Features such as RBAC and usage analytics sit in the Enterprise Edition under a separate license, so they add a license cost that Copilot's per-user price does not have. List the controls your auditors and administrators require, then confirm with Onyx which ones are in the ee code path before pricing.
Hosted APIs or self-hosted inference
Calling a hosted model API charges by token and needs no GPU capacity, so cost follows usage. Self-hosting with vLLM, which serves an OpenAI-compatible endpoint, moves cost to accelerator capacity that you pay for whether or not it is busy. Ollama suits smaller deployments and single-team pilots. Model the expected token volume against both options and ask who holds the GPU hardware contract.
Availability and concurrency targets
Copilot's availability is run by Microsoft, while a self-hosted assistant gives you the redundancy bill. Peak concurrency sets how many model replicas and queue slots you need. Ollama, for example, defaults to one parallel request per model, so higher concurrency requires explicit tuning or a serving engine built for throughput. Define the uptime and response-time targets your users need before sizing hardware.
In-house skills for Kubernetes, GPUs and identity
Labor is often the largest recurring cost in a self-hosted stack. Running Onyx well needs people who can operate Kubernetes or Docker, manage GPU drivers and node scheduling, and wire OIDC or SAML and SCIM to your identity provider. Missing skills translate into implementation fees, retainers or slower upgrades. Inventory these skills honestly, then ask any implementation partner to price the gaps as separate line items.
Where the self-hosted Onyx money actually goes
The first cost decision is which Onyx deployment you run. Onyx Standard includes vector and keyword indexing, background sync workers, model inference servers, object storage and Redis. Onyx Lite is a lighter chat and agents deployment without a vector database or background workers. Lite can be enough for a pilot that only needs chat over a small set of uploaded files, but connecting SharePoint, OneDrive, Outlook or Teams with permission sync means the sync workers and index are in scope, so budget for Standard. Ask the vendor or your implementer to map each connector you need to the components it requires before you size hardware.
The documented infrastructure is Postgres, Vespa or OpenSearch for the index, Redis and model servers. Each runs on hardware or managed services you pay for and patch, and the index and sync workers grow with the volume of content and the number of connected sources. Model inference is the largest variable. vLLM is Apache-2.0 licensed and has no paid edition, so its cost is GPU or other accelerator capacity, the surrounding servers and storage, the work to implement it, and the operators who keep it upgraded and secured. Its release cadence, with minor releases roughly every two weeks in the period the researched facts cover, means someone must own upgrades. If you use hosted model APIs instead, the cost shifts to per-token usage that you should model against your own query volume.
Two commercial options change the math. Onyx Cloud is a managed service, so you pay a vendor subscription in place of most infrastructure and operations work, but confirm where data is processed against your residency requirement. The self-hosted Enterprise Edition is separately licensed under the Onyx Enterprise License and adds features such as RBAC. Do not assume its price is included in the open-source deployment. Request the Enterprise Edition price, its term, renewal conditions and which features it covers, in writing, alongside the implementation scope and a quote for ongoing support.
How to build the comparison with your own numbers
This sequence turns Copilot's per-user license and an Onyx deployment into two cumulative cost lines you can defend, with every input traced to a contract, quote or test result.
Collect your current Copilot licensing terms
Pull the Microsoft agreement, order forms and admin center license report that show which eligible plan each user holds and which users carry a Microsoft Copilot add-on. Confirm whether the add-on is billed per user, whether your plan already includes it, and the renewal date. Check the eligibility list on Microsoft Learn so you know whether a plan change would alter the bill. The output is a user count split by license type, with the contract line items and renewal date recorded beside each figure and its source.
Inventory sources and their permission models
Work with the system owners of SharePoint, OneDrive, Outlook, Teams, Confluence, Jira and any other sources you want searched. For each, record the content volume, the sharing model, and whether item-level permissions are inherited or broken. Onyx syncs source permissions, so this inventory also determines how much permission mapping and connector testing you need. The output is a source register that feeds the connector scope in the quote and the indexing storage estimate.
Choose the Onyx edition and feature needs
Decide whether Onyx Community Edition covers your needs or whether role-based access control, usage analytics or query history auditing must be licensed through the Enterprise Edition or Onyx Cloud. Note that RBAC and similar features are listed among the enterprise features in Onyx's documentation, and confirm with Onyx which edition includes each one. Also choose between Onyx Standard and Onyx Lite based on whether you need vector and keyword indexing. The output is a written edition decision with each required feature mapped to its license terms.
Size inference with a load test
Model peak concurrent users and daily token volume from a sample of real questions, then run vLLM or Ollama on hardware representative of what you would buy or rent. Measure throughput and latency at your expected concurrency using the Prometheus metrics the server exposes. Ollama's default of one parallel request per model means concurrency numbers must be set deliberately before testing. For API-based inference, convert the measured token volume into spend using the provider's current published rates. The output is a measured capacity figure per GPU and a monthly inference cost, each labeled with the test date and hardware.
Price one-time work from written scopes
Request written quotes for connector setup, SSO and SCIM configuration, index and database deployment, security hardening, the migration of users and content, and a parallel run period alongside Copilot. Ask each provider, including DeployOpen if you are considering it, to separate fixed-scope work from optional items. Keep the parallel run in the model because you pay for two systems during it. The output is a one-time cost table with each line tied to a signed scope and its deliverables.
Add recurring operations and support costs
Estimate the recurring effort for upgrades, patching, backups, monitoring, model updates and on-call coverage, and the cost of GPU hosting or API usage over the same period. Include internal skills time and any retainer for ongoing support or continuous testing. Note that Copilot's license cost recurs with your user count, while self-hosted costs mostly recur with infrastructure and staff time. The output is a monthly and annual recurring cost line with each component named and sourced.
Compare cumulative cost by year
Build a multi-year table that adds Copilot license spend for each year against the one-time and recurring Onyx costs, including the parallel run overlap. Show the break-even point and run a sensitivity check on user count, GPU utilization and renewal pricing. Record every assumption beside its source so reviewers can challenge it. The output is a cumulative cost chart that finance and security leaders can review together.
Rerun the model at each change
Set a review trigger for each Copilot renewal, any change in licensed user count, a change to the source list, and each Onyx or vLLM release that alters hardware needs. Repeat the load test when user behavior or model choice changes. Store the model with its input register so the next review starts from current evidence. The output is a versioned workbook with a dated change log that shows what changed and why the totals moved.
Questions buyers ask before comparing costs
Is a self-hosted Onyx deployment free to run?
The software is free to use, but the deployment is not. Onyx Community Edition is MIT licensed, so there is no license fee for that edition. The recurring costs sit elsewhere: compute for the index, database, Redis and model servers, storage, inference on GPUs or paid model APIs, and the staff who install, upgrade, back up and monitor the stack. Features under the ee directories fall under the Onyx Enterprise License, so check whether you need them before you budget. Ask any implementation partner for a quote that separates one-time setup from monthly infrastructure and labor.
How long does a Copilot-to-Onyx migration take?
No duration is supplied for this migration, so treat any number you hear as unverified. The time depends on how many sources you connect, how much permission mapping your identity setup needs, which models you host, and how many users you pilot with. Ask for a written, fixed-scope plan that lists deliverables, a timeline and the acceptance tests for each connector. Confirm with your own team which Microsoft 365 tenant settings, Entra ID applications and admin consents will be needed, because those approvals often set the pace.
Can our team run Onyx without outside help?
It can, if you already have the right skills. You need people comfortable with Docker or Kubernetes and Helm, GPU drivers and capacity planning for model servers, Postgres and search index operations, and identity work: OIDC or SAML configuration, SCIM provisioning and connector credentials for SharePoint, Teams and other sources. Check which of these skills exist in-house and which you would have to hire or train. A fixed-scope implementation from DeployOpen can cover the gaps, such as deployment, connector setup, hardening and documentation, while your staff keep ownership of daily operations.
What drives the GPU bill for self-hosted inference?
Four factors matter most. Model size determines how much GPU memory you need and how many cards you run. Concurrency, meaning how many users query at once, sets how much capacity you must keep ready. Latency targets push you toward more headroom so answers return quickly at peak times. Context length matters because longer retrieved passages consume more memory per request. vLLM serves multiple requests efficiently and runs across GPUs, while Ollama defaults to one parallel request per model, so the serving choice changes the hardware you need. Ask for a quote that states the model, expected concurrent users, latency goal and context size it assumes.
Can Copilot's free web chat replace the licensed version?
Not for internal content. Web-based Copilot Chat is included with eligible subscriptions at no extra cost, but it only shows internet results. Work-based Copilot Chat, which grounds answers in content your Microsoft Entra account can access, requires a Microsoft Copilot license. So the cost comparison should use the licensed feature set when the goal is answering questions from SharePoint, OneDrive, Outlook or Teams. Confirm the current licensing terms with Microsoft before you rely on any tier, since Microsoft Learn is the authoritative source for them.
What does running both assistants in parallel cost before licenses lapse?
The parallel period adds cost in three places: the Copilot licenses you keep paying for until renewal, the Onyx infrastructure you run from pilot onward, and the staff time spent on connector validation and user comparison. No parallel-run duration or fee is supplied, so the length depends on your renewal date and how quickly users accept the new tool. Ask for a quote that prices the overlap as its own line item, states the date when Copilot licenses end, and defines the exit criteria that let you stop paying for them.
Which costs are one-time and which recur each month?
Setup is one-time: architecture, installation, connector configuration, identity integration, testing, hardening and documentation. Recurring costs include compute and storage, GPU or API inference, backups, monitoring, software upgrades and the staff time to run them. Upgrades deserve a line of their own, because Onyx and vLLM both ship frequent releases. Support and continuous testing are usually separate retainers. Ask a provider to separate these categories in writing so you can compare the first-year total with the ongoing run cost.
How the budget changes in year one and later years
The budget splits into two kinds of cost, and the split matters more than any single line item. Implementation, migration, connector build and security testing are mostly one-time costs. They cover designing the index, configuring SSO through OIDC or SAML, building and validating connectors to SharePoint, OneDrive, Outlook, Teams and other sources, confirming that permission sync matches what users see in each source, and testing the assistant before users rely on it. Recurring costs are different: inference (GPU capacity you own or model API usage), the hosting of Postgres, the index, Redis and model servers, staff time to operate and monitor the stack, and the effort to apply upgrades. Copilot's per-user add-on license is almost entirely recurring, so the first-year total can look very different from the steady-state total.
The parallel-run period is where year one often costs the most. During that time you pay for Copilot licenses and for the self-hosted stack at the same time, and the overlap continues until users have moved and the license renewal date has passed. Scope the parallel run in writing, with a start date, an end date, a named owner for the decision to cut over, and the license terms that govern early removal. Ask your Microsoft account team what happens to add-on licenses that are removed mid-term, and confirm the commitment period in your agreement. A parallel run without an end date is the most common way to double-pay for an assistant. The Microsoft Learn licensing page is the place to confirm current eligibility and add-on terms for your plan.
Not every option keeps the vendor out of operations. Glean's Customer Hosted model, formerly called Cloud-Prem, runs in your own GCP or AWS account, but Glean still handles infrastructure and application management, including upgrades, patching and monitoring, so your recurring cost shifts toward the contract rather than toward your own staff. Ask any vendor which of the recurring operations they carry and which you carry. DeployOpen plans, implements, hardens, backs up, upgrades and documents the self-hosted work inside your infrastructure, and most engagements are fixed-scope with deliverables and timelines agreed in writing before work starts. DeployOpen does not publish a price list, so the cost of year one and later years follows from that written scope, and the right next step is to ask for a quote built from the components above.
How DeployOpen scopes a fixed-price Onyx implementation
DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For a Copilot cost comparison, we start with a written scope that separates the add-on license you would retire from the infrastructure, model and operations costs you would take on.
How we scope
- We agree the written scope before work starts, including which Microsoft 365 sources and users are in or out.
- We record the expected user count, source list and model hosting choice so the quote reflects your real components.
- We identify which Copilot licenses would lapse and which licensing terms your team must confirm with Microsoft.
How we build
- We deploy Onyx Standard or Onyx Lite with Docker, Kubernetes, Helm or Terraform inside your environment.
- We configure connectors for SharePoint, OneDrive, Outlook and Teams and test that permission sync matches source access.
- We connect the chosen model path, such as Ollama, LiteLLM or vLLM, and load-test it against your expected concurrency.
How we hand over
- We document the architecture, connector configuration, sizing assumptions and the cost components behind the scope.
- We run a parallel period with your team so you can compare answers and access results before licenses change.
- We train your administrators on user provisioning, index monitoring, backups and upgrade steps.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after handover.
- A retainer can cover Onyx version upgrades, connector maintenance and model server updates on your schedule.
- We can prepare evidence and configuration records for your compliance assessors, who issue any audit opinions.

