Note
Deploy to Azure - meant for a quick test: Private networking, dedicated hub, Dev, project 001. It doesn't expose all of the roughly 35 Azure resources you can choose from, or all SKU settings. Use it if you want to quickly build an agent with Foundry and AI Search, train an ML model with Azure Machine Learning or Databricks, build a front end with Container Apps, or run DataOps with Data Factory, it's a simple way to get that running with private networking. Read portal/README.md before you press it
But, it doesn't create dashboards automatically, and it leaves out other AI Factory features. For a governed factory, use the app, the CLI or the Factory API described below.Full set up
Private, WAF-aligned full stack landing zones with AI on Azure, used since 2019.
Governed Microsoft Foundry, Azure Machine Learning and +35 other Azure resources for full-stack development for every team, isolated across Dev, Stage and Prod environment. Reusable "Use Case Templates via "agent-factory" and "ml-factory" compatible with the already automated setup of the landingzones by the Azure factory.
A template way of working & Project way of working - plug and play.
- One governed lifecycle. Create a factory, add scale sets and projects, update or delete them through one reviewed API: CLI, Python SDK, wizards or an Azure Function.
- Private by design. Hub-spoke or Virtual WAN, private endpoints and DNS, isolation per team, Bicep through GitHub Actions or Azure DevOps.
- Operating models included. DataOps, MLOps and GenAIOps templates that run on the secure infrastructure.
- Subscription vending (auto).: Choose 1 team per Subscription/LZ or Multiple teams (e.g.Hackathons,Sandbox)
Set up ·
Architecture ·
Lifecycle API ·
Agent Factory ·
ML Factory ·
Documentation
MLOps and GenAIOps from the AI Factory you get from the Agent Factory and ML Factory
Welcome to the official Enterprise Scale Azure Factory repository.
This AI landing zone, est 2019, and is WAF aligned. It has been designed and used since 2019 for Azure Public Cloud but can be leveraged in the Azure Government and Sovereign Cloud, by configuration. This is an application landingzone that works both with VWAN Hub or a traditional Hub/Spoke
It is an enterprise scale solution for deploying End-2-End scenarios, into multiple isolated environments (Dev,Stage,Prod) with private networking in Azure. You may optionally add/remove services such as Azure Machine learning, AI Search or other services.
This Enterprise Scale Azure Factory repo is a plug and play solution that automates the provisioning, deployment, and management of Azure projects with AI a template way of working.
- Full stack ready landing zones with templates for DataOps, MLOps, GenAIOps to get an enterprise scale environment.
The deployed features follow Microsoft's Well-Architected Framework WAF to establish an isolated infrastructure intended to assist in moving from a Proof of Concept state to a production-ready application. It also includes templates for DataOps, MLOps and GenAIOps, compatible with the secure infra setup.
- The Azure Factory wraps multiple environments together: Dev, Stage, Prod, per team, called
Azure Factory project. - The Azure Factory sets up 1 to 3 AI Application Landing Zones per
Azure Factory projectandproject team(a team assigned to a project). - The Azure Factory scales with Azure Subscriptions, we call
scale sets, each team their own scaleset (3 Subscriptions = Application Landingzones) - Each Factory project (with its landingzones) is divided in two parts: COMMON & PROJECT specific, on resource group level - since required to align with WAF & CAF:
WAF Cost optimization: Reuse networking and common artifacts, across services in an architecture used by theuse caseand teamWAF Security:Least privileged accesssince the end-users does not need to have access on certain networking resources and other artifacts.Granular securityOperations:Reusingcommon artifacts also makes it easier to operate, such asCentralized Monitoring & Logging,Common securityseparated from granularRole Specific Access.- See full Documentation for more info
- The Azure Factory is designed, with its own compatible TEMPLATES for DataOps, MLOps, GenAIOps ( to avoid the challenges of incompatible security, etc)
- Each
Factory projectcanadd or remove +34 Azure services- e.g. Not only the GenAI part of a solution, but also to avoid the challenges of incompatible security with ease and full automation of creating an End-2-End solution with 100% private networking for: - Full AI: Both GenAI (Foundry) and Machine Learning (Azure Machine Learning, Azure Databricks) - Front-End (UI, Caching) - Back-End (Databases) - Integration (LogicApps, APIM, Eventhubs) - Soveregnity: On-premises link via Azure Arc to Azure Machine Learning, Kubernetes, for Sovereign Cloud purposes.
Note
Since Well-architected Framework does not recommend using the Azure Developer CLI (AZD) for production purposes (or other dev/preview technology such as Azure Verified Module(AVM), we removed those, to only use GA Azure CLI with orchestrator pipelines in Github Actionsor Azure Devops pipelines, or direct BICEP, ARM execution.
Also both a Managed Identity and Service principal is created for your team, to be able to automate the full GenAIOps process (via the GenAIOps template)
The Factory project can have 1 or many resources ENABLED=True to get a GenAI with Machine Learning baseline architecture automated in ~40min with resources: Microsoft Foundry, AI Search, Azure Machine Learning, Databricks + 2 Storage accounts, Keyvault, Monitoring, Dashboards, Private networking - optionally hybrid mode with public user access.
Via Factory feature flags you can add optional resources, re-run the Github action workflow (or Azure Devops pipeline) - to incrementally build your solution (e.g start without front-end in PoC).
The +35 resources a team can add via "enable" config, such as ARCHITECTURES seen in the image below:
- AI related: Microsoft Foundry, Azure OpenAI (standalone), Azure Machine Learning, Azure Databricks Bing Grounding, AI Search (on/off), Azure Speech, Azure Vision
- Front end/Backend hosting: Azure ContainerApps, Azure Webapp/function, AKS (fully private, and Azure Arc enabled)
- Data & Databases: Azure Cosmos DB, Elastic search, MongoDB, Azure SQL Database, PostgreSQL Flexible server, Azure cache for Redis, Azure Managed Redis (AMR)
- Integration & ELT/ETL/Streaming: Logic Apps, Azure Datafactory, Databricks, EventHubs, APIM - AI Gateway Hub(integration & IaC), Microsoft Onelake (integration: Snowflake, S3, etc)
- Includes two setup modes: Fully private AI factory or Standalone AI Factory (VPN, IP whitelist, Bastion, or Hybrid access)
- Supports both Github Actions or Azure Devops as orchestrator to kick-off network calculation and the IaC (BICEP)
Besides above, resources for connevity & security is also OPTINALLY added:
- Protect: Defender, Defender for AI, Application Gateway (WAF)
- Connect: Private Endpoints, Private DNS Resolver, Private DNS Zones, Azure VPN Gateway,APIM
- Native Azure Dashboards
- Custom Azure Dashboards (workbooks)
Besides above, optionally, automation exists for
- Factory Agent Chat
- Factory MCP Server
- Factory UX: Configuration Wizard, Governance, Observability
- Azure AI gateway (new SKU) integration
Set up Factory ·
Update ·
Configure
Architecture ·
Lifecycle API ·
Agent Factory ·
ML Factory
·
Documentation - Full
Documentation - Quick
Figure: Each team in the AI Factory, have their own floor with 1-35 resources, optinally to get above architectures. Each team can own multiple floors. You may turn ON/OFF Azure resources to remove cost. Easy to turn on again.
Tip
Tip: Use the github.com/azure/enterprise-scale-aifactory for stable releases of this accelerator - to get a bootstrapped repo (as a mirror repo, or "bring your own repo"). ESAF on github.com/azure. This bootstraps a repo for you - using this as a submodule repo.
-
AI factory - (Company: Epiroc)- Microsoft Customer Story-Epiroc advances manufacturing innovation with AI Factory creating data heaven -
Microsoft: AI Factory (CAF/MLOps)documentation : Machine learning operations - Cloud Adoption Framework | Microsoft Learn -
Microsoft: AI Factory (Well-architected framework, AI workload)WAF AI workload - Well-architected Framework | Microsoft Learn -
AI factory- Technical BLOG
Documentation & Microsoft Fabric
The Documentation is organized around ROLES via Doc series.
| Doc series | Role | Focus | Details |
|---|---|---|---|
| 10-19 | CoreTeam |
Governance |
Setup of AI Factory. Governance. Infrastructure, networking. Permissions |
| 20-29 | CoreTeam |
Usage |
User onboarding & AI Factory usage. DataOps for the CoreTeam's data ingestion team |
| 30-39 | ProjectTeam |
Usage |
Dashboard, Available Tools & Services, DataOps, MLOps, Access options to the private AIFactory |
| 40-49 | All |
FAQ |
Various frequently asked questions. Please look here, before contacting an ESML AIFactory mentor. |
It is also organized via the four components of the ESML AIFactory:
| Component | Role | Doc series |
|---|---|---|
| 1) Infra:AIFactory | CoreTeam | 10-19 |
| 2) Datalake template | All | 20-29,30-39 |
| 3) Templates for: DataOps, MLOps, *GenAIOps | All | 20-29, 30-39 |
| 4) Accelerators: ESML SDK (Python, PySpark), RAG Chatbot, etc | ProjectTeam | 30-39 |
You can optionally setup an arhcitecture with Microsoft Fabric, as below:

This repo has multiple usecase code examples, with Fabric IQ from Foundry.
Background: How the accelerator started 2019
ESML stands for: Enterprise Scale ML.
This accelerator was born 2019 due to a need to accelerate DataOps and MLOps.
The accelerator was then called ESML. We now only call this acceleration ESML, or project type=ESML, in the Enterprise Scale AIFactory
Innovating with AI and Machine Learning, multiple voices expressed the need to have an Enterprise Scale AI & Machine Learning Platform with end-2-end turnkey DataOps and MLOps.
Other requirements were to have an enterprise datalake design, able to share refined data across the organization, and high security and robustness: General available technology only, vNet support for pipelines & data with private endpoints. A secure platform, with a factory approach to build models.
Even if best practices exists, it can be time consuming and complex to setup such a AI Factory solution, and when designing an analytical solution a private solution without public internet is often desired since working with productional data from day one is common, e.g. already in the R&D phase. Cyber security around this is important.
Challenge 1:Marry multiple, 4, best practicesChallenge 2:Dev, Test, Prod Azure environments/Azure subscriptionsChallenge 3:Turnkey: Datalake, DataOps, INNER & OUTER LOOP MLOps Also, the full solution should be able to be provisioned 100% viainfrastructure-as-code, to be recreated and scale across multiple Azure subscriptions, andproject-basedto scale up to 250 projects - all with their own set of services such as their own Azure machine learning workspace & compute clusters.
To meet the requirements & challenge, multiple best practices needed to be married and implemented, such as: CAF/WAF, MLOps, Datalake design, AI Factory, Microsoft Intelligent Data Platform / Modern Data Architecture.
An open source initiative could help all at once, this open-source accelerator Enterprise Scale ML(ESML) - to get an AI Factory on Azure
ESML provides an AI Factory quicker (within 4-40 hours), with 1-250 ESMLProjects, an ESML Project is a set of Azure services glued together securely.
Challenge 1 solved:Marry multiple, 4, best practicesChallenge 2 solved:Dev, Test, Prod Azure environments/Azure subscriptionsChallenge 3 solved:Turnkey: Datalake, DataOps, INNER & OUTER LOOP MLOpsESML marries multiple best practicesinto onesolution accelerator, with 100% infrastructure-as-code
Same MLOps template can be used, since Azure Machine Learning pipelines supports DatabricksSteps, SynapseSparkStep/Fabric.
The below is how it looked like, when ESML automated both the infrastructure, and generating Azure machine learning pipelines, with 3 lines of code.
TRAINING & INFERENCE pipeline templates types in ESML AIFactory that accelerates for the end-user.
- 0.1% percentage of the code to write, to go from R&D process, to productional Pipelines:
This repository is a push-only mirror. Ping Joakim Åström for contributions / ideas.
Since "mirror-only" design, Pull requests are not possible, except for ESML admins. See LICENCE file (open source, MIT license)
Speaking of open source, contributors:
- Credit to
Marta Boryczkofor contributing with testing and designing extensions such as BYOSubnets, BYOAse. - Credit to
Sven Sowafor contributing to the Powershells script to add allprivate DNS zones to HUB(essential automation when not running in standalone mode) - Credit to
Christofer Högvallfor contributing! (kudos to the Powershell script, to enable Resource providers, if not exists)azure-enterprise-scale-ml\environment_setup\aifactory\bicep\esml-util\26-enable-resource-providers.ps1
- Credit to
Sofara Zoentsoafor contributing to the Github Actions translation from ADO pipeline for ESML-project type - Credit to
Kim BergandBen Kooijmanfor contributing! (kudos to the ESML IP calculator and Bicep additions for ESML-project type)







