In the world of web development, a trend is emerging that isn’t entirely new: the Composable Web Architecture. This concept, heavily influenced by platforms like Netlify, represents a new-old way of thinking in the design of web systems. Even JAMStack (JavaScript-API-Markup) and MACH (Microservices, API, Cloud-native, Headless) use similar principles to the Composable Web Architecture, and the Reactive Manifesto already described properties of a system underlying the Composable Web.
Although the term may seem new, the principles of the Composable Web Architecture are not. They are based on concepts dating back to the 1970s. These include principles such as the Actor model and coroutines, SOA (Service-oriented Architecture), and Microservices. Amazon already published a manifesto for distributed, service-based systems in 1998, which underscores the approach of the Composable Web Architecture.
Composable Web Architecture means that in web development, various independent, modular web applications are combined. The individual parts such as services, APIs, and microservices are developed separately and then assembled. This allows complex applications to be built. The Composable Web Architecture enables rapid adaptation, scaling, and maintenance of web applications since changes to one module do not affect the entire system. This achieves high flexibility and efficiency in the development and operation of web applications.
The core feature of Composable Web Architecture is its flexibility. Systems built according to this principle are easily adaptable and extensible. This is achieved by dividing them into modular, isolated, and smaller subsystems. An ideal approach for such structures is provided by Domain-Driven Design. Domain-Driven Design focuses on extracting the business requirements and focuses on the rules and processes of the business process. Developers and domain experts work closely together in the Domain-Driven Design approach, with their common goal being to develop software that fits these specifics perfectly.
Efficiency ultimately means nothing more than using resources wisely. In the context of source code, this involves using efficient algorithms. On the server level, this means only using the resources that are really needed, often achieved through serverless/“Function-as-a-Service” technologies. In the networking area, the focus is on shorter paths to the end user, often using CDNs and Edge Computing. CDN stands for Content Delivery Networks. These are networks of servers distributed worldwide and used to deliver content such as websites, images, videos faster to users. When someone visits a website, the CDN ensures that the data comes from a server near the user, significantly reducing loading times. Edge Computing refers to moving computer processes closer to where they are needed. Instead of doing all the data and calculations in a central data center, they are moved to the “edge” of the network, closer to the users’ devices. This also increases speed and efficiency.
Sustainability in Composable Web Architecture results from the combination of flexibility and efficiency. Sustainable systems follow a holistic approach that encompasses all phases from conception to operation. In the conception phase, this means planning only functions with real added value. In the development phase, the best solution is developed through close collaboration across different disciplines and through qualitative code structures and tests. In operation, the complete automation of the development process enables quick adaptation and validation of the added value of a system. This includes the use of CO2-friendly infrastructures and dynamic scaling of distributed subsystems.
At Comvation, we aim to create flexible, efficient, and sustainable systems. It is an ongoing process that requires constant adjustments and improvements. We are aware that perfection is a goal that may never be fully achieved, but our pursuit of it leads to ever better solutions in the world of the web. You can find some examples of what Composable Web Architecture looks like in finished projects here:
Pic Credit: Ramotion