MACH composer is used to orchestrate and extend modern digital commerce & experience platforms, based on MACH technologies and cloud-native services. It provides a standards-based, future-proof toolset and methodology to hand to your teams when building these types of platforms. The framework is intended as the 'centrepiece' of your MACH architecture and incorporates industry best practices such as the 12 Factor Methodology, Infrastructure-as-code, DevOps, immutable deployments, FAAS, event-driven architecture, etc.
MACH composer is built on top of the latest version of Terraform. It is essentially an abstraction on top of Terraform itself and generates the necessary Terraform code to deploy multiple environments of a MACH stack.
With that, it provides:
A configuration framework for managing MACH-services configuration, using infrastructure-as-code underneath (powered by Terraform).
A microservices architecture based on modern serverless technology (AWS Lambda and Azure Functions), including (alpha) support for building your microservices with the Serverless Framework.
Multi-tenancy support for managing many instances of your platform, that share the same library of micro services.
CI/CD tools for automating the delivery of your MACH ecosystem.
Tight integration with AWS and Azure, including an (opinionated) setup of these cloud environments.
Next to support for several MACH systems, i.e., commercetools, Amplience and Contentstack, pretty much any service that has a Terraform provider available, can be plugged in. Examples being the likes of Vercel, Auth0 or Cloudinary, who have Terraform available as well.
An important ‘companion’ for MACH composer, is the usage of Apollo Server in Federation mode. Where MACH composer orchestrates the microservice application at deploy time, Apollo Server provides an elegant solution for runtime orchestration of your APIs.
By combining (and requiring) modern engineering practices, MACH composer offers the following benefits:
Using the framework has a significant impact on your engineering methodology and organization. If implemented well, it can organize and structure how you work, regardless of your use case and scale.
An accelerated 'way in' in terms of embracing modern engineering practices in your organization.
An organized and automated way of deploying one or multiple MACH landscapes, eliminating human error and reducing time spent on deploying.
A future proof architecture that stands the test of time, incorporating many cloud native features of AWS and/or Microsoft Azure.
A platform enabling management- and rollout capabilities of components over multiple setups (a global-to-local model).