¶
This documentation describes the workings of MACH composer. Intended to set upand manage aMicroservices based,API-first,Cloud-native SaaS andHeadless 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 toollike this, as it is also the language in which Hashicorp builds Terraformitself.
Because of this, some commands might not be available yet in the Golang version; particularly themach-composer bootstrap
command is not available, which makes it a bit harder to start up. However, based on theexamples in the GitHub repository,you should be able to get started without thebootstrap
command.
For creating components, please instead ofmach-composer bootstrap component
, usemach-composer-cookiecutter.
We do currently recommend to use the latest version (2.14.x).
If you are still on the Python version, thebootstrap
command will still work.
What is it?¶
MACH composer is a framework that you use to orchestrate and extend moderndigital commerce & experience platforms, based on MACH technologies and cloudnative services. It provides a standards-based, future-proof tool-set andmethodology 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 andincorporates 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 hassignificant impact on your engineering methodology and organisation. On theother hand, by combining those practises we believe it offers an accelerated'way in' in terms of embracing modern engineering practises in yourorganisation.
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 yourfirst MACH stack
- Read more about theMACH composer concepts
- Wonder how to reason about your MACH stack? Read ourArchitectural Guidance