The world of enterprise technology is continuing to evolve at a rapid pace, and IT modernization remains a persistent challenge for big business. Companies recognize the benefits of new applications to drive revenue, but fail to plan for the inevitable costs of maintaining and migrating what has been created thus far. In an effort to keep up, for many enterprise-class organizations, system architecture has grown unintentionally complex as their portfolio of applications has increased. There is no silver bullet in the quest for IT modernization, but as more organizations adopt this new approach to managing their infrastructure, a reactive approach is becoming increasingly popular.
Key factors impacting the pace of IT modernization for enterprise
Now people are building systems for realities where everything is distributed across cloud infrastructures, and latency comes down into the milliseconds.
product marketing lead at Lightbend
Early adoption of technology certainly serves as a competitive advantage in business. However, being at the forefront decades ago means those same systems that were once state-of-the-art are now several generations out of date. As an enterprise grows, acquisitions and mergers may also bring a collection of legacy applications to the overall portfolio, creating redundancy and leading to overall inefficiency.
Being big can mean being late to the scene in other ways as well. Solutions that are rolled out for general consumers and nimble startups are often refined for months or years before an enterprise-worthy version is released, leaving big business at the back of the line for innovation. Finally, the costs and risk associated with making changes to a large and complex system have prompted many organizations to delay upgrading in a timely fashion, increasing the risk that system components will break or fail when attempting a full-scale overhaul.
There is no more time to wait
According to Oliver White, product marketing lead at Lightbend, formerly TypeSafe, changes in infrastructure have become too profound to ignore. In speaking about demand for Lightbend's Reactive application development platform for the JVM, he stated, "Now people are building systems for realities where everything is distributed across cloud infrastructures, and latency comes down into the milliseconds, and that's where the competitive advantage is. How do you access data in a streaming way in this reality? It's the difference between data in motion compared to data in rest -- which is what the entire data ecosystem has been built off of in the last decade." Along with big data, mobile application development and the Internet of Things are pushing enterprises toward new solutions in ever-larger numbers.
When the time comes, how do enterprises move forward?
In the recent "Going Reactive 2016" survey, Lightbend collected responses from thousands of companies about their IT modernization strategy. The results showed four major approaches to the process. More than 40% of respondents indicated that they refactor legacy systems module by module. "Usually the approach in that case is to find the most mission-critical systems and see how you can begin to optimize or separate functionality into a prototype phase and begin building it that way," White said. Organizations that want to follow this modular path should develop a well-defined roadmap for each phase. This includes determining the definition of a successful outcome and creating a backup plan to roll back to a previous version if things go wrong.
White pointed to two additional strategies that are popular as well. "They can completely rewrite a new project, start over and try to create something that achieves the same things the old one did." For applications that are faltering primarily due to old technology rather than overall complexity, this approach may be cost effective. When the complexity itself is the challenge, starting over should include simplifying the system itself, if possible, to capture future savings in terms of ongoing application maintenance and integration. Service-oriented architecture, microservices and other modular solutions may come into play here to ensure that another monolith is not created that will have to be disassembled when the next generation of solutions becomes available.
Other organizations shave the existing stack and start by replacing bottlenecks and APIs. Such a strategy can work well when the overall system is working well and can continue to be maintained for some time. This is an attractive option for companies that already know where the bottlenecks are and when there are out-of-the-box or open source solutions that can be applied at a low cost without creating a domino effect of other issues.
The least popular option is sometimes one that the biggest companies are forced to choose. It involves creating a new front end and integrating it with a legacy back end. White explained, "We've actually seen that a few times. In particular, our customer Wal-Mart had a broad spectrum of legacy systems that were crucial and could not be replaced. What they did was take a reactive approach by using our framework to get that done with Java."
Regardless of the approach, enterprises are in agreement about one thing: It's time to react to the changes in infrastructure and architecture now. Waiting only makes the process more painful.
How has adopting a reactive approach to software development helped you? Let us know.