Related Expertise: Technology Industry, Technology, Media, and Telecommunications
In an increasingly digital world, companies understand that enterprise software architectures yield tangible competitive advantage. Enterprise software architectures are the underpinnings of every technology-driven organization; not just hardware and software companies but also any organization that is building digital capabilities. Software architectures drive companies’ innovation capabilities, determine their economics of research and development, and influence their operating models and ability to grow. No wonder the choice of enterprise software architectures has become a strategic imperative in business today.
Over the last five decades, four major changes in enterprise software architectures have taken place. They’ve evolved from mainframe architectures to monolithic, tiered, and, most recently, cloud-native software architectures. (See “A Timeline of Enterprise Software Architectures.”) With the growing use of new technologies—such as artificial intelligence (AI), robotics, augmented reality (AR), and virtual reality (VR), powered by the Internet of Things (IoT) and 5G networks—there’s a pressing need for a new generation of software architectures.
Few companies realize that to be successful, they have to completely reevaluate the manner in which they build such software. The challenge is that many software applications nowadays are born distributed, having to work across multiple clouds, at the edge, and in application-specific devices. To build and scale such applications quickly, companies have to ensure their enterprise software architectures support new kinds of programming, deployment, and operational paradigms. That’s why we believe that the future of software architectures will be hyperplexed, by which we mean that they will have to support many widely-distributed software applications, several different types of devices, and new user experiences and interfaces. (See “Defining Hyperplexed Architectures.”)
Hyperplexed architectures, which we will describe at length in this article, will allow a step change in the development, deployment, operation, and maintenance of distributed software. They will spur innovative software applications and create new markets for distributed software, platforms, and software tools. Building software on hyperplexed architectures will also speed up the time to market and lower development costs. Finally, hyperplexed architectures will provide novel, and more personalized, real-time customer experiences.
Brace yourself for the new world of hyperplexed software architectures.
Today, three forces are driving change in enterprise software architectures—two that originated outside the software development process and one from within.
New Technology Paradigms. The wave of technological change we’ve just described has made it possible to develop many new business-centered and consumer-focused applications. The impact of those changes on software design, however, are twofold: one positive and one negative. On the one hand, the new technologies have developed platforms and tools that will help solve difficult problems cheaper and faster than ever before. On the other hand, they have greatly increased the complexity of software architectures, forcing companies to rethink how they develop software.
Changes in Customer Needs and Innovative Applications. Buyers’ expectations are changing rapidly. As the consumerization of the business enterprise continues, enterprise software applications are increasingly becoming AI- and data-driven. They’re providing new and personalized B2B customer experiences and are unlocking disruptive applications such as self- guided robotic surgery and AI-driven logistics. Next-generation applications will need to support several interfaces such as voice, wearables, touch, AR, and VR in addition to web and mobile. Consumer applications, too, are changing, driven by real-time connectivity and new hardware. For instance, sales of mobile gaming, AR, and VR devices are expected to increase at a compound annual growth rate of 65% between 2020 and 2024 and the use of wearable devices, such as watches and eyewear, will rise sharply over the next five years.
Rise of Open Innovation. Never before has open innovation been as much a part of software development as it is today. Open source software has become central to IT strategies, influencing every layer of the software stack, from operating systems and programming languages to middleware and development tools. Meanwhile, commercial open source companies like Red Hat and Docker, along with cloud vendors, are turning open source software into viable commercial products. Together, these forces have commoditized software development, shifting the speed, scale, and economics of innovation by offering powerful infrastructure and platform capabilities without companies having to sink capital up front. In addition to leveling the playing field with startups, open innovation has forced digital giants to embrace open source software and standards.
These three forces, which are coalescing on an unprecedented scale, reinforce each other. New technologies, accompanied by novel platforms, will catalyze fresh applications and digital innovations—which, in turn, will drive the need for newer technologies, and so on. This virtuous cycle reinforces the need for hyperplexed software architectures. (See Exhibit 1.)
Unsurprisingly, new software designs, platforms, and frameworks have emerged to address the next generation of highly distributed applications. Next-generation cloud-based IoT platforms and mobile backend as a service (MBaaS) offerings, such as Firebase, provide capabilities such as offline data sync and push notifications; next-gen data platforms, such as IBM Cloud Pak for Data, help with data integration, virtualization, and distributed AI use cases; and the current generation of data middleware vendors, such as Snowflake and MongoDB Atlas, provide support for application workloads that span multiple clouds.
Despite these developments, however, our research and in-depth conversations suggest that even the latest platforms, cloud-native solutions, edge, and IoT platforms have numerous shortcomings. They tackle only bits and pieces of the problem that companies face, leaving large gaps in development tooling, security, and monitoring, among other things. Companies are investing a great deal of time and money to integrate solutions, but they’re unable to scale innovations quickly.
Our studies show that hyperplexed architectures will help overcome those deficiencies by offering six integrated capabilities. (See Exhibit 2.)
1. They will provide distributed platforms and control fabrics. Hyperplexed architectures will usher in new platform capabilities, supercharging the efficiency of software developers and shortening applications’ time to market. They will go beyond offering microservices and IoT frameworks to become the foundation on which companies deploy applications and services across heterogeneous infrastructures and the cloud. They’ll also provide next-generation run times and frameworks to help with advanced use cases such as distributed AI and real-time communications. The new architectures will provide transparent error handling, monitoring, and continuous integration/continuous deployment (CI/CD) pipelines for software development. Together, the next-generation platform capabilities will enable developers to build scalable software by allowing them to focus on business tasks, rather than worry about writing, piecing together, and maintaining fragmented frameworks and building blocks.
2. They will work transparently from the cloud to the edge and things. Today, companies run hybrid applications across multiple cloud and on-premise data centers, but soon they will have to go beyond the current boundaries. As edge computing grows, it will entail running fewer processes in the cloud and moving more of them to edge data centers, users’ computers, IoT devices, and edge servers, which will increase software architectural complexity.
Hyperplexed architectures will allow software developers to leverage distributed infrastructure footprints transparently and natively, akin to what hyperlocal cloud zones and modern content delivery networks are doing for latency-sensitive applications and gaming. Modern software applications are increasingly running on specialized hardware platforms such as wearables and VR headsets, application-specific integrated circuits and accelerators for AI and inferencing workloads, as well as field- programmable gate arrays for specialized use cases such as software-defined networking devices. Hyperplexed architectures will abstract much of those applications’ complexity and equip purpose-specific hardware devices seamlessly with software. In the future, every software stack will treat edge devices and hardware platforms as first-class citizens.
3. They will support multimodal experiences. Emerging software applications increasingly support novel user experiences such as voice, AR, VR, wearables, and touch. Gaming and front-end frameworks, such as Unity 3D and React 360, are already changing to support these experiences. In addition, driven by 5G networks, tomorrow’s applications will see the growth of low-latency use cases such as real-time predictive analytics and connected gaming. Hyperplexed frameworks will support these experiences and handle the user-experience challenges of real time accessibility, push notifications, localization, and multimodality.
4. They will manage complex security challenges. Hyperplexed software architectures will have much larger attack surface areas. The highly distributed nature of the software and the use of open source software will make applications harder to lock down, and security will have to be an integral part of the software stack. The new architectures will embrace zero-trust security design, provide robust identity and access management, and make encryption transparent. For example, they will deploy well-articulated and integrated security models to reduce risk, building in features such as security operations and AI-driven anomaly detection into software platforms.
5. They will use AI and data-driven ops. The number of connected devices, the scale of telemetry data collection, and the scope of computation will demand that operations are kept cost-effective. Doing that will require specialized tools and AI-driven operations. Athough these are early days yet, digital giants and a number of small startups are innovating rapidly, and a slew of AIOps (artificial intelligence operations) offerings are beginning to arrive in the market.
Hyperplexed software will provide integrated monitoring and telemetry and allow operations and IT teams to steer policy-driven compliance and governance. They will preemptively flag risks and identify the causes of problems based on databased insights. As the algorithms learn, companies will use AI to automatically optimize the configuration of applications, services, and IT environments when conditions change.
6. They will catalyze new ways of working. Hyperplexed applications will unlock multiple new use cases and cause a paradigm shift in how software applications are built, tested, and operated. Companies therefore will have to invest in building new skills as well as transforming traditional teams and their ways of working. The demand for new engineering disciplines, such as systems engineering and combined hardware-software engineering, will increase as will the use of data-driven innovation. Tomorrow’s platforms will accelerate the trend of more social and collaborative development. That will enable software firms to create products rapidly, be leaner, and employ ultralight software-development methods.
Three trends are shaping the development of the next generation of software architectures.
One, industry consortiums—such as the Storage Networking Industry Association and the Internet of Things Consortium—will help drive the development of new standards and blueprints. In the past, these bodies have been instrumental in bringing industry players together in order to establish standards such as Bluetooth, Java Enterprise Edition, and the Common Information Model.
Two, open source innovation and community-driven efforts will continue to play a major role in the evolution of enterprise software, just as they did in the development of mobile, cloud-native, and AI applications. Open source foundations, such as the Linux Foundation, the Cloud Native Computing Foundation, and the Apache Foundation—in partnership with cloud giants such as AWS, Google, Alibaba, IBM/Red Hat, and Microsoft and hardware giants such as NVIDIA/Arm, Tesla, and Apple—will drive the development of the next generation of platforms, run times, and application frameworks.
Three, commercial innovation will drive the specialization, verticalization, and improvement of open source solutions. The latter will appear in the form of proprietary software, such as Oracle’s and IBM’s development of early relational database management systems; and commercial open source software, such as the contribution of Red Hat and Databricks to systems software and analytics platforms, such as Linux and Spark.
Meanwhile, in 2014 Google led a consortium of a group of companies including Red Hat, IBM, and Microsoft in open sourcing Kubernetes, an extensible container orchestration platform. With multiple companies such as Amazon, VMware, and Huawei actively backing and contributing to it, Kubernetes is becoming the de facto foundation of the future, and it offers several capabilities that a hyperplexed platform must possess. For instance, Kubernetes provides both portability and robust DevOps through frameworks such as Helm, Spinnaker, and Tekton. Kubernetes also supports a wide mix of workloads, such as serverless and serverless-style functions through extensions like KNative and Kubeless, and traditional virtual machines through Kubevirt. The system offers infrastructure, networking, and communications abstraction, as well as self-healing AI operations and distributed monitoring. Kubernetes-based platforms are also being used to construct applications that span multiple clouds, and specialized distributions are emerging for embedded use cases, IoT devices, and appliances in unattended locations.
Kubernetes is increasingly being used in innovative ways, but it solves only a part of the problem; software developers still have to worry about operational details such as data-driven operations, multicluster management, and security. And Kubernetes isn’t optimized for power-constrained hardware or other specialized use cases such as real-time, low-latency communications. Although the use of Kubernetes may be popular, it’s clear that its ecosystem needs to evolve and be surrounded by next-generation run times, frameworks, and tools in order to become the hyperplexed platform of the future.
When it comes to software development today, it’s important to remember that entry barriers are lower and innovation speeds are faster than ever. That is why customer-centric innovation and speed-to-market have become critical for success. To be competitive, keep pace with technological change, and capitalize on business opportunities, technology-driven organizations—hardware and software companies as well as enterprises building multicloud, hybrid, and connected applications—must reexamine their software architectures. (See “BMW Group’s New Architecture for Developing Autonomous Driving Systems.”)
Three steps can help companies get started:
Software designs and architectures are, clearly, on the cusp of change. Developing a new generation of software architectures will allow companies to innovate faster, create new customer experiences, and shift the economics of software development. Companies that rely on legacy technologies and outdated approaches, however, will find themselves at a disadvantage.
Using hyperplexed enterprise software architectures is essential to reap the benefits of the technological changes that are under way. Being reactive isn’t an option because of the speed at which technology is changing, the intensity of competitive pressure, and the flood of private capital into software development. Hyperplexed architectures will become mainstream in the next three to five years, and unless companies stay ahead of that megatrend, they’ll never be able to catch up with rivals. As Marc Andreessen famously said a decade ago, “software is eating the world,” so you can only ignore it at your own peril.
The authors would like to thank Roger Premo, general manager, corporate strategy at IBM; Ashesh Badani, senior vice president, cloud platforms at Red Hat; and Brian Gracely, senior director of product strategy at Red Hat for their contributions to this article.