AWS Architecture
Document Version: 1.1
Last Updated: 2025-12-30
Purpose: Visual overview of Vellocity AWS infrastructure
SaaS Compliance Progress: 85% (January 21, 2026 deadline)
Overview
Vellocity runs on a production-grade AWS infrastructure designed for high availability, security, and scalability. The platform is 93% AWS-native for core infrastructure.
High-Level Architecture
┌─────────────────────────────────────────────────────────────────────────────────┐
│ INTERNET │
└─────────────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────────┐
│ EDGE LAYER │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Route 53 │ │ CloudFront │ │ WAF │ │
│ │ │ │ │ │ │ │
│ │ DNS Routing │ │ CDN │ │ Firewall │ │
│ │ *.vell.ai │ │ Static Assets│ │ Rate Limits │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────────┐
│ VPC: 10.42.0.0/16 │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ PUBLIC SUBNETS (3 AZs) │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────────────────────┐ │ │
│ │ │ APPLICATION LOAD BALANCER │ │ │
│ │ │ │ │ │
│ │ │ HTTPS:443 ──► Health Checks ──► Target Groups │ │ │
│ │ │ │ │ │
│ │ └────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │
│ │ │ NAT GW AZ1 │ │ NAT GW AZ2 │ │ NAT GW AZ3 │ │ │
│ │ └────────────┘ └────────────┘ └────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ APPLICATION SUBNETS (3 AZs) │ │
│ │ │ │
│ │ ┌───────────────────────────────────────────────────────────────────┐ │ │
│ │ │ AUTO SCALING GROUP │ │ │
│ │ │ │ │ │
│ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │
│ │ │ │ EC2 │ │ EC2 │ │ EC2 │ │ │ │
│ │ │ │ AZ1 │ │ AZ2 │ │ AZ3 │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ ┌──────────┐ │ │ ┌──────────┐ │ │ ┌──────────┐ │ │ │ │
│ │ │ │ │ PHP-FPM │ │ │ │ PHP-FPM │ │ │ │ PHP-FPM │ │ │ │ │
│ │ │ │ │ 8.2 │ │ │ │ 8.2 │ │ │ │ 8.2 │ │ │ │ │
│ │ │ │ └──────────┘ │ │ └──────────┘ │ │ └──────────┘ │ │ │ │
│ │ │ │ ┌──────────┐ │ │ ┌──────────┐ │ │ ┌──────────┐ │ │ │ │
│ │ │ │ │ Apache │ │ │ │ Apache │ │ │ │ Apache │ │ │ │ │
│ │ │ │ └──────────┘ │ │ └──────────┘ │ │ └──────────┘ │ │ │ │
│ │ │ │ ┌──────────┐ │ │ ┌──────────┐ │ │ ┌──────────┐ │ │ │ │
│ │ │ │ │ Queue │ │ │ │ Queue │ │ │ │ Queue │ │ │ │ │
│ │ │ │ │ Worker │ │ │ │ Worker │ │ │ │ Worker │ │ │ │ │
│ │ │ │ └──────────┘ │ │ └──────────┘ │ │ └──────────┘ │ │ │ │
│ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │
│ │ │ │ │ │
│ │ │ Scaling: Min 2 │ Max 6 │ Target CPU 50% │ │ │
│ │ │ │ │ │
│ │ └───────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ DATA SUBNETS (3 AZs) │ │
│ │ │ │
│ │ ┌────────────────────────────┐ ┌────────────────────────────┐ │ │
│ │ │ AURORA MYSQL │ │ ELASTICACHE REDIS │ │ │
│ │ │ Serverless v2 │ │ │ │ │
│ │ │ │ │ ┌──────────┐ │ │ │
│ │ │ ┌──────────────────┐ │ │ │ Primary │ │ │ │
│ │ │ │ Writer Instance │ │ │ │ Node │ │ │ │
│ │ │ │ 0.5 - 32 ACUs │ │ │ └────┬─────┘ │ │ │
│ │ │ └──────────────────┘ │ │ │ │ │ │
│ │ │ │ │ │ ┌────▼─────┐ │ │ │
│ │ │ ▼ │ │ │ Replica │ │ │ │
│ │ │ ┌──────────────────┐ │ │ │ Node │ │ │ │
│ │ │ │ Reader Instance │ │ │ └──────────┘ │ │ │
│ │ │ │ (Read Replicas) │ │ │ │ │ │
│ │ │ └──────────────────┘ │ │ TLS + AUTH Token │ │ │
│ │ │ │ │ Automatic Failover │ │ │
│ │ │ Encryption: KMS + TLS │ │ │ │ │
│ │ │ Backups: 7-day retention │ │ │ │ │
│ │ │ Backtracking: 24 hours │ │ │ │ │
│ │ └────────────────────────────┘ └────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
Network Topology
┌─────────────────────────────────────────────────────────────────────────────────┐
│ VPC SUBNET LAYOUT │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ VPC CIDR: 10.42.0.0/16 │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ AVAILABILITY ZONE A │ │
│ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │
│ │ │ PUBLIC │ │ APPLICATION │ │ DATA │ │ │
│ │ │ 10.42.0.0/20 │ │ 10.42.64.0/20 │ │ 10.42.128.0/20 │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ • ALB │ │ • EC2 Servers │ │ • Aurora │ │ │
│ │ │ • NAT Gateway │ │ • Queue Workers│ │ • ElastiCache │ │ │
│ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ AVAILABILITY ZONE B │ │
│ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │
│ │ │ PUBLIC │ │ APPLICATION │ │ DATA │ │ │
│ │ │ 10.42.16.0/20 │ │ 10.42.80.0/20 │ │ 10.42.144.0/20 │ │ │
│ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ AVAILABILITY ZONE C │ │
│ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │
│ │ │ PUBLIC │ │ APPLICATION │ │ DATA │ │ │
│ │ │ 10.42.32.0/20 │ │ 10.42.96.0/20 │ │ 10.42.160.0/20 │ │ │
│ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
Security Architecture
┌─────────────────────────────────────────────────────────────────────────────────┐
│ SECURITY LAYERS │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ NETWORK SECURITY │ │
│ │ │ │
│ │ WAF ──► Rate Limiting, SQL Injection, XSS Protection │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ SECURITY GROUPS │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │
│ │ │ │ ALB-SG │ │ APP-SG │ │ DATA-SG │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ IN: 443 │ ──► │ IN: 80 │ ──► │ IN: 3306 │ │ │ │
│ │ │ │ FROM: 0.0.0 │ │ FROM: ALB-SG│ │ FROM: APP-SG│ │ │ │
│ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │
│ │ │ │ │ │ │
│ │ │ │ ┌─────────────┐ │ │ │
│ │ │ └►│ REDIS-SG │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ IN: 6379 │ │ │ │
│ │ │ │ FROM: APP-SG│ │ │ │
│ │ │ │ OUT: DENY │ │ │ │
│ │ │ └─────────────┘ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ IDENTITY & ACCESS │ │
│ │ │ │
│ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │
│ │ │ IAM │ │ Cognito │ │ Secrets │ │ KMS │ │ │
│ │ │ Roles │ │ (SSO) │ │ Manager │ │ (Keys) │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ Instance │ │ User Pool │ │ DB Creds │ │ Encryption │ │ │
│ │ │ Profiles │ │ OAuth 2.0 │ │ API Keys │ │ Key Mgmt │ │ │
│ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ MONITORING & COMPLIANCE │ │
│ │ │ │
│ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │
│ │ │ CloudTrail │ │ GuardDuty │ │ Security │ │ Config │ │ │
│ │ │ │ │ │ │ Hub │ │ │ │ │
│ │ │ API Audit │ │ Threat │ │ Compliance │ │ Resource │ │ │
│ │ │ Logging │ │ Detection │ │ Findings │ │ Tracking │ │ │
│ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
CI/CD Pipeline
┌─────────────────────────────────────────────────────────────────────────────────┐
│ CI/CD PIPELINE │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌────────────────┐ │
│ │ GitHub │ │
│ │ Repository │ │
│ └───────┬────────┘ │
│ │ Push to main │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ AWS CODEPIPELINE │ │
│ │ │ │
│ │ ┌──────────────────────────────────────────────────────────────────┐ │ │
│ │ │ SOURCE STAGE │ │ │
│ │ │ │ │ │
│ │ │ CodeStar Connection ──► Fetch from GitHub │ │ │
│ │ │ │ │ │
│ │ └──────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌──────────────────────────────────────────────────────────────────┐ │ │
│ │ │ BUILD STAGE │ │ │
│ │ │ │ │ │
│ │ │ AWS CodeBuild │ │ │
│ │ │ ┌───────────────────────────────────────────────────────────┐ │ │ │
│ │ │ │ 1. Install PHP 8.2, Node.js 20 │ │ │ │
│ │ │ │ 2. composer install --optimize-autoloader --no-dev │ │ │ │
│ │ │ │ 3. npm install && npm run build (Vite) │ │ │ │
│ │ │ │ 4. Generate manifest.json │ │ │ │
│ │ │ │ 5. Package artifacts ──► S3 bucket │ │ │ │
│ │ │ └───────────────────────────────────────────────────────────┘ │ │ │
│ │ │ │ │ │
│ │ └──────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌──────────────────────────────────────────────────────────────────┐ │ │
│ │ │ DEPLOY STAGE │ │ │
│ │ │ │ │ │
│ │ │ AWS CodeDeploy (Rolling Deployment) │ │ │
│ │ │ ┌───────────────────────────────────────────────────────────┐ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ BeforeInstall ──► Health check setup │ │ │ │
│ │ │ │ │ │ │ │ │
│ │ │ │ ▼ │ │ │ │
│ │ │ │ AfterInstall ──► Fetch secrets, migrate DB │ │ │ │
│ │ │ │ │ │ │ │ │
│ │ │ │ ▼ │ │ │ │
│ │ │ │ ApplicationStart ──► Restart Apache, PHP-FPM │ │ │ │
│ │ │ │ │ │ │ │ │
│ │ │ │ ▼ │ │ │ │
│ │ │ │ ValidateService ──► Health check validation │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ └───────────────────────────────────────────────────────────┘ │ │ │
│ │ │ │ │ │
│ │ └──────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ AUTO SCALING GROUP │ │
│ │ │ │
│ │ ┌──────┐ ┌──────┐ ┌──────┐ │ │
│ │ │ EC2 │ │ EC2 │ │ EC2 │ │ │
│ │ │ ✓ │ │ ✓ │ │ ✓ │ Rolling update complete │ │
│ │ └──────┘ └──────┘ └──────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
AI/ML Services
┌─────────────────────────────────────────────────────────────────────────────────┐
│ AI/ML ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ AWS BEDROCK │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ TEXT GENERATION │ │ │
│ │ │ │ │ │
│ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │
│ │ │ │ Claude 3 │ │ Claude 3.5 │ │ Nova │ │ │ │
│ │ │ │ │ │ Sonnet v2 │ │ │ │ │ │
│ │ │ │ • Haiku │ │ Claude │ │ • Micro │ │ │ │
│ │ │ │ • Sonnet │ │ Sonnet 4.5 │ │ • Lite │ │ │ │
│ │ │ │ • Opus │ │ │ │ • Pro │ │ │ │
│ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │
│ │ │ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ IMAGE GENERATION │ │ │
│ │ │ │ │ │
│ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │
│ │ │ │ Stable │ │ Nova Canvas │ │ │ │
│ │ │ │ Diffusion XL │ │ │ │ │ │
│ │ │ │ │ │ AWS Native │ │ │ │
│ │ │ │ SDXL 1.0 │ │ Image Gen │ │ │ │
│ │ │ └──────────────┘ └──────────────┘ │ │ │
│ │ │ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ GUARDRAILS │ │ │
│ │ │ │ │ │
│ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │
│ │ │ │ Development │ │ Production │ │ Enterprise │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ PII Filter │ │ PII + Topic │ │ Full Safety │ │ │ │
│ │ │ │ (Relaxed) │ │ Blocking │ │ Controls │ │ │ │
│ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │
│ │ │ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ AMAZON POLLY │ │
│ │ │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌────────────────────────────┐ │ │
│ │ │ Neural TTS │ │ 10+ Languages│ │ Video Narration Pipeline │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ Matthew, │ │ en-US, en-GB │ │ PollyVoiceSynthesis │ │ │
│ │ │ Joanna, Amy │ │ es, fr, de │ │ Service integrated with │ │ │
│ │ │ + 20 more │ │ ja, ko, zh │ │ HybridVideoPipeline │ │ │
│ │ └──────────────┘ └──────────────┘ └────────────────────────────┘ │ │
│ │ │ │
│ │ Replaces: ElevenLabs, Speechify, Google TTS (December 2025) │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
Storage Architecture
┌─────────────────────────────────────────────────────────────────────────────────┐
│ STORAGE ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ AMAZON S3 │ │
│ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │
│ │ │ vell-iq-client │ │ vell-ai-tenancy │ │ {env}-app-assets│ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ Primary Uploads │ │ Bedrock/AI │ │ Static Assets │ │ │
│ │ │ User Documents │ │ Generated Media │ │ CSS, JS, Images │ │ │
│ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │
│ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ │ │
│ │ │ {env}-app-logs │ │ {env}-codedeploy│ │ │
│ │ │ │ │ │ │ │
│ │ │ Application Logs│ │ Deploy Artifacts│ │ │
│ │ │ 90-day Lifecycle│ │ Build Packages │ │ │
│ │ └─────────────────┘ └─────────────────┘ │ │
│ │ │ │
│ │ Configuration: │ │
│ │ • Versioning: Enabled │ │
│ │ • Encryption: AES-256 │ │
│ │ • Public Access: Blocked (account-level) │ │
│ │ • Presigned URLs: 7-day expiration │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ CLOUDFRONT CDN │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────────┐ │ │
│ │ │ │ │ │
│ │ │ Origin Access Control (OAC) ──► S3 Buckets │ │ │
│ │ │ │ │ │
│ │ │ Global Edge Locations ──► Low Latency Delivery │ │ │
│ │ │ │ │ │
│ │ │ Cache Behaviors: │ │ │
│ │ │ • /assets/* ──► Long TTL (static assets) │ │ │
│ │ │ • /docs/* ──► Medium TTL (documentation) │ │ │
│ │ │ │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
Messaging & Communication
┌─────────────────────────────────────────────────────────────────────────────────┐
│ MESSAGING ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ AMAZON SES │ │
│ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │
│ │ │ Security │ │ Transactional │ │ Bulk │ │ │
│ │ │ Channel │ │ Channel │ │ Channel │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ MFA Codes │ │ Order Confirms │ │ Announcements │ │ │
│ │ │ Password Reset │ │ Notifications │ │ Newsletters │ │ │
│ │ │ TLS Required │ │ │ │ (HubSpot) │ │ │
│ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │
│ │ │ │
│ │ VDM (Virtual Deliverability Manager) Enabled │ │
│ │ Guardian Optimization Active │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ SNS / SQS │ │
│ │ │ │
│ │ SNS Topics: │ │
│ │ • System Notifications │ │
│ │ • Marketplace Subscription Events │ │
│ │ • MFA/SMS Delivery │ │
│ │ │ │
│ │ SQS Queues: │ │
│ │ • EventBridge Scheduler Queue │ │
│ │ • Dead Letter Queue (DLQ) │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ API GATEWAY WEBSOCKET │ │
│ │ │ │
│ │ ┌───────────────────────────────────────────────────────────────┐ │ │
│ │ │ │ │ │
│ │ │ $connect ──► Lambda ──► DynamoDB (Connection Table) │ │ │
│ │ │ │ │ │
│ │ │ $default ──► Lambda ──► Process Message │ │ │
│ │ │ │ │ │
│ │ │ $disconnect ──► Lambda ──► Cleanup │ │ │
│ │ │ │ │ │
│ │ └───────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Channel-based broadcasting for real-time updates │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
Observability
┌─────────────────────────────────────────────────────────────────────────────────┐
│ OBSERVABILITY STACK │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ CLOUDWATCH LOGS │ │
│ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │
│ │ │ /vell/{env}/ │ │ /vell/{env}/ │ │ /vell/{env}/ │ │ │
│ │ │ application │ │ errors │ │ security │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ 90 days │ │ 90 days │ │ 1 year (prod) │ │ │
│ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │
│ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ │ │
│ │ │ /vell/{env}/ │ │ RDS Aurora │ │ │
│ │ │ audit │ │ Logs │ │ │
│ │ │ │ │ │ │ │
│ │ │ 1 year (prod) │ │ audit, error │ │ │
│ │ │ │ │ general, slow │ │ │
│ │ └─────────────────┘ └─────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ CLOUDWATCH METRICS & ALARMS │ │
│ │ │ │
│ │ Dashboards: │ │
│ │ • ALB Metrics (requests, latency, errors) │ │
│ │ • Aurora Performance (connections, CPU, storage) │ │
│ │ • Redis Metrics (connections, memory, evictions) │ │
│ │ • Application Health (error rates, response times) │ │
│ │ │ │
│ │ Alarms (SNS Notifications): │ │
│ │ • 5xx Error Rate > threshold │ │
│ │ • Unhealthy Target Hosts > 0 │ │
│ │ • Database Connection Exhaustion │ │
│ │ • Redis Memory Pressure │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ AWS X-RAY │ │
│ │ │ │
│ │ Distributed Tracing: │ │
│ │ • Lambda function traces │ │
│ │ • API Gateway request traces │ │
│ │ • Service map visualization │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
AWS Marketplace Integration
┌─────────────────────────────────────────────────────────────────────────────────┐
│ AWS MARKETPLACE INTEGRATION │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ MARKETPLACE APIS │ │
│ │ │ │
│ │ ┌────────────────┐ ┌────────────────┐ ┌────────────────┐ │ │
│ │ │ Catalog │ │ Agreement │ │ Metering │ │ │
│ │ │ API │ │ API │ │ API │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ DescribeEntity │ │ SearchAgreemnt │ │ BatchMeterUsage│ │ │
│ │ │ StartChangeSet │ │ GetTerms │ │ UsageRecords │ │ │
│ │ └────────────────┘ └────────────────┘ └────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────┐ ┌────────────────┐ │ │
│ │ │ Entitlement │ │ CleanRooms │ │ │
│ │ │ API │ │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ ResolveCustomer│ │ Secure Partner │ │ │
│ │ │ GetEntitlements│ │ Data Overlap │ │ │
│ │ └────────────────┘ └────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ SUBSCRIPTION FLOW │ │
│ │ │ │
│ │ AWS Marketplace │ │
│ │ │ │ │
│ │ │ Subscribe │ │
│ │ ▼ │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ SNS │ ──► │ Laravel │ ──► │ Cognito │ │ │
│ │ │ (Webhook) │ │ App │ │ (SSO) │ │ │
│ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌──────────────┐ │ │
│ │ │ Metering │ │ │
│ │ │ API │ │ │
│ │ │ │ │ │
│ │ │ Track Usage │ │ │
│ │ └──────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
Service Inventory
Compute & Hosting (100% AWS)
| Service |
Purpose |
Configuration |
| Amazon EC2 |
Application servers |
t3.medium, AL2023, PHP-FPM 8.2 |
| ALB |
Load balancing |
HTTPS:443, health checks |
| Auto Scaling |
Dynamic scaling |
Min 2, Max 6, CPU 50% |
| EC2 Image Builder |
AMI automation |
AL2023 base, PHP/Apache |
| Lambda |
Serverless compute |
WebSocket, Marketplace |
Database & Caching (100% AWS)
| Service |
Purpose |
Configuration |
| Aurora MySQL |
Primary database |
Serverless v2, 0.5-32 ACUs |
| ElastiCache |
Redis caching |
Redis 7.0, TLS, AUTH |
| DynamoDB |
NoSQL for WebSocket |
PAY_PER_REQUEST |
Storage & CDN (95% AWS)
| Service |
Purpose |
Configuration |
| Amazon S3 |
Object storage |
Versioned, encrypted |
| CloudFront |
CDN distribution |
OAC for S3, global edge |
Networking (100% AWS)
| Service |
Purpose |
Configuration |
| VPC |
Network isolation |
10.42.0.0/16, 3 AZs |
| Route 53 |
DNS management |
vell.ai hosted zone |
| ACM |
SSL/TLS certificates |
*.vell.ai wildcard |
| WAF |
Web firewall |
Rate limiting, common attacks |
| NAT Gateway |
Outbound internet |
One per AZ |
Security (100% AWS)
| Service |
Purpose |
| IAM |
Access management |
| Cognito |
Enterprise SSO |
| Secrets Manager |
Credential storage |
| KMS |
Encryption keys |
| Security Hub |
Security posture |
| GuardDuty |
Threat detection |
| CloudTrail |
API audit logging |
CI/CD (100% AWS)
| Service |
Purpose |
| CodePipeline |
Deployment orchestration |
| CodeBuild |
Build automation |
| CodeDeploy |
Application deployment |
| Systems Manager |
Configuration management |
| Stack |
Purpose |
prod-vpc.yml |
VPC, Subnets, NAT, VPC Endpoints |
prod-security.yml |
IAM Roles, Security Groups |
prod-compute.yml |
ALB, ASG, Launch Template |
prod-data.yml |
Aurora MySQL Cluster |
prod-redis.yml |
ElastiCache Redis |
prod-storage.yml |
S3 Buckets, Lifecycle |
prod-edge.yml |
Route53, ACM |
prod-cicd.yml |
CodeDeploy, CodeBuild |
prod-pipeline.yml |
CodePipeline |
prod-imagebuilder.yml |
EC2 Image Builder |
prod-obs.yml |
CloudWatch Logs, Dashboards |
| Stack |
Purpose |
vell-master-stack.yaml |
Orchestration |
vell-messaging-infrastructure.yaml |
SES, SNS |
vell-api-gateway.yaml |
REST + WebSocket APIs |
vell-observability.yaml |
Monitoring |
bedrock-guardrails.yml |
AI safety controls |
| Stack |
Purpose |
security-controls.yml |
Default SG lockdown |
network-hardening.yml |
VPC Flow Logs, NACLs |
Account Details
| Attribute |
Value |
| Account ID |
253265132499 |
| Primary Region |
us-east-1 |
| Backup Region |
us-west-2 (Bedrock fallback) |
| Domain |
app.vell.ai |
Key Features
- High Availability: 3 AZ deployment with automatic failover
- Scalability: Auto Scaling + Aurora Serverless v2
- Security: WAF, TLS everywhere, encryption at rest
- Cost Optimization: Serverless components, lifecycle policies
- Disaster Recovery: 7-day backups, 24-hour backtracking
- Compliance: CloudTrail, Security Hub, GuardDuty
References
- Infrastructure Templates:
/cloudformation/
- Build Configuration:
/buildspec.yml
- Deploy Configuration:
/appspec.yml
- Detailed Deployment Docs:
AWS_DEPLOYMENT_ARCHITECTURE.md
Document generated: 2025-12-28