विठ्ठलमाऊलीज्ञानेश्वरतुकारामपांडुरंगहरिएकनाथनामदेवरामकृष्णसोपानमुक्ताबाईचोखामेळाजनाबाईगोरा कुंभारॐ
← मुखपृष्ठ॥ श्री ॥№ 023

Nobody wants to talk about the K8s bill and the Heroku bill.

The awkward middle of a migration, when you are paying for both stacks and the results are not yet in, is not failure. It is the shape of the work.


The hook

A platform engineering lead sent me a screenshot last month. Two AWS invoices, side by side. The left one was Heroku. The right one was EKS. Both were five figures. "We are twelve months into the migration," she wrote. "Finance asked me if we made a mistake." She had not made a mistake. She was in the middle, and nobody had warned her the middle looks like this.


सासुरियां वीट आला भरतारा · Sick of Me: Both Homes

सासुरियां वीट आला भरतारा । इकडे माहेरा स्वभावें चि ॥ १ ॥
सांडवर कोणी न धरिती हातीं । प्रारब्धाची गति भोगूं आतां ॥ २ ॥
न व्हावी ते जाली आमुची भंडाई । तुका ह्मणे काई लाजों आतां ॥ ३ ॥
This abhanga names a specific stretch: the person is neither trusted by the world they came from nor yet welcomed by the world they are trying to enter. Both find them tiresome, for opposite reasons.


What I keep seeing

Month twelve of a Kubernetes migration off Heroku. Half the services are on the new platform, half on the old. Finance is looking at a spreadsheet showing both bills running simultaneously, each at roughly 60% of the pre-migration total. The savings pitch that started the migration promised the K8s bill would be lower. It is not, yet. The K8s bill is full-size on the migrated half, while the Heroku bill is only 40% smaller because the retained half is the harder-to-migrate half.

The team is doing everything right. The migration is going as designed. But nobody is happy in the internal review meeting. Finance wants to know when Heroku hits zero. Engineering wants to know when K8s complexity feels worth it. Both are asking for a rescue from the middle. There is no rescue from the middle. There is only through.

The mechanics

Any migration between two production platforms has a specific temporal shape. A pre-migration state where you pay one bill and hate it. A post-migration state where you pay a different bill and, ideally, hate it less. Between them: twelve to twenty-four months during which you pay both bills, both teams are stretched, no complete win can be declared, and every observer thinks the migration is failing.

The middle is not a bug. It is the actual duration of doing the thing properly. A migration with no middle either did not happen or destroyed the running system. The mechanical reason is straightforward: you cannot cut over a running production system in one step. The transition period requires both stacks to be operable simultaneously. That is two payrolls, two bills, two on-call rotations, and two operational contexts held in the team's head at once. I have never seen it take less than a year.

Where Tuka comes in

The abhanga describes the emotional geography of the migration middle with a precision that startles me every time: सांडवर कोणी न धरिती हातीं / प्रारब्धाची गति भोगूं आतां -- "nobody holds my hand at the crossing; I will bear the shape of what I have chosen." The team in the middle of a migration is neither trusted by the old platform's advocates (who see them as having betrayed it) nor welcomed by the new platform's community (who see them as insufficiently committed while half the services still run on the old stack). Both groups find the middle-team tiresome.

This is the shape of the work. Nothing is wrong. The specific error I have watched CTOs make in this stretch is trying to escape the middle by declaring victory early. Freeze the migration at 70%, keep a permanent small footprint on the old platform, call it done. The two bills persist forever. The team never gets its operational bandwidth back. The migration's original promise is quietly abandoned.

What I would actually do

Before starting a migration, publish the shape of the middle to your board and your finance team. Not as a risk. As the plan. Show them the graph of both bills, expected to overlap for twelve to twenty-four months, with the crossover point drawn in ink. When you are in the middle and everyone is asking for a rescue, pull out the graph. If the middle matches the shape you drew, keep going. If it exceeds the shape by more than 30%, then reexamine the scope. But do not let the discomfort of the middle become an argument against completing the crossing. The team that stops in the middle pays both bills forever.

Chetan Dhandal

B4kSC826qM
← Previousसांगतों तें तुह्मीं अइकावें कानीं
Next →अइकाल परी ऐसें नव्हे बाई