graph TB
%% Production Environment Physical Architecture
%% Enterprise-grade Azure Cloud Architecture
Users[Mobile/Web Users
1만~10만 명] --> CDN[Azure Front Door
+ CDN]
subgraph "Azure Cloud - Production Environment"
CDN --> AppGateway[Application Gateway
+ WAF v2
Zone Redundant]
subgraph "VNet (10.0.0.0/16)"
subgraph "Gateway Subnet (10.0.4.0/24)"
AppGateway
end
subgraph "Application Subnet (10.0.1.0/24)"
subgraph "AKS Premium Cluster - Multi-Zone"
direction TB
subgraph "System Node Pool"
SystemNode1[System Node 1
Zone 1
D2s_v3]
SystemNode2[System Node 2
Zone 2
D2s_v3]
SystemNode3[System Node 3
Zone 3
D2s_v3]
end
subgraph "Application Node Pool"
AppNode1[App Node 1
Zone 1
D4s_v3]
AppNode2[App Node 2
Zone 2
D4s_v3]
AppNode3[App Node 3
Zone 3
D4s_v3]
end
subgraph "Application Services"
UserService[User Service
3 replicas, HPA
2-10 replicas]
TripService[Trip Service
3 replicas, HPA
3-15 replicas]
AIService[AI Service
2 replicas, HPA
2-8 replicas]
LocationService[Location Service
2 replicas, HPA
2-10 replicas]
end
end
end
AppGateway -->|NodePort 30080-30083| UserService
AppGateway -->|NodePort 30080-30083| TripService
AppGateway -->|NodePort 30080-30083| AIService
AppGateway -->|NodePort 30080-30083| LocationService
subgraph "Database Subnet (10.0.2.0/24)"
PostgreSQLPrimary[Azure PostgreSQL
Flexible Server
Primary - Zone 1
GP_Standard_D4s_v3]
PostgreSQLReplica[PostgreSQL
Read Replica
Zone 2]
PostgreSQLBackup[Automated Backup
Point-in-time Recovery
35 days retention]
end
subgraph "Cache Subnet (10.0.3.0/24)"
RedisPrimary[Azure Redis Premium
P2 - 6GB
Primary - Zone 1]
RedisSecondary[Redis Secondary
Zone 2
HA Enabled]
end
end
subgraph "Service Bus Premium"
ServiceBusPremium[Azure Service Bus
Premium Tier
sb-tripgen-prod]
subgraph "Message Queues"
AIQueue[ai-schedule-generation
Partitioned, 16GB]
LocationQueue[location-search
Partitioned, 16GB]
NotificationQueue[notification
Partitioned, 16GB]
end
end
subgraph "Private Endpoints"
PostgreSQLEndpoint[PostgreSQL
Private Endpoint
10.0.2.10]
RedisEndpoint[Redis
Private Endpoint
10.0.3.10]
ServiceBusEndpoint[Service Bus
Private Endpoint
10.0.5.10]
KeyVaultEndpoint[Key Vault
Private Endpoint
10.0.6.10]
end
subgraph "Security & Management"
KeyVault[Azure Key Vault
Premium
HSM-backed]
AAD[Azure Active Directory
RBAC Integration]
Monitor[Azure Monitor
+ Application Insights
Log Analytics]
end
%% Private Link Connections
UserService -->|Private Link| PostgreSQLEndpoint
TripService -->|Private Link| PostgreSQLEndpoint
AIService -->|Private Link| PostgreSQLEndpoint
LocationService -->|Private Link| PostgreSQLEndpoint
PostgreSQLEndpoint --> PostgreSQLPrimary
PostgreSQLEndpoint --> PostgreSQLReplica
UserService -->|Private Link| RedisEndpoint
TripService -->|Private Link| RedisEndpoint
AIService -->|Private Link| RedisEndpoint
LocationService -->|Private Link| RedisEndpoint
RedisEndpoint --> RedisPrimary
RedisEndpoint --> RedisSecondary
AIService -->|Private Link| ServiceBusEndpoint
LocationService -->|Private Link| ServiceBusEndpoint
TripService -->|Private Link| ServiceBusEndpoint
ServiceBusEndpoint --> ServiceBusPremium
ServiceBusPremium --> AIQueue
ServiceBusPremium --> LocationQueue
ServiceBusPremium --> NotificationQueue
%% High Availability Connections
PostgreSQLPrimary -.->|Replication| PostgreSQLReplica
PostgreSQLPrimary -.->|Auto Backup| PostgreSQLBackup
RedisPrimary -.->|HA Sync| RedisSecondary
%% Security Connections
UserService -.->|Managed Identity| KeyVaultEndpoint
TripService -.->|Managed Identity| KeyVaultEndpoint
AIService -.->|Managed Identity| KeyVaultEndpoint
LocationService -.->|Managed Identity| KeyVaultEndpoint
KeyVaultEndpoint --> KeyVault
UserService -.->|RBAC| AAD
TripService -.->|RBAC| AAD
AIService -.->|RBAC| AAD
LocationService -.->|RBAC| AAD
%% Monitoring Connections
UserService -.->|Telemetry| Monitor
TripService -.->|Telemetry| Monitor
AIService -.->|Telemetry| Monitor
LocationService -.->|Telemetry| Monitor
end
%% External Integrations
subgraph "External Services"
ExternalAPI[External APIs
OpenAI GPT-4 Turbo
Google Maps API
OpenWeatherMap API]
end
%% External Connections
ExternalAPI -->|HTTPS/TLS 1.3| AIService
ExternalAPI -->|HTTPS/TLS 1.3| LocationService
%% DevOps & CI/CD
subgraph "DevOps Infrastructure"
GitHubActions[GitHub Actions
Enterprise CI/CD]
ArgoCD[ArgoCD
GitOps Deployment
HA Mode]
ContainerRegistry[Azure Container Registry
Premium Tier
Geo-replicated]
end
%% DevOps Connections
GitHubActions -->|Build & Push| ContainerRegistry
ArgoCD -->|Deploy| UserService
ArgoCD -->|Deploy| TripService
ArgoCD -->|Deploy| AIService
ArgoCD -->|Deploy| LocationService
%% Backup & DR
subgraph "Backup & Disaster Recovery"
BackupVault[Azure Backup Vault
GRS - 99.999999999%]
DRSite[DR Site
Secondary Region
Korea Central]
end
PostgreSQLPrimary -.->|Automated Backup| BackupVault
RedisPrimary -.->|Data Persistence| BackupVault
ContainerRegistry -.->|Image Backup| BackupVault
BackupVault -.->|Geo-replication| DRSite
%% Styling
classDef azureService fill:#0078d4,stroke:#333,stroke-width:2px,color:#fff
classDef microservice fill:#28a745,stroke:#333,stroke-width:2px,color:#fff
classDef database fill:#dc3545,stroke:#333,stroke-width:2px,color:#fff
classDef security fill:#ffc107,stroke:#333,stroke-width:2px,color:#333
classDef external fill:#17a2b8,stroke:#333,stroke-width:2px,color:#fff
classDef devops fill:#6f42c1,stroke:#333,stroke-width:2px,color:#fff
classDef backup fill:#e83e8c,stroke:#333,stroke-width:2px,color:#fff
classDef privateEndpoint fill:#fd7e14,stroke:#333,stroke-width:2px,color:#fff
classDef nodePool fill:#20c997,stroke:#333,stroke-width:2px,color:#fff
class CDN,AppGateway,ServiceBusPremium,ContainerRegistry,Monitor,AAD azureService
class UserService,TripService,AIService,LocationService microservice
class PostgreSQLPrimary,PostgreSQLReplica,PostgreSQLBackup,RedisPrimary,RedisSecondary database
class KeyVault,KeyVaultEndpoint security
class Users,ExternalAPI external
class GitHubActions,ArgoCD devops
class BackupVault,DRSite backup
class PostgreSQLEndpoint,RedisEndpoint,ServiceBusEndpoint privateEndpoint
class SystemNode1,SystemNode2,SystemNode3,AppNode1,AppNode2,AppNode3 nodePool