Enterprise AI
Enterprise AI Platform on Azure AI Foundry
Enabled safe, production-grade generative AI adoption across an enterprise estate.
- Governance
- Content filtering and responsible-AI controls enforced platform-wide
- Cost control
- Per-workload token budgets with chargeback visibility
- Strategic impact
- Became the technical foundation for the AIOps initiative
Context
Generative AI had arrived in the organisation the way it arrived nearly everywhere: from the bottom up. Individual teams were calling model endpoints directly with their own keys, prototypes were being demoed to clients, and the momentum was genuine. So was the exposure.
Three problems sat underneath it. Prompts containing client data were leaving controlled networks. Spend was invisible until the invoice arrived, with no way to attribute it to a team or a workload. And nobody could answer the question a regulated client’s risk function asks first: what prevents this system from producing something harmful, and how would you know if it had?
The brief was not to slow any of it down. It was to make the governed path the path of least resistance, so that using the platform was easier than going around it.
Architecture
Azure AI Foundry became the control plane for model access, with everything reaching it through a managed gateway rather than talking to model endpoints directly. That single decision is what made the rest enforceable.
Consuming applications authenticate with Entra ID workload identities. No application holds a model key; the gateway brokers access, and secrets live in Key Vault with rotation handled by the platform rather than by each team. All traffic between application subnets, the gateway, and Foundry runs over Private Link, so prompt and completion payloads never traverse the public internet.
Content filtering and responsible-AI controls are applied at the platform layer as policy, not left to application configuration. A team cannot ship a workload that quietly opts out, because the opt-out is not reachable from where they deploy. Retrieval-augmented generation is served from indexed enterprise content with document-level access trimming, so a user’s results respect the permissions they already have rather than flattening them at the point of retrieval.
Every request emits a structured telemetry record to Azure Monitor: the consuming workload, the model, token counts in and out, latency, and whether a guardrail intervened. That record is what makes both the cost story and the audit story possible.
The whole environment is defined in Terraform and deployed through the same pipelines as the rest of the estate. Adding a workload is a pull request, not a ticket.
Key decisions
A gateway rather than direct endpoint access. Direct access is faster to stand up and impossible to govern afterwards. Putting the gateway in from the start meant quotas, filtering, and telemetry were properties of the platform rather than things each team had to remember.
Guardrails as policy rather than documentation. Written standards describe intent; policy enforces it. Controls that teams could disable would eventually be disabled, usually under deadline pressure.
Token budgets as a first-class primitive. Each workload has a budget with alerting before it becomes an overspend. Cost became an engineering signal available at design time, not a finance surprise a month later.
Retrieval before fine-tuning. Grounding answers in current enterprise content solved most real use cases without creating the model-lifecycle and data-residency obligations that fine-tuning brings.
Outcome
The platform moved generative AI from something the organisation was doing cautiously into something it could put in front of regulated clients, with guardrails, content filtering, and responsible-AI controls enforced centrally and cost attributable per workload.
It also became the technical foundation for the wider AIOps initiative. Because access, telemetry, and cost controls were already solved, later agentic and multi-agent work started from a governed baseline rather than rebuilding the same controls a second time.