¶
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?¶
- Start by setting up your first MACH stack
- Read more about the MACH composer concepts
- Wonder how to reason about your MACH stack? Read our Architectural Guidance