Many IT professionals are familiar with the concept of an Enabling Technology Stack in terms of infrastructure. However, you can also take this concept to the next level and apply it to the technologies and tools you use to deliver software solutions, from integration platforms to low-code platforms, for example. This is a move that we are seeing more and more leading organizations making. But why would you do this and what is the benefit of such an approach?
The digital transformation has been talked about for years and we are at a point where virtually all organizations have become dependent on a digitally supported process for the core of their business operations. A process that stalls as soon as a problem occurs in one of the underlying applications. More and more we are seeing that the agility of organizations is coming under serious pressure due to obstacles in the core systems. A key example of this is the Tax and Customs Administration urging the House of Representatives to submit as few wishes as possible, due to the changes that need to be made to outdated tax systems. A period of six years is first needed to modernize the systems. Such a great lack of agility is highly undesirable.
The digital transformation goes hand in hand with the development that companies are increasingly thinking about what makes them unique. After many years of focus on standardization (particularly when it comes to core processes) and digitization mainly focused on the periphery, we are now seeing more and more companies experiencing obstacles in the core processes to further and necessary digitization.
New demands for stability, scalability, security and agility
These developments place new demands on software in terms of reliability, continuity, scalability and security. But certainly, also new demands when it comes to the speed with which solutions are realized. Not just when developing an exciting front-end app, but also when you have to adapt or further digitize your core processes, you will have to be able to adapt this software quickly or realize new solutions. That is why we are seeing organizations increasingly working on core applications with low-code tools.
All these factors are important drivers behind the rise of the cloud and behind the development that organizations want to better coordinate IT and operations. After all, the closer to the business the software development takes place, the better that software meets the needs and the more speed can be achieved in the development process. This explains the popularity of Agile and DevOps.
Prevent shadow IT from the cloud
However, the decentralization of IT development into DevOps teams operating close to the business also brings with it a new danger: the rise of shadow IT. Each development team chooses those cloud tools that help them. Tools in the field of low-code software development, integration, test automation and so on. Before you know it, each DevOps team is doing its own thing and you lose the overview. In a world in which applications function on a standalone basis, such a decentralized approach results in higher costs and a longer lead time if, for example, multiple applications have to be adapted to new laws and regulations. But in a world in which applications exchange data with each other, such a completely decentralized approach is also disastrous for the stability and reliability of the entire application landscape. Not to mention the consequences for the quality, security and privacy of the data flowing through these applications.
If you want to combine decentralized freedom and the development of high-quality and reliable applications from a strong and shared basis, you need an Enabling Technology Stack.
Combine freedom and quality
If you want to combine the two worlds – decentralized freedom and the development of high-quality and reliable applications – you need an Enabling Technology Stack. An Enabling Technology Stack is a carefully composed combination of technologies for the different required levels, such as infrastructure, integration and application. A combination that provides for the foundation on which all solutions using this stack can be effectively developed, operated and maintained. Such a stack ensures that not only the infrastructure is properly set up, but also the layers above it.
As mentioned, the concept of an Enabling Technology Stack has been around for a long time. It has always focused on standardizing the infrastructure so that solutions can be operated and maintained on it effectively. With developments in the cloud and the pressure on digitization, the concept can now also be applied to the development of software solutions. In this regard, an Enabling Technology Stack focuses on building a broad and flexible set of technical capabilities, with the aim of optimally supporting the business in realizing business value.
Enabling Technology Stack for low-code
An example of an Enabling Technology Stack is the Hybrid Integration Platform, which in effect is an Enabling Technology Stack in the field of integrations (see box). Another example is a company-wide choice to work with a low-code development platform, or a combination of several of them when developing apps. Or with one platform for test automation. An Enabling Technology Stack brings all these developments together.
More and more organizations are thinking about reorganizing their technology architecture and looking at how they can deploy low-code in this. It is important to understand that no two low-code platforms are the same. The diversity of capabilities within low-code providers is increasing rapidly. One platform is ideally suited for the development of apps for end-users, while another excels in the data-intensive, transaction-intensive and rule-intensive automation of core processes. Gartner has also noted this development and expects large organizations to even combine more than four low-code platforms. In this way, they create a best-of-breed combination that offers a great deal of agility and scalability based on an Enabling Technology concept. And the same view also applies to integration and distribution.
Start with the foundation: a Business Rule Engine
An indispensable part of an Enabling Technology Stack is a Business Rule Engine: one central place where all business rules come together. Normally, business rules are hidden in all kinds of applications and interfaces. Hidden on purpose, in my opinion, because they are written in a language that is incomprehensible for the business and only understood by developers. Often no one knows exactly which rules are executed where. The moment you want to take processes out of their silo and digitize them end-to-end across multiple silos, you notice that applications sometimes have conflicting rules. This goes unnoticed as long as those rules are hidden in the application, but it leads to major problems and often incomprehensible decisions when those two applications are connected. Because one application says: turn left. While the other wants to turn right. A central Business Rule Engine determines which rule takes precedence over which other rule. This is also referred to as ‘(integral) orchestration’ and is often linked to the ambition to realize chain integration within operational processes.
A central Business Rule Engine is also indispensable because even a very small application can easily contain several dozen rules. A large application can of course have a multitude of rules. If you want data to flow freely through all applications, you can easily have hundreds of rules applying to that data. Without a central place where you record the rules and bring them together, you will never be able to uncover duplication and conflicting rules. And you certainly don’t get any insight into the blind spots.
Speed and stability hand in hand
In short, an Enabling Technology Stack is the way to quickly facilitate the DevOps teams in all the capabilities they need and to maximize the benefits of component reuse. And on the other hand, to facilitate a stable basis that ensures continuity, reliability, scalability and security with the solutions that are maintained for the organization. This way you give DevOps teams freedom but within limits. With the aim of optimally supporting the agility of the organization.
Hybrid Integration Platform
We are further developing the example of a Hybrid Integration Platform, a place where all integration capabilities come together. There are various tools for building integrations, such as an Enterprise Service Bus, tools to develop simple APIs and Complex Event Processing (tooling that you use for developing event-driven applications). Now that the development of integrations is becoming increasingly important, companies are finding that they can no longer organize all this centrally. Locally in the business, ‘citizen developers’ get to work with simple APIs. And that’s a good thing because it saves the central competence center time for the more complex integrations. To ensure that tooling does not grow uncontrollably, you offer tools selected by the organization via an Enabling Technology Stack. Essential integration competencies are represented in this: API management, application integration, file transfer, data pipelines and streaming. And for each competency, a tool is selected that best supports it. The use case determines which competencies are important in what situation, and therefore which tooling fits best.
Enabling Technology Stack
An Enabling Technology Stack is a combination of carefully selected and coherent technologies and services that form the foundation for applications. It ensures that applications are developed, used and maintained effectively. An Enabling Technology Stack thus covers different levels: from infrastructure and integration to applications.
This article is published in the AG Connect Magazine edition: April 2022.