Skip to content

Instantly share code, notes, and snippets.

@wheresrhys
Created October 26, 2018 12:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wheresrhys/dd87eaf7bdb59b0cce706719ad5e0a5e to your computer and use it in GitHub Desktop.
Save wheresrhys/dd87eaf7bdb59b0cce706719ad5e0a5e to your computer and use it in GitHub Desktop.
Dewey is end of life

TLDR;

Dewey is on its way out, to be replaced by https://biz-ops.in.ft.com. It's new, and by implication, imperfect. Please use it and let us know what you think.

Why replace Dewey?

FT's technical estate and its relationship to other aspects of the business are a complex web. Dewey's data layer was inadequate to the task of modelling this, so a decision was made to try rebuilding on top of a graph database. A few months later, and with a number of key dependencies (e.g. AWS cost allocation) already migrated from Dewey to the new Biz-Ops (Business Operations) data layer, it's time to migrate the administration of the data to a UI that talks directly to the new data layer, rather than via the imperfect proxy of an event log coming from Dewey.

What's different about Biz-Ops?

As touched on above, the major difference is that the underlying data structure is a graph. This means for example that where previously Cost Centre was a direct property on systems, now finding which Cost Centre to bill a system to is done via traversing the graph from System -> Team -> Group -> Cost Centre. While the relational database that powered Dewey (like any relational database) supported relationships to a degree, neo4j - Biz-Ops' database - is far more flexible when it comes to defining these. The hope is that it will be easier to extend Biz-Ops to model more and more aspects of FT tech and the wider business. For instance, as of a few days ago, we have almost all FT staff represented in biz-ops, read in from the people api which takes data from workday and other sources. We are also starting to build more intelligent tooling on top of the data (e.g. monitoring dashboards for teams), and better automation for getting data into Biz-Ops. This process will accelerate once we've completely migrated from Dewey to Biz-Ops.

How will this affect me?

Dewey won't disappear overnight, but features will start to fade away. To begin with, editing of non-systems and the relationships between them will be disabled in Dewey. The only things that will remain editable will be direct properties on systems and relationships between systems and teams. Links to the relevant Biz-Ops pages will be surfaced on Dewey to ease the transition. In time these links will become redirects, but for now it feels less disorientating to not redirect people.

Systems and relationships to teams will be editable in both Dewey and Biz-Ops for a while. Bear in mind that any changes made to systems in Biz-Ops will be overwritten by any changes made in Dewey... it's not ideal, but does avoid having a big bang release. We keep daily backups of the data, so it should be possible to retrieve any data that's accidentally overwritten.

Sometime within the next few weeks all Dewey pages will be redirected to https://biz-ops.in.ft.com (with the exception of /runbooks, which will move to a new runbooks.in.ft.com domain).

Please do give us lots of feedback. The new UI is a work in progress, so any pointers for how to improve it will be gratefully received.

Any questions? What if I need help?

Please contact us in the #biz-ops slack channel, or email reliability.engineering@ft.com. We will be running sessions to give staff a deeper introduction to the capabilities of the new Biz-Ops product in due course.

Thanks

It's been a huge effort getting this all done, so a big thanks to (in order of appearance) Laura Carvajal, Geoff Thorpe, Charlie Briggs, Katie Koschland, Rob Godfrey, Simon Legg & Maggie Allen. Also a special mention to David Balfour and the Origami team for giving us the tools and UX know-how to build an internal tool which - initial feedback suggests - is better looking and more intuitive to use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment