INFRASTRUCTURE

GCP Infrastructure from Scratch

Build scalable infrastructure from scratch for a growing startup

Client
Teester (now Skeepers)
Duration
6 months
Team Size
Solo DevOps + Lead Developer collaboration
Impact
Success

TECHNOLOGIES USED

Google Cloud PlatformTerraformKubernetesDockerGitLab CICloud SQLRedisLoad Balancer

GCP Infrastructure from Scratch

The Challenge

When I joined Teester (now part of the Skeepers group), a rapidly growing startup in the video advice sector, I faced a significant challenge. The existing infrastructure had been built by developers directly on the Google Cloud Console, creating several critical issues:

  • Security vulnerabilities: Many services were publicly exposed (GKE, Cloud SQL)
  • Network architecture: Everything deployed on the default network
  • No Infrastructure as Code: All changes made manually through console
  • Scalability concerns: Architecture couldn't support the startup's rapid growth
  • No automation: Manual deployment processes prone to errors

The mission was clear: rebuild the entire infrastructure from scratch while maintaining business operations.

The Solution

Phase 1: Infrastructure Design & Planning

I started by designing a completely new, secure, and scalable architecture:

  • Custom VPC network with proper subnet segmentation
  • Private GKE clusters with authorized networks
  • Private Cloud SQL instances accessible only from within the VPC
  • Bastion host for secure access to private resources
  • Load balancer configuration for high availability
  • Redis caching layer for improved performance

Phase 2: Infrastructure as Code Implementation

I developed comprehensive Terraform modules for:

  • Network Module - VPC, subnets, firewall rules for secure network segmentation
  • GKE Module - Private cluster configuration, node pools, security settings
  • Database Module - Cloud SQL instances, backup configuration, security policies
  • Load Balancer Module - SSL certificates, routing rules, health checks
  • Monitoring Module - Cloud Monitoring, alerting policies, dashboards
  • IAM Module - Service accounts, roles, permissions management

Phase 3: CI/CD Pipeline Setup

Working closely with the lead developer, I implemented:

  • Dual deployment strategy: Applications deployed to both old and new environments
  • Database synchronization: Real-time sync between environments
  • Automated testing: Comprehensive test suite for infrastructure changes
  • Rollback procedures: Quick recovery mechanisms in case of issues

Phase 4: Migration Execution

The migration was executed during a planned maintenance window:

  1. Final database synchronization
  2. DNS switchover to new infrastructure
  3. Traffic routing through new load balancers
  4. Monitoring and validation of all services
  5. Decommissioning of old infrastructure

Technologies Used

  • Google Cloud Platform: Primary cloud provider
  • Terraform: Infrastructure as Code
  • Kubernetes (GKE): Container orchestration
  • Docker: Containerization
  • GitLab CI: Continuous Integration/Deployment
  • Cloud SQL: Managed PostgreSQL database
  • Redis: In-memory caching
  • Cloud Load Balancer: Traffic distribution

Results & Impact

✅ Security Enhancement

  • All services moved to private networks
  • Proper IAM roles and permissions implemented
  • VPC firewall rules for network segmentation
  • Encrypted connections throughout the stack

✅ Zero-Downtime Migration

  • Successfully migrated without service interruption
  • No data loss during the transition
  • Seamless user experience maintained

✅ Improved Scalability

  • Auto-scaling GKE clusters
  • Database performance optimization
  • Load balancer configuration for high availability
  • Redis caching reducing database load

✅ Operational Excellence

  • Infrastructure as Code for all resources
  • Automated deployment pipelines

Client Testimonial

"Edwin worked with us for over a year on a complete overhaul of our cloud architecture and infrastructure modernization. Edwin is versatile: he's comfortable with the cloud, with Kubernetes and with pipeline management. Edwin brings valuable suggestions and helps us make the best decisions for our application deployment."

— Maxime Baconnais, Lead Tech at Teester


Project Duration: 6 months
Team Size: Solo DevOps Engineer + Lead Developer collaboration
Status: Successfully completed, infrastructure still running in production

Project Impact

Zero-downtime migration, enhanced security, automated deployments