Skip to content
ID — Bahasa IndonesiaContact on WhatsApp

← All client stories

Cloud migrationCS/01

From a single VPS to serverless CI/CD on Google Cloud

Outages every other week, then a major cyberattack. We moved Sefas Group off one VPS running uncontainerised CodeIgniter 2 services onto Cloud Run, Cloud SQL and Cloud Storage — and led the modernization of every app onto Laravel 11.

Client
Sefas Group
Sector
Energy & Utilities
Website
sefasgroup.com ↗
Scope
Google Cloud · Cloud Run · Cloud SQL · Cloud Storage · Laravel 11

The starting point

Sefas Group's applications all lived on a single virtual private server. Each was a PHP service built on CodeIgniter 2, installed directly on the host rather than packaged in a container, and every one of them read and wrote the same MySQL database running on that same machine.

That arrangement put the applications, the data and the uploaded files behind one point of failure, and it tied the codebase to a framework that stopped receiving updates years ago.

It showed. Systems were going down every other week.

Why they moved

Then a cyberattack caused a major security breach. That was the point at which management decided the platform could not simply be patched, and commissioned a full migration.

What we did

We migrated the whole deployment to Google Cloud. The services now run as containers on Cloud Run, the database moved to a managed Cloud SQL instance, and files moved to Cloud Storage — so compute, data and storage each sit on a platform built for that one job instead of sharing a single server.

As part of the migration, Tenaga led the rewrite of every application from CodeIgniter 2 to Laravel 11. Moving the code to a current, supported framework at the same time as the infrastructure meant the new platform started on a modern foundation rather than inheriting the old one.

Architecture diagram. Users sign in through Identity-Aware Proxy, a single login gateway, and reach the applications through a global external HTTPS load balancer. Eight stateless applications run on Cloud Run, migrated from the legacy host through Artifact Registry. Six of them share one Cloud SQL for MySQL 8.0 database; two high-availability applications use a separate database with regional high availability. Static and uploaded files sit in Cloud Storage, and outbound traffic leaves through a Serverless VPC Connector and Cloud NAT with a static IP to Oracle NetSuite ERP, Parsinger and Shell.
The Sefas Group platform on Google Cloud.Open full size ↗

Where it landed

Sefas Group now runs on containerised Laravel 11 applications on fully managed Google Cloud services, in place of a single hand-maintained server.

Visit Sefas Group at sefasgroup.com.

← Back to Tenaga Technologies