IBM's Azure Foundry Enterprise Kit

Deployment Guide — Pillar 1: Infrastructure as Code

Value: This single deployment provisions 28 Bicep modules in a production-ready configuration — with RBAC, private networking, managed identity, Zero Trust controls, and monitoring pre-wired. Aligned with Azure CAF Landing Zone patterns, Well-Architected Framework, and Microsoft Zero Trust for AI. Without this kit, standing up equivalent infrastructure typically takes 4–6 weeks of platform engineering.

Prerequisites

  • Azure subscription with Owner or Contributor + User Access Administrator role
  • Azure CLI v2.60+ (az --version)
  • Bicep CLI v0.30+ (az bicep version)
  • Resource providers registered: Microsoft.MachineLearningServices, Microsoft.CognitiveServices, Microsoft.Search

Parameter Files

The kit ships with environment-specific parameter files in infra/bicep/parameters/:

FileEnvironmentNotes
dev.bicepparamDevelopmentMinimal SKUs, no private endpoints
prod.bicepparamProductionFull HA, private endpoints, premium SKUs
platform-dev.bicepparamMulti-LOB DevShared platform hub (no private networking, no firewall)
platform-staging.bicepparamMulti-LOB StagingShared platform hub (private networking, firewall enabled)
platform-prod.bicepparamMulti-LOB ProdFull HA, all security controls enabled
lob-banking-prod.bicepparamLOB ExampleBanking LOB spoke (confidential classification)
lob.template.bicepparamLOB TemplateTemplate with placeholders for new LOB onboarding

Deployment Steps

Step 1 — Authenticate

az login
az account set --subscription "<your-subscription-id>"

Step 2 — Register Resource Providers

az provider register --namespace Microsoft.MachineLearningServices
az provider register --namespace Microsoft.CognitiveServices
az provider register --namespace Microsoft.Search
az provider register --namespace Microsoft.DocumentDB

Step 3 — Deploy Infrastructure

az deployment sub create \
  --name "foundry-kit-$(date +%Y%m%d)" \
  --location eastus2 \
  --template-file infra/bicep/main.bicep \
  --parameters infra/bicep/parameters/dev.bicepparam

Step 4 — Verify Deployment

az deployment sub show \
  --name "foundry-kit-<timestamp>" \
  --query "properties.outputs"

Step 5 — Deploy Agent Application

Deploy an agent as a Foundry Agent Application (ARM resource) using the Python SDK with azure-ai-projects 2.0:

python sdk-starters/python/agent_client.py \
  --manifest agent-templates/knowledge-agent/agent-manifest.yaml \
  --toolbox toolbox-configs/knowledge-agent-toolbox.yaml

Multi-LOB Platform Deployment

Enterprise multi-LOB: For organizations with multiple lines of business, the kit provides a hub-spoke architecture with full isolation per LOB — separate networks, identities, Key Vaults, Cosmos containers, AI Search indexes, and Foundry Projects.

Step A — Deploy Shared Platform Hub

az deployment sub create \
  --name "foundry-platform-$(date +%Y%m%d)" \
  --location eastus2 \
  --template-file infra/bicep/main-platform.bicep \
  --parameters infra/bicep/parameters/platform-dev.bicepparam

Step B — Onboard LOBs via Self-Service CLI

# Automated onboarding with CIDR allocation, RBAC, and registry
python scripts/onboard_lob.py \
  --name banking \
  --display-name "Banking Division" \
  --env dev \
  --cidr 10.1.0.0/16 \
  --owner-group-id <ENTRA_GROUP_ID> \
  --data-classification confidential

# Or deploy LOB Bicep directly
az deployment sub create \
  --location eastus2 \
  --template-file infra/bicep/main-lob.bicep \
  --parameters infra/bicep/parameters/lob-banking-prod.bicepparam

Step C — Manage LOBs

python scripts/afek.py lob list --env dev        # List all LOBs
python scripts/afek.py lob status banking --env dev  # LOB health
python scripts/afek.py platform status --env dev   # Platform health
python scripts/register_lob.py info banking --env dev  # Registry details

CI/CD Pipelines

Pre-built pipelines for both platforms — each runs the full build → evaluate → deploy cycle with Azure AI Foundry Continuous Evaluation gates:

  • GitHub Actionspipelines/github-actions/agent-build-eval-deploy.yml
  • Azure DevOpspipelines/azure-devops/agent-pipeline.yml

Both pipelines run the full build → evaluate → deploy cycle with eval gates that block promotion if trust scores fall below thresholds. Evaluations run via azure-ai-evaluation SDK with results stored in Azure Cosmos DB.

Infrastructure Topology

The full deployment provisions 28 Bicep modules covering identity, networking, data, AI services, MCP hosting, governance controls, and Zero Trust enforcement:

Bicep ModuleAzure ResourceSKU (Dev)SKU (Prod)Purpose
managed-identitiesUser-Assigned MI3 identities: agent runtime, CI/CD deploy, monitoring
networkVNet + NSGsBasicStandard + DDoS5 subnets (incl. MCP), 6 Private DNS Zones
key-vaultAzure Key VaultStandardPremium (HSM)Secrets, certificates, CMK, ledger signing keys
app-insightsApp Insights + Log AnalyticsPer-GBCommitment TierAgent telemetry, KQL dashboards, alerting
cosmos-dbAzure Cosmos DBServerlessAutoscale 1000 RUDecision Ledger + agent memory databases
ai-searchAzure AI SearchBasicStandard S2RAG grounding with semantic ranker
foundry-projectAI Foundry Hub + ProjectBasicStandardAgent workspace + 3 model deployments
agent-applicationAgent Application (ARM)ARM-native agent packaging + versioned deploys
guardrailsFoundry GuardrailsMediumHighContent safety, PII, prompt attack defense
toolboxFoundry ToolboxCentralized tool registry + allowlisting
entra-agent-identityAgent Identity BlueprintAgent-scoped Entra identity (ZT-01)
api-managementAzure APIMDeveloperStandardAI Gateway: JWT, token limits, semantic caching
content-safetyAI Content SafetyFreeStandard S0PII detection, violence, prompt attacks
runtime-interceptorContainer AppsConsumptionDedicatedZT-05 runtime checks + kill switch
azure-policyAzure PolicyAuditDenyGovernance initiative + tag enforcement
continuous-evalEval PipelineDailyDailyScheduled quality monitoring + sampling
api-centerAzure API CenterFreeStandardPrivate MCP Tool Catalog for discovery + approval
function-mcpAzure FunctionsConsumptionPremiumEvent-driven MCP server hosting
container-app-mcpContainer AppsConsumptionDedicatedLong-running, stateful MCP server hosting

Post-Deployment

  1. Configure policy packs and enable Foundry Control Plane enforcement mode
  2. Set up continuous evaluation via Azure AI Foundry Continuous Evaluation
  3. Connect MCP adapters to enterprise systems and register in Foundry Toolbox
  4. Configure MCP Fleet Governance — Toolbox Lifecycle Manager, auth provider, Private Tool Catalog
  5. Configure Foundry Guardrails (content safety, PII, prompt attack defense) per agent
  6. Register agents in Agent 365 for cross-platform governance and observability
  7. Run the certification pipeline to promote agents through sandbox → staging → production
  8. Import the Azure Monitor Workbook and MCP Fleet Dashboard for agent fleet monitoring