Atmora Tech

Kestrel Industrial · 2023

Moving Kestrel Industrial off a 19-year-old shop-floor system without stopping a line

Four plants, 300 machines and a VB6 application nobody could test safely. We replaced it one production cell at a time behind a routing gateway, keeping Oracle as the book of record until the final cell was live. Total unplanned stoppage across the entire programme came to 11 minutes.

  • Manufacturing
  • 16 months
  • 11 engineers, 2 OT specialists, 1 delivery lead
11 minutes
Total unplanned stoppage across 4 plants
24 h to 90 s
OEE reporting lag after cutover
2/year to 2/week
Production release cadence

The challenge

What was wrong

Kestrel ran four plants on a 19-year-old VB6 shop-floor system against Oracle 10g, with OPC-DA links to about 300 machines. There was no test environment: changes were made on the live server after the night shift and reverted by hand when they went wrong. A minute of stopped line time costs roughly GBP 4,000, so a big-bang cutover was never going to be approved, and plant WAN links drop for minutes at a time most weeks.

The approach

What we did

We strangled the old system cell by cell behind a gateway that routed each production cell to either the legacy application or its replacement. Oracle stayed the book of record for eight months while change data capture fed PostgreSQL, so rolling a cell back was a routing change rather than a data migration. Each plant runs an edge gateway holding 72 hours of local queue. We accepted up to 90 seconds of cross-site reporting lag instead of distributed transactions between plant and centre.

They cut over Plant 3 on a Tuesday afternoon and nobody on the line noticed anything had changed. That is the highest compliment I can pay a software project.

Daniel WhitcombeGroup Operations Director, Kestrel Industrial

Stack

What it runs on

  • C# .NET 8
  • Oracle 10g
  • PostgreSQL
  • Debezium
  • Apache Kafka
  • OPC UA
  • Azure IoT Edge
  • Terraform

Start a project

Tell us what is
breaking.

We reply within one working day, and the first call is with an engineer who would actually work on it — not an account manager. If we are not the right studio for the problem, we will say so on that call.

Start a project