Prerequisites
- Docker installed and running on your machine - Docker documentation
- Azure CLI installed and configured - Azure CLI setup guide
- Access to Cardinal’s private Azure Container Registry (enterprise clients only)
Azure OpenAI Model Access Requirements
For Azure Government Cloud Deployments: Cardinal requires access to a fine-tuned model hosted on Azure OpenAI Service. Due to Azure Government compliance and data sovereignty requirements, cross-tenant access from commercial Azure subscriptions is typically not permitted. Required Setup:- We will need access to deploy our fine-tuned model directly in your Azure Government subscription, OR
- You will need to provide us with a dedicated Azure OpenAI-enabled subscription within your organization’s compliance boundary
- FedRAMP and other compliance frameworks require all data processing to occur within authorized boundaries
- Cross-tenant dependencies from commercial Azure to Azure Government violate most security authorization boundaries
- Model inference must happen within your controlled environment
- Preferred: Grant us temporary access to deploy our model in your Azure Government OpenAI service
- Alternative: We can provide model artifacts and training procedures for you to recreate the model in your environment
- Enterprise: We can establish a dedicated Azure Government presence within your compliance boundary
Infrastructure Setup
Azure Infrastructure Prerequisites
Set up the basic Azure infrastructure:Cardinal-Specific Authentication
Configure Azure CLI and authenticate to Cardinal’s Container Registry:Option 1: Azure Container Instances (ACI) - Simple Deployment
Create Container Instance
Create a container instance with Cardinal-specific configuration:Container Instance YAML Configuration
Alternatively, use a YAML filecardinal-aci.yaml:
Option 2: Azure Container Apps - Production Deployment
Setup Container Apps Environment
Create Container App
Add Secrets for Container Apps
Deploy and Manage Cardinal
Container Instance Management
Container Apps Management
Compute Requirements
Cardinal requires specific compute resources for optimal performance: Container Instance Requirements:- CPU: 6.0 cores minimum
- Memory: 28 GB RAM minimum
- Storage: Uses container’s ephemeral storage
- Network: Public IP with port 8080 exposed
- Provides similar compute capacity as AWS m5.2xlarge
- Best price-performance ratio for Cardinal’s workload
- Standard_F8s_v2: 8 vCPU, 16 GB (compute-optimized, lower memory)
- Standard_D16s_v3: 16 vCPU, 64 GB (for scaling beyond single instance)
- Standard_E8s_v3: 8 vCPU, 64 GB (memory-optimized if needed)
Auto Scaling (Container Apps Only)
Container Apps provides built-in auto scaling based on HTTP traffic and custom metrics:HTTP-based Auto Scaling
CPU-based Auto Scaling
Load Balancer Integration
Container Apps includes built-in load balancing and ingress. For Container Instances, you can add Azure Load Balancer or Application Gateway:Application Gateway (for multiple ACI instances)
Cost Analysis
Monthly cost estimates (East US 2):Azure Container Instances
- 6 vCPU, 28 GB RAM: ~$380/month (24/7)
- Network: ~$5/month (public IP)
- Total: ~$385/month
Azure Container Apps
- 6 vCPU, 28 GB RAM: ~$350/month (24/7, with consumption billing benefits)
- Network: Included in pricing
- Total: ~$350/month
Comparison with VM (Standard_D8s_v3)
- Instance cost: ~$280/month (with reserved instance)
- Managed disk: ~$15/month (128 GB Premium SSD)
- Total: ~$295/month (requires more management overhead)
Monitoring and Troubleshooting
Container Instances Monitoring
Container Apps Monitoring
Azure Monitor Integration
Access comprehensive metrics through Azure Portal:- Navigate to Azure Monitor → Metrics
- Select your container resource
- View CPU, memory, network, and custom Cardinal metrics
- Set up alerts for critical thresholds