Skip to content

About

Enterprise Scale AIFactory (esml) - on Azure

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

53 stars

Watchers

7 watching

Forks

Latest commit

 

History

3,128 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enterprise Scale Azure Factory (ESAF) - submodule

Deploy to Azure

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

Header

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.

AI Factory onion architecture: five layers from the SDK to Azure Resource Manager, with the time spent in each layer
Architecture · five layers, one direction, time per layer

AI Factory architectures: each team gets its own private floor with architecture 01 or 02
Project architectures · a private floor per team, services on or off
MLOps: versioned data, training, evaluation, registration, approved release and monitoring
MLOps · from versioned data to a monitored model
GenAIOps: DataOps and retrieval-augmented generation with permitted, cited evidence
GenAIOps · governed knowledge, grounded answers
  • 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

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 ESAF Application Landingzones: CONCEPTS & DESIGN: Differentiators?

  • 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 project and project 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 the use case and team
    • WAF Security: Least privileged access since the end-users does not need to have access on certain networking resources and other artifacts. Granular security
    • Operations: Reusing common artifacts also makes it easier to operate, such as Centralized Monitoring & Logging, Common security separated from granular Role 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 project can add 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).

+ 35 Azure resources (on top of all platform related) for project teams

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

ESAF architectures 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.

Public links - AI Factory in CAF, WAF and customer examples

Documentation & Microsoft Fabric

Documentation:

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

LINK to Documentation

Microsoft Fabric

You can optionally setup an arhcitecture with Microsoft Fabric, as below: ESML flavour

This repo has multiple usecase code examples, with Fabric IQ from Foundry.

Background: How the accelerator started 2019

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

THE Challenge 2019

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 practices
  • Challenge 2: Dev, Test, Prod Azure environments/Azure subscriptions
  • Challenge 3: Turnkey: Datalake, DataOps, INNER & OUTER LOOP MLOps Also, the full solution should be able to be provisioned 100% via infrastructure-as-code, to be recreated and scale across multiple Azure subscriptions, and project-based to scale up to 250 projects - all with their own set of services such as their own Azure machine learning workspace & compute clusters.

THE Strategy 2019

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

THE Solution 2019 - TEMPLATES & Accelerator

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 practices
  • Challenge 2 solved: Dev, Test, Prod Azure environments/Azure subscriptions
  • Challenge 3 solved: Turnkey: Datalake, DataOps, INNER & OUTER LOOP MLOps ESML marries multiple best practices into one solution accelerator, with 100% infrastructure-as-code

IaC & MLOps TEMPLATES 2019: Templates for PIPELINES in project type ESML

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:

Contributing to Enterprise Scale Azure Factory?

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 Boryczko for contributing with testing and designing extensions such as BYOSubnets, BYOAse.
  • Credit to Sven Sowa for contributing to the Powershells script to add all private DNS zones to HUB (essential automation when not running in standalone mode)
  • Credit to Christofer Högvall for 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 Zoentsoa for contributing to the Github Actions translation from ADO pipeline for ESML-project type
  • Credit to Kim Berg and Ben Kooijman for contributing! (kudos to the ESML IP calculator and Bicep additions for ESML-project type)

About

Enterprise Scale AIFactory (esml) - on Azure

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

53 stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages