Benefits of Composable Architecture

Composable architecture is based on the idea of building websites and apps from small, independent parts that you can combine via APIs to form a complete system.

Back to blog

Composable architecture is based on the idea of building websites and apps from small, independent parts that you can combine via APIs to form a complete system. You can select the products that best suit your needs and easily integrate them with other products to build a stack. Gone are the days of monolithic systems that are difficult to maintain and scale.

Frameworks like Next.js , SvelteKit or Nuxt.js are what glues the parts together. They provide a common API for building websites and apps, and they take care of the boring stuff like routing, server-side rendering, and so on. Serverless functions are small, independent and stateless services that lets you run code without provisioning and managing servers, they run on a pay-per-execution model, usually less than a second afterwards they stay idle until the next request. They are perfect for building APIs and microservices. While these functions can be written in any language, being independent of the framework you use to build your website or app, the frameworks mentioned above provide an extremely easy way to write serverless functions in JavaScript and TypeScript. Cloud platforms like Vercel provide a way to deploy your website or app and your serverless functions to the cloud with a single command, so not only you don’t have to worry about the infrastructure, but you can also scale your website or app and your serverless functions independently.

Benefits of composable architecture

API-first

Composable architecture is based on the principle of API-first, ensuring that applications in the stack work with other APIs regardless of the programming language or platform they are written in. Not only the APIs are language agnostic, but if used correctly, they can be used to build a complete stack of products that work together seamlessly. While some APIs are client side, the ones that are server side only can be encapsulated into serverless functions that are part of aforementioned modern frameworks.

API-first means that the services are loosely coupled, which makes them easier to maintain and scale. If you need to change the implementation of a service, you can do it without affecting the rest of the stack. If you need to scale a service, you can do it independently of the rest of the stack. If you need to replace a service, you can do it without affecting the rest of the stack.

API-first also means that developers do not have to learn a new language or the quirks of a new framework, and their language is universal as long as they know how to use the APIs. This makes it easier to hire developers and to onboard new developers.

Lastly API-first means that a service can be used by multiple applications, whether web app, phone app and it makes it easier to share and reuse code. This is true for ecommerce in particular, where you can use the same API to power your ecommerce website, your mobile app and some kiosk that you have in a physical store.

Composable vs. monoliths

Composable architecture offers a number of clear advantages such as plug-and-play, API-first, and independent development. The main advantage is that it allows you to build a complete stack of products that work together seamlessly. This is in contrast to monolithic architecture, which is based on the idea of building a complete stack of products from a single codebase. This approach is not only more difficult to implement, but it also makes it difficult to integrate with other products.

Jamstack as the foundation

Jamstack is here to stay. While composable architecture encompasses something larger than Jamstack we still believe in statically generating certain pages and assets deployed on a CDN, and build upon that foundation with headless, APIs and other microservices.

Only the best technology

Composable architecture allows you to select the products that best suit your needs and easily integrate them with other products to build your stack. That way the focus is placed on the best technology for the job, not on the technology that is available from one vendor alone. Want to implement search for your website? You could use Algolia or Elasticsearch or even implement your own fast and typo-tolerant client side via Lunr or Lyra for free. This is the beauty of it, you can "compose" your stack with the best technology.

Vendor lock-in is a thing of the past

With composable architecture you are not tied to a single vendor, and if somehow your first choice isn't working out, you can easily switch to another, and only that little piece of the whole stack will have to be partially rewritten.

Siloed implementation

Composable architecture allows you to implement different parts of the stack independently of each other. Adding new features to a monolithic app involves modifying the codebase, which is a tedious and error-prone process. With composable architecture, you can implement new features in isolation, and only when you are ready, you can integrate them with the rest of the stack.

Independent scaling

Composable architecture allows you to scale different parts of the stack independently of each other. If you need to scale your website or app, you can do it independently of your serverless functions or the rest of the stack. The same goes for the third party APIs from different vendors; they will, at least in theory (or they may go out of business), scale independently and accommodate your usage. So if your ecommerce is hitting a spike this week, your vendor should accommodate and automatically scale your usage but that doesn't mean your search should go up if search usage remains constant.

We're Composable Architecture experts

Monogram has helped a multitude of clients with different needs from websites, apps and ecommerce architect and implement a composable solution. We have experience with different frameworks and cloud platforms, and we can help you build a composable architecture that works for you. Birchbox , GoHealth and GossRV are a few great examples of successful transformation from monolithic to composable architecture.