Project Idea ‐ Hybrid Architecture - Campus-Castolo/m300 GitHub Wiki

🏗️ Project Overview

The objective is to design and implement a hybrid infrastructure where a local on-premises server continues to host critical legacy applications, while scalable services are offloaded to the AWS cloud. This setup supports business continuity, scalability, and disaster recovery.

Secure connectivity between the on-prem network and AWS is established via AWS Site-to-Site VPN or AWS Direct Connect. Docker images are built and tested locally, then pushed to Amazon ECR for deployment to ECS. A read-only replica of the on-prem database is maintained in Amazon RDS, enabling cloud-based analytics and reporting workloads without interfering with the local production system.

All logs are centralized in Amazon CloudWatch, covering both environments for unified observability. Additionally, daily on-prem backups are synchronized to Amazon S3, ensuring durable off-site storage and facilitating disaster recovery.


🛠️ Technologies and Tools

Category Tool/Service Purpose
Version Control GitHub Source code repository and CI trigger
Containerization Docker Build and test containers locally
Container Registry Amazon ECR Host production-ready images
Orchestration Amazon ECS Deploy containers in the cloud
Networking AWS Site-to-Site VPN / Direct Connect Secure connectivity between on-prem and AWS
Database (On-Prem) Legacy SQL/NoSQL DB Hosts core business data
Database (Cloud Replica) Amazon RDS (read replica) Sync on-prem DB to the cloud
Monitoring & Logging Amazon CloudWatch Unified logging and monitoring
Backup & Recovery Amazon S3 Off-site storage for daily on-prem backups
Infrastructure as Code Terraform Infrastructure deployment and versioning
Security IAM, Security Groups, VPN Tunnel Keys Access control and secure networking

🎯 Goals and Functionality

  • Hybrid Architecture

    • Maintain critical services on-prem
    • Offload scalable workloads to AWS
  • Secure Cloud Connectivity

    • Set up Site-to-Site VPN or Direct Connect for secure access
    • Enable private communication between environments
  • Containerized Workflow

    • Build and test Docker images on-prem
    • Push to ECR for deployment to ECS
  • Database Replication

    • Sync read-only replica of local DB to RDS
    • Offload read-heavy operations to cloud
  • Unified Monitoring

    • Centralize logs from local and cloud into CloudWatch
  • Durable Backup Strategy

    • Automate daily on-prem backup uploads to Amazon S3
    • Ensure off-site storage and disaster recovery readiness

⚠️ Probable Challenges

Area Potential Challenge Suggested Mitigation
Network Reliability Site-to-Site VPN can experience latency or drops Use Direct Connect or multi-tunnel VPN with failover
DB Sync Complexity Ensuring data consistency between on-prem and RDS Use dedicated replication tools and periodic verification
Cloud Migration Barriers Legacy apps may not be cloud-ready Containerize legacy components where feasible or use API gateways
Log Aggregation Merging logs from disparate systems Normalize log formats before pushing to CloudWatch
Backup Failures Upload interruptions or incomplete syncs Implement verification steps and retry logic
Security Management Handling different IAM and access models Implement federated access and use least-privilege policies
Resource Cost Management Hybrid model can cause unexpected cloud charges Use billing alerts and resource tagging for cost tracking
Terraform Complexity Managing state between on-prem and cloud resources Isolate modules and use remote backends for Terraform state