40M
Migrating 40 million comments without losing one
A full migration of the comment platform behind a high-traffic publisher, with instant rollback.
- typescript
- nextjs
- kubernetes
- stripe
Google Cloud solves a specific problem well: it moves you from administering machines to administering services. The database upgrades itself, storage does not fill up on a Sunday, and the cluster replaces a dead node without anyone noticing. When that is the problem, it pays. When it is not, it is a second platform to maintain on top of the one that serves users.
The honest test is what the workload actually does. With predictable traffic and a single service, a well-configured server wins on simplicity and on cost. With several services, teams that release independently and peaks nobody can predict, the orchestration pays for itself.
Where it is justified, most of the value sits in the boring parts: resource requests and limits that reflect measured usage rather than guesses, health checks that fail for the right reasons, secrets that never reach an image, and manifests templated per environment so staging and production differ only in what should differ.
The experience behind this is operating platforms of that size on GKE, with Cloud SQL as the managed database, Cloud Storage for served content and images published to Artifact Registry from continuous integration. The conclusion that follows is usually to use less infrastructure, not more.
What decides the bill is not the hourly price of the machines. It is how often data crosses zones, how many replicas are switched on just in case, and how long a test environment nobody turns off keeps running. Those three explain most end-of-month surprises, and all three are fixed by design decisions rather than by changing provider.
What stands out most when taking over someone else's project is how much infrastructure is switched on that nobody can explain: a test cluster from two years ago, replicas raised for a peak that has passed, storage buckets with no lifecycle policy. That inventory is always the first deliverable, because it decides both next month's bill and what can safely be touched.
The specifics
40M
A full migration of the comment platform behind a high-traffic publisher, with instant rollback.
Level 8
An MIT-licensed cPanel and WHM plugin, multi-tenant, with per-user encrypted tokens and a systemd-supervised daemon. No cron.
GKE
The layer nobody sees: Helm charts, a GKE Gateway API migration and per-environment deployment workflows, so a product team can ship without becoming cluster experts.
24M
Frontend, performance and production reliability on a real-time pricing platform.
How we work
The same process on a three-week engagement and on a two-year platform.
One session to understand the business process, not to show templates. We leave with priorities and a phased price.
Data model, integrations and a performance budget before the first screen is written.
Weekly releases to an environment you can visit. What gets approved gets deployed, it does not pile up.
Monitoring, verified backups and deployments anyone on the team can run.
It depends on what the workload does, not on the size of the company. A content site with predictable traffic runs better on a well-configured server with automated certificates and tested backups. Google Cloud starts to pay when there are several services with different release cycles, real traffic variability, or data requirements a single server cannot meet. This site runs as a Node application on ordinary cPanel, and that is the right call for what it is.
More than the invoice, and that is the part that surprises people. The real cost includes upgrading the cluster, maintaining its ingress and having someone who understands it at three in the morning. That belongs in the comparison next to the monthly figure, and it is why the answer is often to use less infrastructure rather than more.
Yes, starting with an inventory: which services exist, what deploys them, where the secrets live and how a bad deploy is stopped today. That produces the list of what is safe as it stands, what needs upgrading first, and what would be cheaper to simplify than to keep.
You plan for it on day one by deciding what is tied to the provider and what is not. Containers, Helm and Postgres move; a proprietary function welded to one service does not. The difference between a migration of weeks and a rewrite is decided at the start, not at the end.
Next step
We reply within one business day with a phased scope proposal, or with the reason we are not the right studio for it.
We use one analytics cookie to see which pages get read. No advertising, no profiling, and nothing is set without your permission. Read the cookie policy