Solvice Maps: Infrastructure and Deployment Guide
Infrastructure Overview
Solvice Maps runs on Google Cloud Platform (GCP) using a modern cloud-native architecture designed for high availability, scalability, and operational excellence. The infrastructure supports both real-time routing services and batch processing workloads with automatic scaling and comprehensive monitoring.Cloud Architecture
Platform: Google Cloud Platform
Project Structure:- Primary Project:
solver-285414
- Primary Region:
europe-west1
(Belgium) - Availability Zone:
europe-west1-b
- Secondary Regions: Available for multi-region deployment
- Compute: Google Compute Engine + Google Kubernetes Engine
- Storage: Cloud Storage for large results and OSRM map data
- Database: Cloud SQL (PostgreSQL) for request metadata
- Messaging: Cloud Pub/Sub for event-driven processing
- Networking: Global Load Balancer with Cloud CDN
- Monitoring: Cloud Monitoring + Cloud Logging
- Security: Cloud IAM + Secret Manager
Service Deployment Architecture
1. MapR Gateway Service (Primary API)
Deployment Platform: Google Cloud Run- Runtime: JVM 17 with Quarkus native compilation
- Container: Distroless base image for security
- Scaling: 0-100 instances with request-based auto-scaling
- Cold Start: < 100ms with native compilation
2. OSRM Service (Routing Engine)
Deployment Platform: Google Kubernetes Engine (GKE)- Cluster:
osrm-cluster
(3 nodes, n1-highmem-2) - Node Pool: Container-Optimized OS with SSD persistent disks
- Scaling: Horizontal Pod Autoscaler with custom metrics
Infrastructure as Code (Terraform)
Terraform Configuration Structure
Key Terraform Resources
Instance Template:Deployment Processes
1. CI/CD Pipeline (GitLab CI)
Pipeline Structure:2. Zero-Downtime Deployment Strategy
Rolling Update Process:- Health Check: Ensure all current instances are healthy
- New Instance Launch: Launch new instances with updated configuration
- Health Validation: Wait for new instances to pass health checks
- Traffic Migration: Gradually shift traffic to new instances
- Old Instance Termination: Terminate old instances after validation
- Rollback Plan: Automated rollback if health checks fail