Space

Posted on 31 March 2023

Digital business demands new application capabilities, such as multi-experience, ecosystem participation, rapid response to opportunities and continuous delivery. Technology leaders should make their teams aware of the top application architecture trends that enable these capabilities.

Key Aspects

  1. Digital business creates new demand for application services to support new business models, new technologies and continuous improvement.

  2. Legacy applications and monolithic architectures inhibit digital business transformation.

  3. Organizations can’t afford to abandon years of investment in their existing applications and build more agile applications from scratch.

Top Three Trends in Application Architecture

Digital business places significant demands on your organization’s application delivery capabilities. You must supply new application capabilities that provide effortless experiences, support new ways of doing business, and ensure real-time intelligence that lets business leaders take advantage of new — often fleeting — opportunities.

Unfortunately, your ability to deliver these new capabilities is being hampered by your existing application portfolio, which is likely to comprise monolithic and inflexible applications that are burdened by extensive technical debt. Yet these applications remain essential to current and future business operations.

Organisations must modernize their application portfolio and deliver new capabilities to enable digital business transformation. This report describes three application architecture trends that can facilitate transformation using a pragmatic, iterative approach:

  1. Mesh app and service architecture (MASA)

  2. API platform strategy

  3. Event processing architecture

These application architecture trends are outlined in Figure 1.

Top Three Application Trends

Figure 1. Top Application Architecture Trends

 

#1: Mesh App and Service Architecture

MASA provides the fundamental architectural capabilities that enable applications to support multiple experiences and respond rapidly to digital business demands. MASA provides the architecture for individual applications, as well as principles for steering modernization efforts for the entire application portfolio. It provides an evolutionary approach that enables development teams to iteratively and continuously modernize their applications in direct response to business priorities. MASA combines three fundamental architectural patterns to support digital business requirements: multiexperience, mediated APIs and multigrained services (see Figure 2).

Mesh App and Service Architecture

Figure 2. Mesh App and Service Architecture

 

Why Now?

Digital business depends on a flexible application portfolio that enables effortless experiences, supports new ways of doing business and makes the most of new technologies. Unfortunately, traditional architectures are woefully inadequate to support these digital business demands. Inflexible monolithic applications, architectural complexity, and technical debt burden development teams, impede agility and frustrate users.

 

Technology leaders must modernize their application portfolios to facilitate digital business transformation. This modernization effort demands a modern application architecture.

 

What Does It Enable?

MASA enables the following:

Multiexperience: MASA enables an application to provide multiple fit-for-purpose experiences for different types of users working with different types of devices and interaction modalities (such as web, mobile, voice, and immersive experiences). Development teams can quickly build new experiences for existing applications as business requirements emerge. Using microapps, development teams can add new features to existing experiences and ensure consistency across modalities.

Agility: MASA enables development teams to incrementally add new capabilities (services) and new experiences (apps) to an existing application and to build new applications and integrations that consume existing services. The API mediation layer ensures that all connections between apps and services are abstracted and flexible — mapping “outer APIs” designed for consumption to “inner APIs” that directly reflect the service implementation. The abstraction layer enables easy updates, extensions and versioning. New experiences and features can be delivered using a continuous delivery model.

Shared Business Capabilities: MASA encourages development teams to encapsulate business capabilities as multigrained services that are exposed via APIs. These services can take different forms. They can provide access to monolithic systems of record (macroservices). Alternatively, they can be independent coarse-grained or fine-grained components (miniservices and microservices, respectively) that have been refactored from core systems or implemented as new capabilities. The services can be hosted on-premises, run in the cloud or supplied by third-party providers. These APIs can be used by other applications, and to support integration. They can also be exposed to customers or third parties.

Security and Resiliency: The API mediation layer also ensures strong security and resiliency. API mediators can be configured to authenticate and authorize all interactions, to encrypt and validate all messages, to block malware and to filter sensitive information. They can route and load-balance traffic, and redirect and retry requests that fail. API mediators monitor all API traffic to detect both business and technical issues.

 

Challenges

Adopting MASA can impact your organization in the following ways:

Skills: Architects, developers, and integrators will need to develop competency in distributed computing architectures and patterns — such as API design, user experience (UX) design, microservices architecture, integration, event-driven processing, and eventual consistency.

Application infrastructure: Your teams will need to deploy new types of application tooling and runtime systems — such as multiexperience development platforms, low-code application platforms, full life cycle API management systems, service mesh, managed container systems, and container-aware application performance monitoring systems.

Agile and DevOps practices: Although MASA supports continuous delivery of new features from an architecture perspective, development teams must also change the way they produce software to gain this agility benefit.

Product mindset: MASA works best if organizations shift from a project-oriented mindset to a product-oriented mindset, which requires significant cultural changes to team roles and responsibilities, business collaboration and funding models.

 

Suggestions

Technology leaders should:

  1. Adopt MASA for all new application development efforts. Provide training or mentorship to help development teams gain competency.

  2. Take a pragmatic approach to modernizing existing applications. Let business requirements drive the priority list. If it has not been done already, start modernizing an application by separating the user interface functionality from the back-end functionality to enable multiexperience. Build APIs that encapsulate and enable access to critical business capabilities. Over time, decompose the monolithic back end to implement new business features.

  3. Be pragmatic about purchased packaged and SaaS applications. Let business needs drive your priority list for building APIs and adapters into these applications. When possible, upgrade to the latest versions of these applications to get the most out of the APIs supplied by your vendors. Build abstraction layers (outer APIs) over the applications’ native APIs to ensure more flexibility and to mitigate vendor lock-in and versioning disruptions.

  4. Ensure flexibility, security and resiliency by building an API mediation layer that monitors interactions, manages traffic flow, enforces security policies and mediates outer and inner APIs.

· 

#2: API Platform

MASA presumes that you have encapsulated your most critical business capabilities and data into services and made those capabilities accessible via mediated APIs. However, it is not enough to just create APIs. You must also manage and govern your APIs and pull them together into a platform of shared business capabilities, on which you can build your digital business. An API platform strategy is a management and governance program for designing, building, publishing and consuming APIs. An API platform strategy extends an API management strategy (which focuses on managing API usage policies). It does this by also focusing on API delivery, API publication and API product management

An API platform (see Figure 3) creates a searchable API marketplace for both internal and external consumers, and consolidates APIs for both internal and external services. An API platform uses an API management platform to provide administrative and developer portals, API gateways and other mediators to implement the API mediation capabilities required by MASA.

API Platform

Figure 3. API Platform

 

Why Now?

APIs are at the center of digital business. Your organization needs APIs that enable access to the services that implement your business capabilities and data. APIs enable integration. They are an essential part of MASA, and they enable multiexperience. They also enable creation and participation in ecosystems. An API platform strategy ensures that these APIs are governed, well managed and easily accessible.

 

What Does It Enable?

An API platform establishes governance of your API program. It prioritizes your efforts to create the APIs you need. And it ensures that the APIs are properly managed, secured and mediated. An API platform enables the following:

API Marketplace: An API platform provides an API marketplace that ensures that developers and integrators can quickly and easily discover internal and external APIs. An API platform also provides a way for you to publish your APIs for discovery by external partners and customers.

API Product Management: An API platform strategy treats APIs like products with long life cycles and multiple customer constituencies. API product management ensures a high-quality and consistent API developer experience delivered to the right target market of developers. API product management also manages the API roadmap, prioritizing features by considering business priorities and investment trade-offs.

Legacy Enablement: An API platform strategy aims to build APIs that enable access to your core application and data systems of record. You can build APIs that directly access legacy systems. You can also build new digital services that extend and enhance core functionality in a layer above legacy system. This approach is sometimes known as a middle platform. You might also aggregate data into services in a digital integration hub. For your most critical digital business capabilities, you should modernize and refactor a legacy application into independent services.

API Security: An API platform relies on API mediation to enforce authentication, authorization and security policies

 

Challenges

Challenges that must be addressed when implementing an API platform include:

  1. API management platforms don’t include sophisticated integration technologies or tools for delivering underlying services. Technology leaders need to develop team competencies in API design, service encapsulation, integration patterns and API platform governance. They need to ensure that development teams have access to the integration technologies they need to create and manage APIs.

  2. When multiple heterogenous API gateways are used, it is a challenge to maintain consistency of delivery. APIs accessing internal services may be treated differently from APIs accessing third-party services — such as SaaS services. However, internal and external APIs may be used by the same consumers, and you should provide consistent delivery and consumption experiences for all APIs.

  3. Although most organizations are using APIs, they typically are not managed as products, or designed with quality and secured using managed security policies. Without product management, an API may not align with the needs of its customers (that is, developers). Furthermore, a lack of managed versioning can impact consumers and end users.

 

Suggestions

When building an API platform, application leaders can address these challenges in the following ways. Application leaders should:

  1. Use an API platform approach that extends an API management platform to also address API delivery and the management of API products in an API marketplace. Create a portal and marketplace combining internally developed APIs with APIs delivered by third parties.

  2. Create the role of API product manager and ensure that APIs delivered by the API platform team are treated as products. Make sure to manage API life cycles and create an API roadmap linked to consumer requirements.

  3. Use enterprise architecture practices — such as capability modeling and application portfolio fitness assessments — to prioritize application modernization investments

 

#3: Event Processing

Event processing architectures use event notifications as a primary mechanism for asynchronously communicating information and triggering application processing. They treat events as first-class objects, and they use a push/pull interaction model rather than request/response (MASA supports both interaction styles). People, processes, applications and analytics systems can subscribe to and process events. Event processing architectures include simple notifications, event-driven architecture, digital twins, event sourcing and event stream processing. Figure 4 illustrates various types of event processing.

Event Processing Architecture

Figure 4. Event Processing Architectures

 

Why Now?

Event processing is as old as computing itself, but it has never achieved widespread adoption in enterprise applications. Development teams typically use event processing judiciously for very specific use cases, and many developers have limited skills in applying event processing architectures. However, the fast pace of modern business requires that organizations improve their real-time awareness and decision making. Intelligent insights, gleaned from patterns in business operations, have become a significant differentiator for leaders in digital business. Fortunately, event processing technologies have become more approachable and are now broadly available from cloud service providers and open-source communities.

 

What Does It Enable?

Event processing has become an essential component of digital competence, enabling:

Real-time awareness: Event stream processing performs real-time analytics on event streams to help organizations recognize and respond rapidly to anomalies and.

Business process automation: Using a discipline known as DigitalOps, event processing architectures enable innovation leaders to create a digital twin of the organization which can automate and optimize process and task execution. DigitalOps enables the rapid development and reconfiguration of dynamic, real-time and scalable automation architectures.

Improved experiences: Event-driven user interfaces and notifications can dramatically improve application performance and user experiences. Examples include pushed approval requests, location-based alerts, event-driven offers and recommendations driven by artificial intelligence.

IoT integration: All Internet of Things (IoT) applications begin with a stream of event notifications that originate from sensors and devices. Digital twins technology relies on event streams to maintain currency between a physical entity and its digital avatar.

Agility: Event sourcing and event-driven architecture (EDA) patterns have become popular with development teams building microservices and practicing continuous delivery. EDA minimizes application coupling and improves system agility.

 

Challenges

Challenges you must address when adopting event processing architecture include:

Skills: Event processing architectures are less familiar and more complex than traditional request-driven architectures. Your development teams may lack skills for using EDA, event streaming, and eventual consistency design patterns. EDA, in particular, can be difficult to test and debug.

Appropriate usage: Teams may be confused about when it is appropriate to use event processing and which type of event processing patterns to use.

Development and management tooling: While most organizations have basic event processing infrastructure — such as notification services, message buses, and event brokers — many don’t have the high-level productivity tooling that helps developers design, develop, test and manage event-centric applications. Nor do they have tools for governing, publishing and managing event-based interfaces. The market for these types of tools is sparse.

  

Suggestions

The time has come to develop competency in event processing architectures. Technology leaders should:

  1. Identify pockets of event processing expertise within your organization. Harvest what you find and ensure that it is included within your development, integration and analytics teams.

  2. Engage business analysts to understand the actual and potential roles that real-time business event awareness can play in advancing the organization’s customer experience.

  3. Modernize your analytics and business intelligence capabilities by employing three styles of event stream processing: continuous intelligence, on-demand intelligence based on historical data, and on-demand intelligence that uses both real-time and historical data.

  4. Use EDA judiciously because of its complexity. Adopt it gradually. Help development teams determine when and where it is appropriate to use EDA by establishing governance and decision criteria.

  5. Always combine EDA with other architectural paradigms, including service orientation, request/response APIs, and event streaming. Treat EDA interfaces and event payload formats with as much care as you treat request/response APIs.

Share this article