Modernization is important in order for companies to keep up with evolving industry conditions, but some businesses may be modernizing at a faster pace than their software can keep up with.
Eric Minick, DevOps evangelist at CodeLogic, and Brandon Tylke, chief software architect at CodeLogic, explained why it’s important to take a data-first approach to any modernization efforts.
“Where the complexity seems to accumulate, time after time that’s caused by a mismatch between what the business logic is trying to achieve and how the data is architected.”
Minick recommends documenting any information that you know you will need in the future as these systems are being architected and built. That way, complexity can be managed and when you need to find something down the road you can easily access it. “Pull it together as it’s in-flight so that if you need to say ‘where is everything?’ you’ve got it all in one place,” he said.
This documentation can also be helpful in modernization scenarios that involve breaking up applications into smaller pieces.
To explain why a data-first approach is beneficial, Minick and Tylke gave an example of a common pattern they see from customers. When moving to microservices architectures, the path is often to try to pull services from a monolith one by one, connect back to that monolith at the API layer, and then eventually refactor the database. But according to Tylke, often companies will stop before getting to that third step.
Companies who take these steps in reverse might fare better, according to Tylke, because they’re looking at the data first, which lends itself to being able to better think about how the application can logically be broken up.