Let’s start by asking: “What makes our IT inefficient?”
The answer often comes down to: “The increasing complexity of our application architectures.”
Every application in our business has a well-defined scope that is implemented by a hard-coded user experience and CRUD interactions with an underlying record data silo. As we expand our business, we increase the number of applications. As we add more applications over time, they are implemented using different technologies. They are hosted in different ways: on-premise, IaaS, PaaS, and SaaS. Data is siloed in many different technologies and in many different places (a lot of SaaS data silos are actually maintained by third-parties). This means that our critical business data is highly fragmented, brittle, and vulnerable.
All this complexity increases IT operational costs and risks. It also limits the flexibility and agility of the business operations which reduces profitability and growth.
So if we want a more efficient IT engine, we need to reduce the complexity of our application architecture. That way, not only do we reduce the IT operational costs and risks, we also increase the flexibility and agility of business operations.
So how do we reduce application architecture complexity?
We need to start by reducing the number of applications and their associated data silos that are core to business operations. But we want to achieve this without a hard coded and complex monolithic application that’s hard to change and adapt. A different enterprise architecture pattern is required.
Most of the code in our applications is devoted to rendering a user experience and maintaining the associated record data silos. If we want to eliminate the applications, we need to find another way of delivering the same or better user experience without writing a lot of code.
A good place to start is to virtualize the user experience functionality instead of hard-coding it into our applications.
The vast majority of the code in our business applications moves data from a database and renders it on a screen for a user. All of this related code can be replaced by a couple of framework services that use configuration data to virtualize the user experience functionality.
- Data is no longer encapsulated by individual applications, it is shared by a framework data agnostic storage service.
- User experience is no longer hard-code by an application, it is rendered in real-time by a dynamic page builder on any device.
Virtualizing the user experience and CRUD functionality eliminates the need for many applications and their associated data silos. This reduces the IT operational costs for licensing, hosting, support, etc. At the same time, eliminating the application’s data silos and migrating data to a framework data agnostic storage service also reduces risk and makes it easier to implement sophisticated security, backup and DR strategies.
Since functionality is now configured instead of being hard-coded, the costs and timelines of creating new, or maintaining existing, functionality are also significantly reduced. This means that business flexibility and agility is increased which helps improve business profitability and growth.