MACH Architecture is a set of principles and patterns that define the different building blocks of a new, pluggable and scalable architecture for creating back-end services and modern user experiences.
The Composable Enterprise Architecture
MACH Architecture proposes a set of principles, patterns and associated technologies that enable adopters to solve business problems by composing solutions using best-in-class services and technologies. It supports the composable enterprise where businesses adopt in-house and third-party components that are pluggable, replaceable, scalable and independently deployed and improved.
A set of maintainable, testable and scalable pieces of business functionality that are independently developed, deployed, and managed.
All system functionality is exposed through APIs consumed by a variety of clients and services, such as web apps, sites, mobile applications, POS systems and more.
Apps and services are created to leverage the full capabilities of the cloud computing delivery model, designed, developed, and managed in the cloud and for the cloud.
The user experience (what the customer sees) is decoupled from the back-end services, allowing businesses to deliver solutions to a variety of devices in a multi-channel environment, in a cost-effective and efficient manner.
Microservices is a cloud-native architectural pattern that structures an application as a collection of services that are organised around specific business or technical capabilities. They are usually owned by an in-house small team of developers that independently code, test and deploy its functionality. They can also be owned by third-party companies providing SaaS solutions, in the form of a Self-Contained System that developers integrate into an existing business solution.
They are loosely coupled, meaning that the different Microservices that compose the solutions are weakly associated to each other. Changes in one service does not necessarily affect other system components.
Services in a loosely coupled system can be replaced with alternative in-house or third party implementations that provide the same set of services and functionality, therefore not tying a business or developer to a particular vendor or technology.
They closely follow the Single Responsibility Principle, which is a software development principle that states that every service in a system should have responsibility over a single business or technical concern.
There are many other advantages in adopting a Microservices architecture, including enabling development teams to efficiently and repeatedly deliver large applications, and business to adopt best-in-class SaaS solutions while avoiding vendor lock-in.
In an API-First approach APIs are treated as “first-class citizens”, that expose all business functionality thru a well-defined set of contracts that allows two or more systems to interact.
API-First is closely associated to Microservices; the defined contracts are the entry point to all the service business functionality.
Having these contracts in place, that oftentimes follow API description languages such as Open API, contribute to a robust design and foster collaboration between different technical and non-technical stakeholders.
This strategy allows businesses to create APIs that can be efficiently developed for all types of devices and platforms and can serve all types of applications in a multi-channel environment.
Cloud-Native is a modern approach to building and designing and operating software applications that take full advantage of the cloud computing model.
This model takes advantage of many modern software development strategies such as agile methodologies, DevOps, continuous integration and continuous delivery and microservices and containers, resulting in apps and services that are flexible, scalable and resilient.
Headless systems are API-First services that allow the creation of applications where the user experience is completely decoupled form the back-end.
Instead of offering a traditional user interface (presentation layer), headless systems make its content accessible via RESTful or GraphQL APIs that can be consumed by many type of services.
Learn more about MACH Architecture from these great resources
The MACH Alliance
The MACH Alliance presents and advocates for an open and best-of-breed enterprise technology ecosystem.