By Marc Zottner, Field CTO, VMware Tanzu
When you look at the Saqqara Necropolis, the oldest of Egypt’s pyramids, do you immediately discard it as an irrelevant relic? Not at all. You admire it for the architectural skill involved in its construction, and the story behind its eternal beauty.
What if we looked at legacy infrastructure in IT through the same lens? Too often, developers rush to discard mainframes and legacy infrastructure, immediately aiming to build something shiny and new. However, just as the Saqqara was revolutionary at the time of construction, acting as the origin point of Egypt’s 96 other pyramids, mainframes that we now classify as ‘legacy’ were the epitome of innovation when first set up. Like the thousands of blocks that built the pyramids in Saqqara, mainframe applications have thousands, even millions of lines of code. Each serves a very specific purpose, one that has probably outlasted the developer who first wrote the code. Only once this purpose is examined and understood can enterprises move onto successful app modernisation.
Understand the mindset – and then move on from it
Organisations have been rushing to modernise their IT infrastructure in the last decade, and the race to digitally transform has picked up even more since the beginning of the 2020 pandemic. Caution is important here, as decisions made in a rush today may end up hindering progress for decades to come.
But what if developers moved away from phrases such as “app modernisation” and “digital transformation”? Instead of immediately discarding existing infrastructure, it may be beneficial to focus on what you can learn from how it was built, and see how the original purpose of the software has evolved. When mapping the goals of a tech project, it makes sense to work backwards to understand what you need to achieve them. Imagine what most business-critical applications will look like in a decade: Will they be simply structured, easy to understand, highly functional, and low effort to evolve?
App modernisation shouldn’t be approached ‘tool-first’, ‘technology-first’ or ‘pattern-first’. Don’t start mingling with tools and technologies without first clearly understanding what you are trying to build and why. For example, an event-driven or microservice architecture does not make sense for all projects. Taking a step back to understand the business goals first is essential. Then a proper notional architecture can be derived before the right tools and frameworks should be selected to achieve these. The key to success lies in first understanding the truly desired outcomes of the modernisation work and prioritising them throughout. Defining early qualitative objectives and measurable key results is a spot-on practice to guide transformation journeys. Without such a compass, it is extremely easy to get lost in the depths of our majestic monolithic construction or swamped in a never-ending analysis-paralysis. This mindset empowers companies to successfully approach brownfield transformations, as well as greenfield cloud initiatives.
While the root causes of the core concerns are often obvious, proper solutions are not. Monolithic problems cannot be solved with the same thinking used to create them.
A timeless approach to app modernisation
Thinking about the next stages of the process, there are four elements of a successful application-modernisation project. The first is to begin having the end in mind, aligning all stakeholders on goals and non-goals. It is key to start small, even if your portfolio contains thousands of apps. Start with a single business unit and a handful of applications that matter, where a huge impact can be made. Test-driven development, continuous integration and continuous deployment can then be used to reduce manual processing time and increase determinism through automation.
It is also important to plan just enough to start, learn on the job, informing strategy and building new skills through hands-on effort, and loops of rapid feedback and result measurement. Lastly, break things down – iterate quickly and continually on thin slices of complex systems, focusing on high-level architecture before technology. Following these points enables tech teams to quickly focus on the right things and deliver impactful, iterative results. Building the first pyramid – the Saqqara Necropolis – enabled the Ancient Egyptians to learn and adapt their building methods, and build many more successful pyramids beyond that.