Architecture Overview
High-Level Description
This document describes the deployment of a React 18 frontend and Django 4.2.7 backend application on Google Cloud Platform for SMART360, utilizing a microservices architecture with containerized deployments on Google Kubernetes Engine (GKE). The application uses REST APIs for communication between frontend and backend services.
Architecture Diagram
Technology Stack
- Frontend: React 18
- Backend: Django 4.2.7 with Django REST Framework
- Container Orchestration: Google Kubernetes Engine (GKE) Standard Mode
- Caching: Redis
- Database: PostgreSQL (Single instance per environment)
- CI/CD: Jenkins
- Cloud Provider: Google Cloud Platform
- Load Balancing: Google Cloud Load Balancer
- CDN: Google Cloud CDN
- Storage: Google Cloud Storage (Static files)
- Monitoring: Google Cloud Console & Monitoring
Communication Architecture
- React frontend communicates with Django backend via REST APIs
- Redis is used for caching to improve application performance
- Frontend : Static files (React build artifacts) are served via Cloud CDN
Prerequisites
Required Tools and Access
- Google Cloud SDK (gcloud CLI)
- kubectl command-line tool
- Docker
- Jenkins access with Jenkinsfile configuration
- GitHub repository access
- Required GCP IAM permissions for:
- GKE cluster management
- Container Registry access
- Cloud Storage management
- Load Balancer configuration
GCP Services Enabled
- Google Kubernetes Engine API
- Cloud Load Balancing API
- Cloud CDN API
- Cloud Storage API
- Cloud SQL API
- Container Registry API
- Cloud Logging API
- Cloud Monitoring API
- Google Cert Manager
Infrastructure Components
Google Cloud Project Setup
Regions: us-central1 (Multi-Region US)
Environments: Development and Staging
Google Kubernetes Engine (GKE) Clusters
Development Environment
- Cluster Name: dev-smart360-gke
- Mode: GKE Standard
- Location: us-central1
- Environment: Development
- Domain: platform-dev.bynry.com
Staging Environment
- Cluster Name: qa-smart360-gke
- Mode: GKE Standard
- Location: us-central1
- Environment: Staging
- Domain: platform-staging.bynry.com
Networking
VPC Configuration
- VPC: Google Managed VPC (Default VPC)
- Load Balancing: Cloud Load Balancing with Application Load Balancer (ALB)
- CDN: Cloud CDN for static file delivery
- SSL/TLS: Google-managed SSL certificates
Platform DNS Configuration
- Development: platform-dev.bynry.com
- Staging: platform-staging.bynry.com
No Comments