the development platform for mach
MACH composer streamlines your MACH software development lifecycle
Supported technologies
A MACH way of working
Adopting MACH technology requires a different way of working, different skills and a different mindset, which is often underestimated. MACH composer brings a set of reusable standards, blueprints and ways of working, to manage this.
increase development team velocity
deploy many sites across different regions
benefit from modern development practises
Trusted by
MARS / M&Ms.com and other brands
Mars set out on a MACH journey for all of their global brands, starting with the flagship brand M&Ms. MACH composer was used to build the global DTC platform for M&Ms, and is now being rolled out to other brands.
Visit siteSportsDirect / Frasers Group
Big UK global retailer SportsDirect is transitioning to MACH architecture for their core commerce platform. MACH composer is used to rollout multiple instances and coordinate work across many teams.
Visit siteSuzuki / Louwman group commerce platform
The Louwman group is the distributor of brands such as Suzuki, Toyota, Lexus and BYD in the Netherlands. Starting with Suzuki, they are building a MACH commerce platform for all of their brands, using a.o. MACH composer and commerce Layer.
Visit siteGlen Dimplex / global DTC platform
Glen Dimplex has built a global web platform based on Acquia and uses MACH composer to rollout commerce capabilities across all of their sites.
Visit siteDanone / global multi-brand DTC platform
Danone has built a global platform to provide DTC capabilities across their brands across the globe. MACH composer is used to manage this ecosystem.
Visit siteKnives & Tools
Knives & Tools migrated to MACH architecture and uses MACH composer to manage their ecosystem of services, now consisting of commercetools, Amplience and more, deployed to numerous instances of their platform.
Visit siteSLB Diensten
SLB is a software licensing company that needed a replatforming of multiple of their platforms, both B2C and B2B. MACH composer is used to manage this, including deployment of a custom B2B pricing engine.
Visit siteIndustry leaders about MACH composer
Through MACH composer's proven approach, organizations can accelerate their composable transformation by relying on years of experience, spanning many different types of use cases using a wide set of MACH technologies and proven engineering methods
Kelly GoetschChief Strategy Officer at commercetools & MACH Alliance Co-founder
I strongly believe MACH composer has emerged as a game-changer at the intersection of MACH and composable architectures. It intelligently addresses the challenges often faced by organizations transitioning to MACH technologies.
John WilliamsCTO of Amplience
I really love the MACH composer approach! I believe getting to a shared protocol will take time. Meanwhile, tools like the MACH composer will make composable commerce more...composable, which is great.
Filippo ConfortiFounder & CEO of Commerce Layer
In MACH, the stack you’re working with by definition bring no opinion for how you work. MACH Composer brings alignment, and easier collaboration, into any MACH stack, by providing standard approaches and good practices for engineering and architectural pit-falls. That unlocks MACH-at-scale and for the masses.
Casper Aagaard RasmussenGlobal SVP of Technology at Valtech and President at the MACH Alliance
MACH composer introduces a standardised way of working across the MACH ecosystem. We believe this will benefit everyone working with MACH systems, including commercetools.
Ivo BronsveldDirector commercetools Checkout at commercetools
MACH composer will help our clients to strike the right balance between central governance and local freedom and to increase the speed and adaptability of their global digital platforms.
Robert KooloosDigital Platform Strategist and Commerce Realized Offer Leader, Capgemini
MACH composer brings us a scalable way of working for dealing with MACH architectures across our teams, clients and technologies.
Pim VernooijCo-founder & CTO, Lab Digital
Under the hood
MACH Composeron GitHub
---
mach_composer:
version: 1
plugins:
aws:
source: mach-composer/aws
version: 0.1.0
commercetools:
source: mach-composer/commercetools
version: 0.1.8
global:
environment: test
terraform_config:
aws_remote_state:
bucket: <your bucket>
key_prefix: mach
region: eu-central-1
cloud: aws
sites:
- identifier: my-site
commercetools:
project_key: my-site
client_id: <client-id>
client_secret: <client-secret>
scopes: manage_api_clients:my-site manage_project:my-site view_api_clients:my-site
project_settings:
languages:
- en-GB
- nl-NL
currencies:
- GBP
- EUR
countries:
- GB
- NL
aws:
account_id: 123456789
region: eu-central-1
components:
- name: your-component
variables:
FOO_VAR: my-value
secrets:
MY_SECRET: secretvalue
components:
- name: your-component
source: git::https://github.com/<username>/<your-component>.git//terraform
version: 0.1.0
integrations:
- aws
- commercetools
MACH composer offers full support for Azure, AWS and soon Google Cloud. It is intended along side their cloud native services portfolio, such as AWS Lambda, Azure Functions, AWS Fargate, Azure Container Instances, etc.
The configuration and composition of MACH platforms is made accessible through easy to read YAML files that you can manage in version control.
MACH composer is designed for creating composable architectures that power multiple tenants on the same platform. Especially when companies want a single platform to power multiple brands, MACH composer can facilitate the creation of this in an elegant way, while keeping the platform manageable.
Underneath we use the power of Terraform to configure all cloud services (including MACH services such as Commercetools, Contentful and Auth0) through infrastructure-as-code. Anything supported by Terraform, including community providers, is supported by MACH composer.
MACH composer works best with cloud native technology for running containers and functions in the cloud. Depending on the workload you can choose which runtime to use, where we recommend containers to be used for real time workloads, and functions for asynchronous workloads. MACH composer supports both.
To make development easy, MACH composer provides a convenient CLI that you can use to manage your MACH project from the command line.
MACH composer is designed to run as part of a CI/CD pipeline for production deployments. It can be used with any CI/CD solution, such as Github Actions, GitLab CI/CD and Azure DevOps.
Blog Articles
View all blogposts harryGraphQL Federation & Composable Architecture: a Cloud Native love story
At Lab Digital both 2020 and 2021 have been about building Composable/MACH platforms and particularly about leveraging GraphQL in those extensively.
Pim VernooijJan 31, 2022 • 9 min read
Introducing MACH composer
Today we are introducing MACH composer, a framework that helps you to build modern MACH architectures. And it is is available open source!
Pim VernooijMay 21, 2021 • 5 min read
Reaching MACHs full potential
In this article we explain what MACH is, what benefits it brings and what it means for your organisation when you embrace the approach.
Pim VernooijJan 19, 2021 • 13 min read
Frequently asked questions
MACH composer is a development platform for building modern MACH architectures. It is a tool as well as an architecture approach, and suggests a way of working across your teams, regardless of the Cloud and SAAS services you use.
- Yes you can. MACH composer has a plug-in system through which you can implement support for any SAAS service yourself. Furthermore, MACH composer is open source and we are open to accepting Pull Requests!
- Yes you can, although we recommend to use cloud native and event-driven technologies. But if you want to use k8s, you can: everything in MACH composer is managed with Terraform, and you can provision any infrastructure you want using that. But again, only do that if you've crossed AWS Lambda or Azure Functions of your list, or if Docker is a desired runtime, take a look at AWS Fargate for example.
In essense, MACH composer can orchestrate anything that has an API, preferably through the use of a Terraform provider. That means that any 'configuration' or 'provisioning' operation against the system, should also be done through the API. Read more in our documentation.
This is a question we get a lot. We've built MACH composer out of the nessesity of applying a standard approach across our own projects, and we've noticed this is a problem that many other parties in the industry need to deal with. We've decided to open source this tool for it to become an industry standard, so that projects are approached more consistently and efficiently, which eventually will benefit the entire industry. We've seen this work with the open sourcing of our Terraform Provider for commercetools, and hope. that the same will happen with MACH composer.
In the end MACH composer generates Terraform code based on the YAML configuration as input. By checking in the generated Terraform files in Git and start managing these by hand, a simple exit scenario is offered.
Yes you can. Lab Digital, the company behind MACH composer, can help you get started up with MACH composer. Also, we continuously work on making MACH composer better and are interested in hearing about your use-case, and possibly extending MACH composer to facilitate that. And of course we are open to Pull Requests!