Chapter 2. Developing and Operating Decoupled Applications

Composable web architectures assemble modular services into a full application. Integrating new services into a web user interface is easy, but how do we make sure that the user experience is coherent, robust, and consistent?

This puts a lot of responsibility on the frontend developers, who are now in control of assembling a web application from various bits and pieces. They need to make decisions on how to talk to APIs, what rules to implement to show state in the user interface, and how to deal with erroneous responses or worse: unavailable services.

In this chapter, we look at different aspects of developing and operating decoupled applications. We see development technologies that support composition and decrease fragmentation, and answer the most burning questions on operational costs.

Technology Lock-In, Technology Choices, and Rewrites

Figure 2-1 shows a sample application built on a composable web architecture. This example is derived from real-world applications such as the Dynatrace web portal. The website features five major outlets that are based on different technologies, with various teams working on them and different stakeholders deciding on content, features, and UX.

It includes the main website, using a custom rendering service connected to a headless CMS, a traditional blog monolith, a documentation website that is generated with a static site generator, and the careers portal, which is a Next.js app ...

Get Decoupled Applications and Composable Web Architectures now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.