How Buoyant Cloud helped a growing software company migrate from an aging monolithic VM-based platform to a scalable cloud-native architecture on Google Cloud — improving reliability, security, and delivery speed.
AT A GLANCE
Industry: Software / B2B SaaS
Platform: Google Cloud (GKE, PostgreSQL, Terraform, GitHub Actions, Argo CD, Helm)
Migration Scope: Monolith to microservices, SQL Server to PostgreSQL, CI/CD modernization
Services Delivered: Cloud Architecture, Platform Engineering, Application Modernization
Location: Canada
Engagement led directly by Amit Malhotra, Principal GCP Architect at Buoyant Cloud Inc., Toronto.
The Business Problem
A growing software company was operating on aging virtual machine infrastructure running a tightly coupled monolithic application stack.
The platform had supported the business for years, but the infrastructure and software dependencies were reaching end-of-life. Hardware refreshes were becoming unavoidable, operating system and application dependencies were becoming harder to maintain, and scaling the platform meant increasing cost and complexity.
At the same time, the business needed stronger reliability, better security controls, and improved data residency alignment to support growth and enterprise customer requirements.
What had once been stable infrastructure was becoming a business risk.
Scaling was slow. Releases were difficult. Reliability was inconsistent. And the company needed to modernize without downtime or disruption to customer workloads.
The challenge was not just migration — it was transforming the platform into a cloud-native foundation built for long-term scale.
What Needed to Change
End-of-life infrastructure was increasing operational risk
The existing VM-based platform relied on aging software and infrastructure dependencies that were becoming harder to patch, support, and scale.
The monolith was limiting agility
Application changes required full-stack deployments, slowing delivery and making releases riskier.
Database modernization was necessary
The legacy SQL Server environment lacked the flexibility, operational model, and cloud-native alignment needed for long-term scalability.
Scaling was inefficient and expensive
The infrastructure scaled vertically rather than horizontally, increasing cost and limiting elasticity.
Migration required zero downtime
Customer workloads could not tolerate service interruptions, making migration planning and execution significantly more complex.
The Modernization Strategy
I designed and led a phased modernization strategy focused on containerization, microservices decomposition, secure delivery, and cloud-native operational foundations.
Monolith containerization and microservices transition
The legacy application was containerized and progressively broken into smaller deployable services, allowing the team to move toward independent scaling and release cycles without requiring a full application rewrite.
GKE-based application platform
The new application platform was built on Google Kubernetes Engine, providing a scalable runtime with workload isolation, improved deployment controls, and high-availability architecture across zones.
Database migration from SQL Server to PostgreSQL with CDC
The legacy SQL Server database was migrated to PostgreSQL using Change Data Capture (CDC) to keep data synchronized during the migration window, reducing cutover risk and enabling near-zero downtime migration.
Terraform-based infrastructure foundation
All cloud infrastructure was rebuilt using Terraform, creating a repeatable and version-controlled foundation for networking, GKE clusters, IAM, storage, and database dependencies.
GitOps delivery with Helm and Argo CD
Application deployments were standardized using Helm and managed through Argo CD, creating a predictable and auditable deployment model with clear rollback paths.
CI/CD modernization with integrated security controls
GitHub Actions pipelines were introduced for build automation, validation, and deployment, with integrated security controls including SAST, dependency scanning, and secret scanning to improve release safety.
| Before | After |
|---|---|
| VM-based monolithic application | Containerized microservices on GKE |
| SQL Server on legacy infrastructure | PostgreSQL on cloud-native managed architecture |
| Vertical scaling with hardware constraints | Elastic horizontal scaling |
| Manual deployments and limited rollback | GitOps-driven deployments with rollback control |
| End-of-life infrastructure risk | Modern supported cloud-native platform |
| Slow developer releases | Faster independent service delivery |
What Changed After the Engagement
→ Legacy infrastructure fully decommissioned
→ Platform successfully modernized with zero customer downtime
→ Application scaling improved significantly through microservices and Kubernetes
→ Infrastructure costs reduced through elastic scaling and removal of hardware dependencies
→ Deployment speed improved through CI/CD and GitOps workflows
Beyond the technical metrics:
- Reliability improved through cloud-native high availability and workload orchestration
- Developer experience improved through independent service ownership and faster release cycles
- Security posture improved through modern IAM, secure CI/CD, and managed cloud services
- Data residency requirements were better aligned with cloud-region strategy
- The business now had a scalable platform foundation that could support future growth without hardware lifecycle constraints
Who This Is For
This type of engagement is common for software companies running legacy monolithic applications on aging infrastructure where hardware lifecycle, end-of-life software, scaling limitations, and release bottlenecks are starting to create operational and commercial risk.
If your application is still running on legacy VMs and your team is facing scaling issues, infrastructure risk, or modernization pressure, this is the kind of cloud-native transformation work I typically lead.