Microservices Architecture with Pimcore
We are living in a MACHO world! Microservices-based, API-first, Cloud-native, Headless, Open Source solutions have become the default choice for enterprises when selecting new technology. In this article, you will learn more about microservices.
What are Microservices?
They are individual pieces of business functionality that can be independently developed, deployed, and managed. Microservices aims to promote a software architecture that structures an application as a collection of services that are:
- Easily maintainable and testable
- Loosely coupled
- Independently deployable
- Organized around business capabilities
- Owned by a small team
Which Software Architecture Styles Does Pimcore Support?
Many companies prefer to deploy Pimcore in the traditional style, known as the monolith. This architecture style provides Pimcore as a single application, without APIs and no need for Datahub.
But Pimcore also supports the macro services' style by adding services and APIs to a monolith via Datahub.
It can also be mini-service-powered by converting the monolith to separate services that other applications can call via push or pull. You can even achieve this architecture with a single Pimcore runtime and one data store.
Finally, you can deploy Pimcore purely microservices-powered, which is currently very popular. To do so, you can create a dedicated Pimcore instance and a data store for each service.
You see: All architectural styles are possible with the flexibility and robust data and experience management capabilities of the Pimcore Platform.
PIM, DAM, and DXP
In this example, a company created three instances of Pimcore. The first one is responsible for product information management (PIM), the second one for digital asset management (DAM), and the third one for digital experience management (DXP). These three independent microservices are separate applications that exchange data. The first is a product data service, the second is a digital asset data service, and the third is a headless content management system (CMS). All are seamlessly connected via APIs by GraphQL-powered Pimcore Datahub. Additionally, this company can use further microservices to abstract their storage, database, and cache.
Another example is the integration of commercetools (a commerce platform built on MACH principles) as the headless API-based digital commerce layer. This approach allows to scale and evolve the IT framework as needed. As a result, generating revenue becomes faster. Whether the company has a PWA online shop or custom web interfaces and apps for their sales teams, they can quickly implement and improve this data and experience management solution.
As Pimcore installation, we utilize the public demo.
Looking to gain more Pimcore knowledge? The training platform Pimcore Academy offers on-demand video courses about many Pimcore topics. The content is focused on software developers. It includes code samples, tutorials, and links to further information. Prove your expertise and earn 3 official certificates. Start learning to maximize your Pimcore know-how.