Skip to content

MACH composer

This documentation describes the workings of MACH composer. Intended to set up and manage a Microservices based, API-first, Cloud-native SaaS and Headless platform.

MACH composer is undergoing a major, backwards compatible overhaul

MACH composer has been rewritten in Golang, coming from a Python version. We've done this because the Golang ecosystem is more suitable for a tool like this, as it is also the language in which Hashicorp builds Terraform itself.

Because of this, some commands might not be available yet in the Golang version; particularly the mach-composer bootstrap command is not available, which makes it a bit harder to start up. However, based on the examples in the GitHub repository, you should be able to get started without the bootstrap command.

For creating components, please instead of mach-composer bootstrap component, use mach-composer-cookiecutter.

We do currently recommend to use the latest version (2.14.x).

If you are still on the Python version, the bootstrap command will still work.

What is it?

MACH composer is a framework that you use to orchestrate and extend modern digital commerce & experience platforms, based on MACH technologies and cloud native services. It provides a standards-based, future-proof tool-set and methodology to hand to your teams when building these types of platforms.

It includes:

  • A configuration framework for managing MACH-services configuration, using infrastructure-as-code underneath (powered by Terraform)
  • A microservices architecture based on modern serverless technology
  • Multi-tenancy support for managing many instances of your platform, that share the same library of microservices
  • CI/CD tools for automating the delivery of your MACH ecosystem
  • Tight integration with AWS, Azure or GCP
  • Plugins that allow for easy integration with other MACH SAAS platforms
  • Opt-in functionality for smart management of dependencies between components, reducing deployment time and risk

The framework is intended as the 'centerpiece' of your MACH architecture and incorporates industry best practises such as the 12 Factor Methodology, Infrastructure-as-code, DevOps, immutable deployments, FAAS, etc.

With combining (and requiring) these practises, using the framework has significant impact on your engineering methodology and organisation. On the other hand, by combining those practises we believe it offers an accelerated 'way in' in terms of embracing modern engineering practises in your organisation.

Documentation structure

  • Tutorials introduces you to MACH composer and lets you set up your MACH stack in a couple of steps
  • Concepts explanations of concepts, best practises and techniques
  • Plugins quickly get started with the plugins that are available for MACH composer
  • Reference guides contain technical reference for the MACH syntax and usage of the CLI.
  • How-to guides contain practical descriptions on how to solve certain problems. They are more advanced than tutorials and assume some knowledge of how MACH works.

Where from here?