In an era where organizations require a high level of flexibility to stay aligned with the market needs and benefit from new business models and technologies, the IT infrastructure is more and more measured on its agile capabilities and business outcomes. Evolving digital business demands, partnerships, and user expectations requires an application architecture that supports agility, flexibility, and innovation, enabling the business to jump into new opportunities quickly.
Organizations are increasingly moving away from a situation where business and IT are seen as completely separate domains in which they have to work with the possibilities dictated by IT. Traditional n-tier application architectures are slowly being replaced by multi-grained, cloud-native enterprise architectures, such as Mesh App and Service Architecture (MASA) and Microservices Architecture (MSA) that support multiple channels: web apps, mobile apps, social media, notifications, email, and more. Competitive pressures drive organizations to provide user experiences that exceed expectations, and leading digital business players ensure that users have optimized, continuous and ambient experiences as they traverse these channels. These changes set the stage for others. Organizations will increasingly fall behind if they aren’t prepared to deliver these multi-channel experiences, leverage third-party algorithms and data sources, or rapidly provide new features.
However, this journey from a traditional n-tier application to modern architecture can be complex. Many paths can take you from your current state to modern architecture.
Typically, these paths consist of a combination of the following aspects:
- Move infrastructure to the cloud: This will allow the organization to get rid of the technical hassles related to the maintenance of server hardware and focus on the added value to be delivered by the application landscape. The flexible, pay-per-use infrastructure makes it possible to eliminate the need to pre-investment in hardware and frees up financial resources to invest in measures to modernize the application architecture.
- Decouple components and layers in the application architecture where it makes sense: Decoupling can bring additional overhead, so this should be done based on careful considerations. In recent years, Gartner developed several methodologies to guide organizations in making the right decisions in this regard, such as:
- Pace Layered Approach, a methodology to govern software applications through their entire life-cycle in support of evolving business requirements.
- MASA, a Mesh Architecture of apps, APIs, and services that aim to serve experience through multiple channels.
- Composable Enterprise, a design approach that embraces the API economy, delivering business outcomes through the assembly and combination of packaged business capabilities.
Let us walk through these concepts and see how they each address the aspect of decoupling.
Gartner’s Pace-Layered Application Strategy is a methodology for categorizing, selecting, managing, and governing applications to support business change, differentiation, and innovation. It categorizes applications by process or function and asks whether the application module supports a common requirement, a unique business methodology, or an innovative new business process. This allows the organization to apply the appropriate governance, funding, and data models, based on the characteristics of each application.
Having these layers in place and establishing common elements as connective tissue between them allows the organization to become more agile to change and provides in a controlled manner the ability to experiment with logic that potentially will increase competitiveness. Governance in the upper layer will typically give more room for experimentation, alternate platforms, and agile practices. It is much more practical for developing features such as for instance a mobile application, a recommendations engine or a sentiment analysis service.
This methodology has contributed significantly to the industry conversations between IT and the Lines of Business (LOBs). Others have worked this out to a more detailed level. Salesforce introduced “Fabrics, a reference model for the journey to the cloud” as a guide to increase the understanding between Enterprise Architects and LOB stakeholders by dividing “slow IT” and “fast IT” in the process of setting joint priorities.
While the Pace Layered Application strategy applies decoupling primarily from the angle of business agility, the MASA architecture looks at this more from a reuse perspective. The agile architecture of MASA comprises multiple independent and purposeful modules that can be composed as needed to support multiple channels, users, roles, and networks for continuous delivery of application functionality and new capabilities. This architecture supports diverse data sources, leverages pertinent context information for better-automated decisions, and exploits the API economy and the external algorithm marketplace. The distributed nature of MASA can generate increased operational complexity, but it improves agility and scalability, which are primal requirements for any digital business.
Typically a MASA-based application will be designed to be cloud-native, making it ultimately scalable. Its modularity and adaptiveness help to enable dynamic business changes that can be developed one service at a time without cross-dependencies.
MASA contributes to implementing digital business ecosystems on a larger scale by offering an optimized and consistent solution across any device. It links everything from mobile apps and desktop apps to web apps and the IoT into a vast mesh of back-end services, culminating in creating applications for user interactivity.
MASA requires a proper design to make sure the systems will run reliably and securely. The attack surface of a MASA network is potentially larger compared to that of a monolithic core system, so appropriate controls should be brought in place accordingly. But that this is sufficiently possible is proven by Google that offers various services with more than a billion users in the same very elastic manner. A fascinating read in this context is the book “Building Secure & Reliable Systems” available on https://sre.google/books/. We will write more on this in a future blog.
The MASA concept is an enabler of the following important trends:
- The “intelligent digital mesh”, which helps transform business models to accommodate people, processes, and smart devices in a collaborative framework to achieve more value together than individually as lone parts.
- The “democratization of development”, which allows citizen developers to develop tailored user experiences with a cohesive and consistent user journey by maximizing the reuse of back-end services.
Another term coined by Gartner is the Composable Enterprise. This builds further upon the previous concepts and refers to an organization that delivers business outcomes and adapts to the pace of business change through the assembly and combination of packaged business capabilities (PBCs). PBCs are application building blocks that have been purchased or developed.
This concept assumes that software vendors will modernize their legacy applications towards this PBC model and that this will become the prevailing architecture, integration, and delivery model for software innovation. Organizations need to prepare for this and convert their application landscape towards a plug-and-play architecture. The various PBCs will connect through APIs and Event Channels. This application architecture enables the assembly and dynamic reassembly of PBCs, which can be of the following kind:
- Sourced from various third parties, including traditional packaged software vendors, PBC marketplaces, and nontraditional parties (such as financial services companies and global service integrators).
- Developed internally — either by central IT or within business units — providing net new capabilities.
- Delivered through the modernization of monolithic applications into more modular components.
- Created or assembled by the organization’s employees, empowered by low code platforms – increasingly having the technical skills to deliver business value.
This architecture is designed for change and enables the creation, curation, and dynamic
reassembly of PBCs. It is not a new architecture. Rather, it is an ongoing evolution of architecture practices building further upon the Service Oriented Architecture theme, but differing from that in the sense that a PBC should always be functionally recognizable by a business user. The popular iPaaS platform MuleSoft supports this concept of composable enterprise very nicely. They divide their APIs into three separate layers: “System APIs,” “Process APIs” and “Experience APIs”. In a future blog, we want to write more about how traditional ESB offerings have evolved towards iPaaS based ecosystems that address the governance issues of this composable enterprise.
In the ERP domain, we see a shift towards enterprise applications complemented by an ecosystem that includes new capabilities for application platforms, integration, and low-code/no-code development. Gartner refers to this new era of ERP as “Enterprise Business Capabilities” (EBC). According to Gartner, by 2025, the top four ERP vendors will rebrand themselves as business platform provider.
When we take SAP as an example, we clearly see this happening. SAP is actively pushing its customers to move to the cloud and adopt the modern HANA-based architecture. A shift towards more genericity is required to maximize cloud benefits. Next to the option of Classic Extensibility which despite its freedoms can only be used on AnyPremise (onPremise or PrivateCloud) but often complicates the upgrade path, customers have now the choice to implement their custom wishes using two other approaches:
- In-App Key User Extensions: This is the way of performing customization directly on the SAP stack. The customization is done by configuration and limited ABAP coding and will not negatively impact the upgrade path. This can be used to enhance the data model, apply custom business logic that touches the transactional core, and expose selected data to the outside world so that you can further build upon it outside SAP. The benefits are that it enables the key user, is fast and lightweight, and reuses the existing objects and components in SAP.
- Side-by-Side Extensions: This allows 3rd party or custom applications to run integrated with the SAP core instance. SAP has a growing ecosystem of partners offering supplementary applications or low code tooling on top of the main SAP logic. Also, here, the upgrade path is not negatively affected. The extension factory supports integrations on various layers: data replication, processes, events, rules, workflows, and user experience and offers capabilities for integration, development, deployment with multiple runtimes, operation, and provisioning. The benefits are that it allows you to use your technology of choice to develop logic. In addition it supports decoupling certain components to provide them more globally in the application landscape and makes it easier to combine logic with data from other back-ends.
An organization’s ERP strategy must utilize the potential of their ERP provider’s ecosystem and underlying platform delivered by vendors, enabling rapid adoption of new capabilities. See our blog on this topic: The past, present, and future for implementation partners in the cloud.
Our vision on modern enterprise architecture
So decoupling is key when it comes to making your enterprise software agile. It’s an important enabler for the democratization of IT and the closing of the business-IT gap. It opens up the application landscape to embrace the opportunities that come with the era of the composable enterprise. It will also further increase the benefits of cloud computing by incorporating serverless computing and managed services. And last but not least, it will give the possibility to incorporate ML-based solutions, which is often a source of gaining competitive advantage.
However, where to exactly decouple is not an easy decision. It depends on the capabilities of your current application landscape, the vision and roadmap of your ERP provider and the skills internally available in the organization. Therefore the organization needs to balance the various options carefully.
In this consideration, it is important to avoid the following pitfalls:
- Avoid making it unnecessarily complex. A monolith can be complex, but a MASA architecture without the correct governance has the potential to become highly complex as well. If that’s the case then use service mesh tooling to manage the integrations. Make sure there is a full overview and accountability.
- Avoid vendor lock-in or take at least informed risks on this topic. Design a proper exit strategy at the start of the project. If possible, use open source technologies, such as Kubernetes or MongoDB, and design your application to be MultiCloud which practically will include AnyPremise.
- Avoid too many customizations in proprietary software. Instead, soften the pain of using proprietary software by sticking to the standard to be more easily decoupled to governance and will not consume a ton of energy from the organization to sustain.
As Vanenburg, we often use the following diagram to brainstorm with our customers on enterprise architecture modernization. More on this in the second part.
Vanenburg, a typical tech entrepreneur, assists industry incumbents in realizing their digital transformation. We develop modern applications based on leading technologies and an architectural model that mimics the dynamism of the digital mesh. Vanenburg is a partner of Google Cloud Platform, Salesforce, and ThinkWise. We have expertise in the ERP, iPaaS, and Information Security domain and use these experiences and technologies actively to modernize the application landscapes of our clients. The organization is certified for ISO27001 and NEN7510.