Composable Architecture: what′s in it and the vision behind
Recently, the terms "composable business" and "composable architecture" have been used more and more frequently in IT articles and presentations. Gartner has explained the concept behind these terms in more detail under the title "Future of Applications: Delivering the Composable Enterprise" (February 2020) and played a significant role in shaping it. The consulting guild gratefully picks up on such topics in anticipation of veritable revenue streams and offers corresponding services such as "The paths to the composable enterprise". The temptation is great to offer "old wine in new bottles", which is especially the case when certain (technological) prerequisites are not yet in place and the target image therefore has a rather visionary character. The reader may decide for himself whether this is the case here. This article is merely intended to make clear the scope of the task and to show in rudimentary form where SAP sees itself on this road.
??
What is a composable business?
?A composable business is a business model that is designed to be agile, flexible and responsive to changing market conditions and customer needs. A composable business leverages the principles of composable architecture to create a modular, adaptable, and interoperable technology infrastructure that can support dynamic business models and processes.
In a composable business, the focus is on creating and delivering value to customers quickly and efficiently by assembling and integrating modular capabilities in response to customer needs. Rather than building a monolithic application or service that attempts to do everything, a composable business leverages pre-built services and APIs to create new offerings and business models that can be quickly adapted to meet changing market demands.
?
In order to realize a "composable business" at the process level, you need a "composable architecture". Again, a new term, but you may already have an idea of what this is all about.
?
What is a composable architecture?
A composable architecture is an approach to building and managing complex systems that emphasizes modularity, flexibility, and adaptability. In a composable architecture, components or modules are designed to be easily combined and recombined to create new functionality and meet changing business requirements.
In contrast to monolithic architectures, which are built as a single, tightly integrated system, a composable architecture breaks a system down into smaller, discrete components that can be easily combined in various ways. These components are often designed as microservices or APIs, and are loosely coupled, meaning they can be swapped out or replaced without affecting the overall system.
Composable architectures enable organizations to respond quickly and effectively to changing business needs by allowing them to quickly assemble and deploy new applications or services using existing components. They also promote greater scalability, as components can be added or removed as needed to accommodate changes in demand or usage.
?
"Stop a minute," the gray-haired among us will now object, "that's been done before, hasn't it?" Basically, yes. Let's go back 20 years on the timeline and remember Shai Agassi, better known as "Shai, the Netweaver Guy"....
SAP NetWeaver is an integrated technology platform that serves as the foundation for many SAP applications. It provides a set of tools, services, and infrastructure components for building, deploying, and managing enterprise applications. One of the key features of SAP Net-Weaver is its support for SOA, which is a software design approach that emphasizes the creation of reusable and interoperable software components, called services.
The idea behind SOA is to break down complex applications into smaller, modular services that can be accessed and combined as needed to create new applications or processes. These services are typically designed to be platform-independent and can be accessed using standard communication protocols like HTTP or SOAP.
Basically, the same idea as with the "composable architecture" was in the foreground here. Of course, programming today is service-oriented. But the goal of plugging together any process from small modular services was not reached in my estimation. Be it because the technological possibilities were not sufficient for it 2 decades ago, or be it because the time was simply not yet ripe for it.
?
But back to "composable architecture". From what has been said so far, it is clear that in the future two factors will be decisive for turning vision into reality: "Composability" requires...
?
Now take a breath and think for a moment: while in the SAP R/3 and early ECC era the focus was on the business processes, in the shadow of which the technology stack slowly grew up, under the "composable architecture" it lies where? Correct - on the technological platform! The individual functional modules can be as "sophisticated" as they like: without the platform, which is able to orchestrate these modules into a meaningful whole, nothing will work in the future! If you will, this is a serious paradigm shift that we are just at the beginning of.
?
What this could mean in theory can only be guessed at today. A few provocative thoughts on this:
?
If you've made it this far, you deserve a coffee break.
?
*****
If your concentration is still sufficient and your interest is not yet exhausted, I would like to delve a little deeper into the topic together with you and explore the question of which characteristics are inherent to a "composable architecture", or which prerequisites must be met.
?
What are preconditions for a composable architecture?
As we have read, a composable architecture is one that is designed to be composed of smaller, independent components or services that can be combined and recombined to form business processes. In order to build a composable architecture, there are several preconditions that should be met:
1.?????Modularity: The architecture should be modular, meaning that it is composed of dis-crete components that can be easily separated and combined.
2.?????Standardization: The components should be standardized, meaning that they have consistent interfaces and are designed to work together seamlessly.
3.?????Loose Coupling: The components should be loosely coupled, meaning that they can communicate with each other without being tightly dependent on one another.
领英推荐
4.?????Service-oriented: The architecture should be service-oriented, meaning that each component should provide a well-defined service that can be used by other compo-nents.
5.?????Scalability: The architecture should be scalable, meaning that it can accommodate changes in the number of users, requests, or data volume without sacrificing perfor-mance or reliability.
6.?????Flexibility: The architecture should be flexible, meaning that it can adapt to changing business requirements without requiring significant modifications.
?
This list of prerequisites shows that we are by no means dealing with any trivialities here. Let's take the topic of "standardization", for example, and look at it more closely.
?
What kind of standardization is needed for a composable architecture?
To enable composable architectures, standardization is needed at several levels:
1.?????Interface Standardization: Each component should have a standardized interface that defines how it communicates with other components in the architecture. This could include standard data formats, protocols, and APIs.
2.?????Component Standardization: Components should be designed and developed using standard practices, frameworks, and technologies. This helps ensure that they can be easily integrated with other components in the architecture.
3.?????Service Standardization: Services provided by components should be well-defined and standardized, so that other components can easily understand and use them. This could involve defining service contracts, message formats, and error handling mechanisms.
4.?????Data Standardization: The architecture should have a common data model that is used by all components. This helps ensure that data can be easily shared between components and prevents inconsistencies in data management (you may know this better as ?semantic interoperability“).
5.?????Development Standardization: Development practices, such as code quality standards, testing methodologies, and deployment practices should be standardized across all components. This helps ensure that components are reliable, maintainable, and compatible with other components in the architecture.
Overall, standardization is critical for ensuring that components can be easily composed and recomposed into business processes, and that these systems can evolve over time without introducing unnecessary complexity or breaking existing functionality.
?
At the latest after this enumeration, the complexity associated with the evolution to a "composable architecture" should have become clear. SAP is aware of this and also of the fact that it is still quite early days here, as can be seen from the following diagram:
Other SAP-sources describe the vision as ?modular ERP“. But once again: SAP is on the way, but has not yet reached ist destination.
?Where is SAP on its way?
SAP has been working towards delivering a composable architecture in recent years. In 2020, SAP announced its "Business Technology Platform" (BTP), which is designed to provide a modular and open platform for building, integrating, and extending enterprise applications. SAP BTP includes a number of key components that enable a composable architecture, including:
Integration Suite: This suite provides a set of tools and services for integrating SAP and non-SAP applications, data sources, and systems. It includes support for APIs, event-based integration, and data integration.
Extension Suite: This suite enables developers to build and deploy custom applications and extensions using a range of programming languages and frameworks. It includes support for serverless computing, containerization, and event-driven architectures.
Analytics Cloud: This cloud-based analytics platform enables users to analyze and visualize data from a variety of sources, including SAP and non-SAP systems. It includes support for machine learning and predictive analytics.
Database and Data Management: This suite provides a range of services for managing data, including data warehousing, data quality management, and data privacy.
SAP has also made a number of acquisitions in recent years to support its composable architecture strategy, including the acquisition of Qualtrics for experience management, and Signavio for process management and workflow automation.
Overall, SAP is on its way to delivering a composable architecture through its Business Technology Platform and related offerings. By providing a modular and open platform for building and integrating enterprise applications, SAP is enabling organizations to create flexible and adaptable systems that can meet the evolving needs of their business and customers. The coming years will show exactly in which direction the topic will develop and who will benefit from it.
?
This is my personal view on this topic; you may of course disagree. Feel free to share your thougts.
?
Useful additional read:
?
Co-author of this article: ChatGPT (brave new world…)
Managing Director at RealCore Technology GmbH
1 年?If you've made it this far, you deserve a coffee break.“ I took the ?Schnitzel“ at the Eifel-West service area. ??