LiveCreated forAd Your Service

Platform migration

The platform moved in steps from several hosting providers to one place, at the same address and with simpler maintenance.

What it is

Ad Your Service is an online marketing agency with a platform of its own for its marketing work. The platform has two parts. The team works in a website. Another part carries out tasks in the background. The two ran at different hosting providers. I moved the platform to one place in steps. The address stayed the same and the platform still works the same way.

WebsiteProvider AOverviewPeriodChannel
Background tasksProvider BFetching dataScheduled tasks
One placeThe same address
WebsiteBackground tasksTest environments

What it improves

One place to maintain

The website, the background tasks and the test environments run in the same place and are set up in the same way. The team now only needs to know one way of working.

One way to go live

An approved change goes live in the website and in the background tasks at the same time. Going live no longer works differently at each hosting provider.

Testing the way it runs live

A test environment is built in the same way as the live platform. So what the team sees in a test is also what goes live afterwards.

The problem

BEFORE

Spread across several providers

The website ran at one hosting provider and the background tasks at another. A test environment needed both. Each provider had its own settings and its own way of putting a change live. So the team had to do the maintenance in several places.

THE USUAL APPROACH

Why not everything in one go

The usual approach is to move everything in one go. If something then goes wrong, it is not clear what caused it, and the way back is long. That is why I moved the platform in steps. I could roll back every step.

The solution

THE ORDER

First the part nobody works in

The background tasks moved first, because nobody works with them directly. The website and the test environments only followed once the background tasks were running stably in the new place.

After the first step
Background tasksAt the new place
WebsiteStill at the old placeTeam works here
Test environmentsStill at the old place

THE ADDRESS

The address stays the same

The platform keeps the address it had. That address now just points to a different place. Whoever works with the platform finds everything in the same place. The team does not have to register any connection with an advertising platform again.

Before the moveProvider AAfter the moveThe new placeThe same address
ConnectionsRegistered to this address

WHAT STAYS

The database does not move along

The database stays where it is, because every test environment gets a database of its own there. Only the website, the background tasks and the test environments move.

DatabaseStayed where it wasLive platformTest environmentNew filter in the overviewTest environmentAnother change

THE WAY BACK

Every step can be reversed

The old environment stays in place until it is certain the new one works well. If something goes wrong, the address points back to the old environment.

The platform points toThe new placeThe old placeStill standing by

GOING LIVE

One route to live

Since the move, an approved change goes live by one fixed route. The website and the background tasks are then updated at the same time. The test environments take the same route.

New filter in the overviewApproved
WebsiteUpdated
Background tasksUpdated

CONTROL

The same list, before and after

Before and after every step comes the same checklist: signing in, making a connection, fetching data and the scheduled tasks. The next step only begins when the outcome is the same.

Old placeNew placeSigning inWorksWorksMaking a connectionConnectedConnectedFetching dataFetchedFetchedScheduled tasksStartedStarted
The samenext step

What it runs on

  • Container hostingRuns the website, the background tasks and the test environments.
  • Existing database serverStayed where it was and gives every test environment a database of its own.
  • Cron schedulerStarts the scheduled tasks and passes them on to the platform.
  • CI/CD pipelineUpdates the website and the background tasks as soon as a change is approved.

The payoff

Where the platform runsBeforeAt several hosting providersNowIn one place
Putting a change liveBeforeArranged differently per partNowOne fixed route for both parts
A test environmentBeforeDivided over two providersNowBuilt like the live platform