Azure Marketplace Deployment
Deploy Alactic AGI directly from Azure Marketplace with automated resource creation and configuration. This guide provides detailed steps and troubleshooting for marketplace deployments.
Deployment Overview
Azure Marketplace deployment creates and configures all required resources automatically:
- Azure OpenAI Service with model deployments
- Azure Cosmos DB for document storage
- Azure Key Vault for credential management
- Azure Storage Account for file storage
- Virtual Machine with Ubuntu 22.04
- Network infrastructure (VNet, NSG, Public IP)
- Managed Identity for secure access
Total Time: 15-20 minutes from start to fully functional application
Before You Begin
Ensure you have:
- Active Azure subscription
- Azure OpenAI Service access approved
- Selected target region that supports all services
- Contributor permissions on subscription or resource group
- Budget approved (~$72-$295/month depending on plan)
See Prerequisites for detailed requirements.
Step-by-Step Deployment
Step 1: Access Azure Marketplace
Option A: Direct Link
- Visit Azure Marketplace
- Search for "Alactic AGI"
- Click the offering card
Option B: Azure Portal
- Sign in to portal.azure.com
- Click "+ Create a resource"
- Type "Alactic AGI" in search
- Select from results
Step 2: Review Offering Details
Before clicking "Create," review:
- Plan options and pricing
- Publisher information (Alactic Inc.)
- Support contact details
- Terms of use and privacy policy
Click "Create" to begin configuration.
Step 3: Configure Basics
Subscription Selection
Subscription: [Select your subscription]
Choose the subscription where Azure OpenAI is approved.
Resource Group
Resource group: [Create new] alactic-agi-prod
Best Practice: Use dedicated resource group for easier management and cost tracking.
Region Selection
Region: East US
Recommended Regions:
- East US: Best overall availability
- West Europe: European data residency
- UK South: UK data residency
- Australia East: APAC deployments
See Regional Availability Guide for complete list.
Plan Selection
Plan: [Free / Pro / Pro+ / Enterprise]
| Plan | URL Limit | PDF Limit | Model Access | Monthly Cost |
|---|---|---|---|---|
| Free | 50 | 20 | GPT-4o mini | ~$72 + tokens |
| Pro | 200 | 100 | GPT-4o + mini | ~$147 + tokens |
| Pro+ | 1,000 | 500 | GPT-4o + mini | ~$295 + tokens |
| Enterprise | Unlimited | Unlimited | All models | Custom |
Application Name Prefix
Name prefix: alactic-prod
Used to name all resources (e.g., alactic-prod-vm, alactic-prod-cosmos).
SSH Authentication
Option 1: Generate New Key Pair (Recommended)
Key pair name: alactic-agi-ssh-key
Private key will be downloaded automatically after deployment.
Option 2: Use Existing SSH Public Key Paste your existing public key:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC... user@host
Step 4: Configure Model Deployments
OpenAI Chat Model Deployment Name
Chat model name: alactic-chat
This will be created automatically in Azure OpenAI Service.
Recommended Names:
alactic-gpt4o(Pro+ / Enterprise)alactic-gpt4o-mini(Free / Pro)alactic-chat(generic)
OpenAI Embedding Model Deployment Name
Embedding model name: alactic-embedding
Used for vector search functionality.
Model Version Selection
- GPT-4o:
gpt-4o(latest) - GPT-4o mini:
gpt-4o-mini(latest) - Embedding:
text-embedding-3-large
Models are deployed with auto-update enabled by default.
Step 5: Configure Networking (Optional)
Virtual Network
Create new VNet: Yes
Address space: 10.0.0.0/16
Subnet: 10.0.0.0/24
Public IP Configuration
Type: Static
SKU: Standard
DNS name: alactic-prod-eastus
Network Security Group Rules Automatically configured:
- Port 3000: HTTP (web interface)
- Port 22: SSH (management)
Advanced Networking (Enterprise Only)
- Private endpoints
- VPN connectivity
- ExpressRoute integration
- Custom DNS
Step 6: Configure Tags (Optional)
Add tags for organization:
Environment: Production
Department: IT
CostCenter: CC-12345
Owner: admin@company.com
Recommended Tags:
Environment: Production/Staging/DevelopmentApplication: Alactic-AGIManagedBy: Terraform/Manual/MarketplaceCostCenter: Your cost center code
Step 7: Review + Create
Review Configuration Summary:
- Subscription and resource group
- Region and plan selection
- Resource names and tags
- Estimated monthly cost
- Terms and conditions
Cost Estimation Example (Pro Plan):
Virtual Machine (D2s_v3): $140.00/month
Cosmos DB (Serverless): $5.00/month
Storage (5GB): $2.00/month
Public IP: $4.00/month
Azure OpenAI (variable): Estimated $20-50/month
----------------------------------------------
Total Estimated: $171-197/month
Accept Terms
- I agree to the terms and conditions
- I understand the pricing
Click "Create"
If you generated a new SSH key, download it immediately - you cannot retrieve it later.
Monitoring Deployment Progress
Deployment Timeline
Minute 0-2: Resource Creation
- Resource group created
- Managed identity created
- Key Vault created
Minute 2-5: Data Services
- Cosmos DB account provisioned
- Storage account created
- Azure OpenAI service deployed
Minute 5-8: Networking
- Virtual network created
- Network security group configured
- Public IP address assigned
Minute 8-12: Compute
- Virtual machine provisioned
- OS disk attached
- Managed identity assigned
Minute 12-20: Software Installation
- Custom script extension runs
- Python 3.11 installed
- Node.js 18 installed
- Application downloaded and configured
- Services started
Viewing Progress
Azure Portal:
- Go to "Deployments" in your resource group
- Click on the deployment in progress
- View "Deployment details" tab
- See individual resource status
Status Indicators:
- Creating: Resource provisioning in progress
- Succeeded: Resource created successfully
- Failed: Error occurred (see error details)
Common Progress Delays
Azure OpenAI Provisioning (3-5 minutes) Creating model deployments takes additional time. This is normal.
VM Extension (8-15 minutes) Software installation via custom script extension is the longest step.
Cosmos DB Initialization (2-3 minutes) Serverless Cosmos DB initialization can be slow on first deployment.
Post-Deployment Steps
Step 1: Retrieve Deployment Outputs
- Go to "Deployments" in resource group
- Click completed deployment
- Click "Outputs" tab
- Copy these values:
applicationURL
http://alactic-prod-vm.eastus.cloudapp.azure.com:3000
deploymentAccessKey
ak-7f8e9d0c1b2a3f4e5d6c7b8a9f0e1d2c3b4a5f6e
sshCommand
ssh -i /path/to/key.pem alacticadmin@alactic-prod-vm.eastus.cloudapp.azure.com
Step 2: Access Application
- Open applicationURL in browser
- Enter deploymentAccessKey at access gate
- Click "Verify Access"
- You're logged in!
Step 3: Verify Services
SSH into VM and check service status:
ssh -i your-key.pem alacticadmin@your-vm-fqdn
# Check all services
sudo systemctl status alactic-backend
sudo systemctl status alactic-frontend
sudo systemctl status nginx
# All should show "active (running)"
Step 4: Test Functionality
Upload a Test PDF:
- Click "Upload PDF"
- Select a document
- Click "Extract Content"
- Verify results
Process a Test URL:
- Click "Process URLs"
- Enter:
https://en.wikipedia.org/wiki/Artificial_intelligence - Click "Process"
- Verify extraction
Troubleshooting Marketplace Deployment
Deployment Fails at Resource Creation
Error: QuotaExceeded
Code: QuotaExceeded
Message: Operation could not be completed as it results in exceeding approved quota
Solution:
- Check VM quota in subscription
- Request quota increase
- Or choose different VM size
- Or deploy to different region
Error: ResourceNotFound - Azure OpenAI
Code: ResourceNotFound
Message: The subscription does not have access to Azure OpenAI Service
Solution:
- Verify Azure OpenAI access is approved
- Wait 24-48 hours after approval
- Or apply for access at aka.ms/oai/access
Deployment Succeeds but Application Not Accessible
Symptom: Cannot reach application URL
Checklist:
- Wait 20 minutes for full installation
- Verify NSG allows port 3000
- Check VM is running
- SSH and check service status
- Review logs:
sudo journalctl -u alactic-backend
Custom Script Extension Fails
Symptom: Deployment completes but services not running
Check Extension Status:
az vm extension list \
--resource-group your-rg \
--vm-name your-vm \
--output table
View Extension Logs:
ssh -i key.pem alacticadmin@vm
cat /var/log/azure/custom-script/handler.log
Common Causes:
- Package repository unavailable
- Insufficient disk space
- Network connectivity issues
- Invalid deployment script URL
Solution: Re-run extension manually:
az vm extension set \
--resource-group your-rg \
--vm-name your-vm \
--name CustomScript \
--publisher Microsoft.Azure.Extensions \
--settings '{"fileUris":["script-url"]}'
Model Deployment Not Found
Symptom: "Model deployment not found" error
Verify Models:
- Go to Azure OpenAI resource in portal
- Click "Model deployments"
- Verify models exist with correct names
If Missing: Create manually:
az cognitiveservices account deployment create \
--resource-group your-rg \
--name your-openai-account \
--deployment-name alactic-chat \
--model-name gpt-4o \
--model-version "latest" \
--sku-capacity 10 \
--sku-name "Standard"
Deployment Validation Checklist
After deployment, verify:
Azure Resources
- Resource group contains all expected resources
- All resources show "Succeeded" status
- No deployment errors in activity log
- Tags applied correctly
Networking
- Public IP is static and assigned
- DNS name resolves correctly
- NSG rules allow ports 3000 and 22
- VM can reach internet
Services
- alactic-backend is active and running
- alactic-frontend is active and running
- nginx is active and running
- No errors in service logs
Application
- Application URL is accessible
- Access key authentication works
- Settings page shows correct plan
- Can upload and process test PDF
- Can scrape and process test URL
Azure OpenAI
- Chat model deployment exists
- Embedding model deployment exists
- Models are active and ready
- Test API call succeeds
Cosmos DB
- Database created (alactic_v3)
- Container created (extracted_content)
- Connection from VM works
- Can write test document
Post-Deployment Configuration
Set Up Monitoring
Enable Azure Monitor:
az monitor diagnostic-settings create \
--name alactic-diagnostics \
--resource /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Compute/virtualMachines/{vm} \
--logs '[{"category":"AuditLogs","enabled":true}]' \
--metrics '[{"category":"AllMetrics","enabled":true}]' \
--workspace /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.OperationalInsights/workspaces/{workspace}
Configure Cost Alerts
- Go to "Cost Management + Billing"
- Create budget for resource group
- Set threshold alerts (80%, 100%)
- Add email recipients
Set Up Backup (Optional)
VM Backup:
az backup protection enable-for-vm \
--resource-group your-rg \
--vault-name your-backup-vault \
--vm your-vm \
--policy-name DefaultPolicy
Cosmos DB Backup: Automatic continuous backups are enabled by default (7 days retention).