Every AI build begins with a question that gets asked as though it were about technology. Should we build this on Google’s Vertex AI, on Amazon’s Bedrock, on Microsoft’s platform, or should we assemble it ourselves? People expect an answer shaped like a product review. Three stars for one, four for another, here is the winner.
That is not the answer, and the review-shaped version of this question is how businesses end up somewhere expensive. The real decision has almost nothing to do with which platform has the nicer console. It comes down to one question that most buyers never think to ask and most sellers do not volunteer: where does the inference actually happen?
Not where the account is. Not where the invoice says. Where the model physically runs when your customer’s file passes through it.
For a Canadian business, and especially one handling health records, legal files, or anything touching a public body, that question turns out to have a genuinely surprising answer. We went and checked the documentation, and it is not what most people assume.
What you are actually choosing between
Briefly, so the terms are clear.
Amazon Bedrock is a managed door to a catalogue of models, including Anthropic’s Claude, Meta’s Llama, Mistral, DeepSeek, Amazon’s own Nova, and, since Microsoft’s exclusivity with OpenAI ended in April 2026, OpenAI’s models too. Around it sit the pieces you would otherwise build: retrieval over your documents, agent orchestration, guardrails, evaluation.
Google Vertex AI is the same idea from Google, with the significant difference that it is the only place you can get Gemini, and it also resells Claude.
Microsoft Foundry, which is what Azure AI Foundry was renamed as of January 2026, is the same idea again, with the largest catalogue of the three and, more to the point, native wiring into Microsoft 365, SharePoint and Teams. If your business already lives inside Microsoft, that integration is a real advantage and you should weigh it heavily.
Building your own means going straight to the model labs’ APIs, or self-hosting an open-weight model, and assembling the rest yourself.
Notice one thing before we go further. Claude is available on all three platforms. OpenAI is now on two. Only Gemini is exclusive. The model catalogue, which is what the sales conversation tends to focus on, is close to a commodity. Which means the choice has to be made on something else.
The first myth: that the platforms mark up the model
They mostly do not, and it is worth killing this one early because it sends people down the wrong path.
Per-token pricing on the platforms matches what the labs charge directly. OpenAI’s GPT-5.5 arrived on Bedrock at the same $5 in and $30 out per million tokens that OpenAI charges on its own API. Claude costs the same on Bedrock as it does from Anthropic. There is no platform tax on inference, so “going direct will be cheaper” is not, by itself, true.
There is exactly one clean exception, and it is the one that matters for this article. Google Vertex charges roughly 10% more for regional and multi-region endpoints than for its global endpoint, which the company states plainly in its own announcement. Read that again in plain terms: on Vertex, pinning your inference to a specific geography costs you ten percent. Data residency has a price and it is printed on the menu.
The place platform costs actually get away from people is not the token price. It is provisioned throughput, which bills you by the hour for reserved capacity whether you use it or not, on all three. Below serious, steady volume it is the wrong instrument, and no small business should be sold it.
The second myth, and the important one: that a Canadian region keeps your data in Canada
Here is the finding that changed how we think about this, and it took reading the vendors’ own documentation to get to it.
All three platforms have Canadian regions. Amazon has Montreal and Calgary. Google has Montreal and Toronto. Microsoft has Toronto and Quebec City. You can point your account at any of them, get a Canadian bill, and tell your clients your AI runs in Canada.
For the current frontier models, on two of the three, that last part is not accurate.
On Amazon Bedrock, the current generation of Claude models is not served natively from the Montreal region. Canadian customers reach them through what AWS calls cross-region inference, and the destination in AWS’s own table is not Canada. It is the United States. AWS is admirably direct about the consequence in its documentation: your input prompts and output results might move outside of your source Region. AWS does commit that data at rest, meaning your logs, your knowledge bases and your stored configuration, stays exclusively in the Canadian region, and the traffic travels encrypted over Amazon’s private network rather than the public internet. That is a meaningful protection and it is not nothing. But the prompt itself, the thing that contains the patient note or the client file, is processed elsewhere.
On Google Vertex, Claude is not available in any Canadian region at all. The supported regions are global, three in the US, two in Europe, and one in Asia. There is no Canadian option at any price. Gemini, however, is available in Montreal. Which produces the counterintuitive conclusion that if you need a current frontier model with inference genuinely processed inside Canada, the mainstream path is Vertex running Gemini, and it is close to the only one. Google is also honest in its own documentation about the limits, warning that endpoints do not guarantee data residency or in-region processing and that its global endpoint does not support residency requirements at all.
On Microsoft, the picture in Canada is the thinnest of the three. There is no Canadian data zone; the data-zone deployments cover the US and EU only. Strict Canadian residency requires a regional deployment in Canada Central or Canada East, and the set of current models available that way is small. GPT-4o, which is the workhorse many Canadian deployments are pinned to, is scheduled for retirement on 1 Oct 2026. If you are running OpenAI models under a strict Canadian residency requirement on Microsoft, that date should be in your calendar, and you should be asking your account team a very specific question about what replaces it in-region.
None of this is a scandal. Every one of these facts is published by the vendor. It is simply that nobody reads it, and the sales conversation happens at the level of “yes, we have a Canadian region,” which is true and which answers a different question than the one you asked.
What Canadian residency does and does not buy you
While we are being honest, we should be honest in the other direction too, because there is a comforting story about data residency that is also not quite right.
Putting your data in a Canadian region of an American cloud does not place it beyond the reach of American law. Under the US CLOUD Act, US authorities can compel a US-based provider to produce data it controls, even when that data is stored in Canada and concerns non-US persons. What determines exposure is who owns the company, not where the disk sits. This is not a fringe reading. It is the Government of Canada’s own stated position: as long as a provider operating in Canada is subject to a foreign country’s laws, Canada does not have full sovereignty over that data. No contract with a US hyperscaler can fix this, because the law outranks the contract.
So what is residency actually worth? Quite a lot, but for concrete reasons rather than romantic ones, and it is worth being precise, because the folklore here is out of date. British Columbia used to flatly require public-sector personal information to stay in Canada, under section 30.1 of FIPPA. That provision was repealed in November 2021. What replaced it is not permission to stop thinking, it is an obligation to assess: a public body storing sensitive personal information outside Canada has to work that through in a privacy impact assessment, and it still has to report any foreign demand for disclosure. Several provincial health statutes are stricter. So if you are a health authority, a public body, or a contractor to one, in-region processing may not be required outright, but the paperwork you have to produce if you send data south is real, and someone will read it. Residency reduces your exposure, shortens your breach-notification surface, and is often the difference between being able to bid on a piece of work and not. What it is not is a magic circle.
The genuinely Canadian-owned alternative is being built. A consortium including Bell, Cohere and Canadian infrastructure partners announced a sovereign AI deployment in June 2026, with Nvidia hardware in British Columbia, expected to come online around the turn of the year. It is real and it is worth watching. It is not something you can build on this quarter.
Building your own, and the arithmetic of self-hosting
Which brings us to the fourth option, and to a distinction people collapse constantly.
Going direct to the model APIs means calling Anthropic or OpenAI or Google yourself and building the surrounding machinery. What you gain is real: the same token price, no regional premium, no proprietary agent framework to unpick later, and access to a new model on the day it ships rather than whenever your platform enables it in your region. What you give up is also real. Every piece the platform was providing, the guardrails, the evaluation harness, the retrieval layer, the monitoring, the audit logging, becomes your engineering backlog. On a platform those are line items. Off it, they are work, and the work is not optional, it is just invisible until something goes wrong.
And note carefully: going direct does not give you Canadian processing either. The labs run their APIs in the US. If residency is your requirement, the direct path fails it just as surely, and the only honest way to satisfy it is to run the model yourself.
Self-hosting is where the arithmetic bites. An H100, the workhorse GPU, rents for roughly $1.50 to $7 an hour depending on where you get it, so call a single card running continuously about $1,800 a month before anyone touches it. Then add the part the spreadsheets miss: the engineering to keep it running, the model update cycle, the monitoring, all of which reported estimates put at a multiple of the hardware cost rather than a fraction of it. Published break-even estimates against API pricing disagree with each other by an order of magnitude, which is itself the finding. There is no clean number. What is consistent across every analysis is the shape of the risk: utilization is what kills you, and a GPU sitting idle at low utilization costs more per token than simply calling an API would have.
There is also a capability gap to price in. Epoch AI’s tracking puts open-weight models roughly five months behind the closed frontier, a gap that has stayed fairly steady for over a year. For classification, extraction, summarisation and routing, which is most of what businesses actually need, that gap does not matter. For the hardest agentic work, it does.
The honest verdict: self-hosting is the right answer when the data genuinely cannot leave your building, and rarely otherwise. That is the same conclusion we reached in the piece on where your AI runs, and nothing in 2026 has changed it.
What actually locks you in, and what actually goes wrong
Two practical warnings, both from the record.
The lock-in is not the model. It is everything around it. Swapping Claude for Gemini behind a well-designed abstraction is a small change. What is not small is the retrieval layer, because each platform’s document index is proprietary and moving means re-chunking, re-embedding and re-validating that your search still returns the right answers. Agent state, identity binding, and evaluation harnesses tuned to one model’s output all add drag. And if you fine-tune a model, check the exit before you enter: on Microsoft’s platform, downloading your fine-tuned weights is not supported, while both Bedrock and Vertex let you bring custom weights in. If you are going to invest in tuning a model on your own data, know whether you can take it with you.
The thing that actually bites people is deprecation and quota, not price. OpenAI retired a whole generation of models in early 2026, and Azure began auto-upgrading standard deployments in March with an end-of-life at the end of that month. Businesses pinned to a region where the replacement model was not offered had the worst of it, which is precisely the position a Canadian residency requirement puts you in. On the quota side, there is a trap specific to the Canadian setup: when you reach Claude from Montreal via cross-region inference, your quota is managed at the source region and several Claude models carry a five-times output-token burn-down rate, meaning one output token consumes five tokens of your allowance. Size your quota request on that basis or you will throttle at a fifth of the volume you planned for.
The answer, which is a decision tree and not a winner
So, plainly.
If your data must stay in Canada, because a statute or a client contract says so, then the model catalogue is not your menu, the residency table is. Today that points to Vertex running Gemini in Montreal as the mainstream way to get a current frontier model with in-region inference, or to self-hosting if the requirement is absolute. Bedrock is workable if your counsel accepts that prompts transit to the US while data at rest stays here, and that judgment belongs to your lawyer, not your developer. Microsoft’s Canadian story needs a hard conversation about what happens after 1 Oct 2026.
If your data does not have to stay in Canada, and for a great many businesses it genuinely does not, then go direct to the APIs unless you are already deep in one cloud. The price is the same, the lock-in is lower, you get new models sooner, and you were never getting Canadian inference from the platforms anyway. If you already live in Microsoft 365, use Microsoft, because the integration is worth more than the theoretical portability you would be giving up.
Whatever you choose, keep the model swappable. Put it behind your own interface so that switching costs you a day rather than a quarter. A government demonstrated in June that a frontier model can be pulled offline worldwide with no notice, and every lab deprecates on its own schedule regardless of yours. Portability is not an ideological preference. It is insurance, and this year it paid out.
How we handle it
We ask the residency question first, before the model question, because the residency answer eliminates most of the options and there is no point debating a menu you cannot order from. We write down, in the Blueprint, which model runs in which region, what leaves the country, and what your counsel needs to sign off on. We keep the model behind an abstraction so you are never one deprecation notice away from a rewrite. And we do not sell provisioned capacity to a business that does not have the volume to fill it.
The platforms are good. All three are good. They are also, for the purposes of a business your size, close to interchangeable on everything except the one thing nobody checks.
So ask the question that the brochure does not answer, and ask it before you sign. Not which platform, but where does the inference actually happen, for the specific model I am going to use, in the specific region I am paying for. Get that in writing. Everything else on this page is a detail, and that one is the decision.