The Potential of Microservices: More Flexibility and Better Control of Your System Architecture
Microservices facilitate an agile project approach. This allows systems to be planned in such a manner that individual processes are not executed by a single large application, but rather by several smaller ones. Each of these are responsible for only one particular aspect, but they complement one another.
Thus, each team can autonomously develop, operate and assemble applications in an agile manner.
With microservices, you can further adopt the composable commerce principles within your company.
Microservices assist you in breaking down complex applications and driving the development of your software and services in a flexible and scalable way.
The suitability of microservices for you depends on
- the complexity of your business processes
- the extent of your integration within different markets
- your existing system architecture
- your company's goals and requirements
Would You Like a Short Sneak Peek of Microservices?
Feel free to contact us. In a non-binding online consulting session (about 30 minutes), we can investigate the requirements of your existing system architecture together and review whether microservices are suitable for you.
A Closer Look at Microservices: Who Are They Suitable For?
There are various approaches for possible system architectures. To make parts of the architecture flexible, scalable and agile, monolithic systems can be broken down into smaller independent applications called microservices. Both approaches have their benefits and drawbacks.
The choice depends on your specific requirements and goals. We have compared the two approaches for you and highlighted the essential aspects.
Flexibility and Independence Through Microservices
Microservices are a part of the MACH approach. Several small and independent applications perform specific functions and are interlinked via APIs. For this purpose, the best solution can be selected and combined using microservices to achieve optimal results (best of breed).
Microservices are suitable for your system architecture if you
- intend to operate, scale and deploy individual services as modules
- need to use and interlink numerous systems (e.g. PIM, MDM, CRM, content management and shop systems)
- expect high traffic or peak request times and want to be independent of the overall system (separation of functionalities into independent units)
- wish to facilitate parallel teamwork
- aim to respond rapidly to changing business requirements or new user demands
- prefer less overhead in functionalities
Are you looking for a microservices expert team? We have supported several companies in this field and are looking forward to assisting you as well.
Simplicity and Configurable Business Logic with Monolithic Structure
All-in-one systems such as Salesforce, SAP, Adobe and IBM are essentially equipped for the cooperation of the required partial solutions by the respective providers (best of suite). Several features are mapped within one platform, with the aim of supporting a variety of business functions.
This approach is suitable for you if you
- do not need the individual functionalities of your system to be strictly separated
- work with fewer than three systems
- prefer a simple deployment process
- rely on integrated monitoring and error tracking
- do not have a strong in-house development team
- plan to make full use of the suite's functionalities
As a digital agency, we have implemented numerous projects with monolithic system architectures.
Schematic Example of a Possible System Architecture with Microservices
The system architecture is divided into different layers – Present, Process and Persist.
In the Present layer, the data is presented. The information – e.g. product data and images – is displayed on the selected user interface, which can be the front end of the CMS.
The execution of the business logic or processes that handle the data takes place in the Process layer. This is where the microservices are located.
The data that is processed by the microservices is stored and managed in the Persist layer. This includes the ERP, CRM and PIM systems.
As shown in the image above, an example for the implementation of microservices can be schematised as follows:
- A user interacts with the Present layer and opens the product details page.
- This layer is connected to the microservices from the Process layer via APIs and obtains the data from all linked systems (Persist layer).
- This enables the updated information to be displayed on the user interface or the product details page. This includes, for example, costs from the ERP tool and product data from the PIM system.
- Due to a marketing campaign, if an above-average number of visitors are expected on a product details page, then the microservices can automatically scale up in order to be prepared for such peaks.
Examples of a Successfully Implemented Microservices Project
Our Services in the Field of Microservices
Before the Implementation
At this stage, we support you with
- best practices and our expertise from previous projects
- analysing your requirements and goals, followed by consulting as well as system selection
- developing your desired system architecture
- checking the parallelisability and decoupling of the existing architecture
- breaking down the infrastructure costs
- our expertise in the fields of MACH architecture, composable commerce, best-of-breed approach and event-driven architectures
During the Implementation
Our services during the process include
- IT infrastructure and related hosting
- implementation of your corporate design
- consulting for DevOps, Customer Engagement Framework and agile project approach
- advice on all arising questions regarding, for example, security and documentation
- joint testing and ensuring good performance
- launching the project together
- reliability, availability and error tolerance of the microservices (uptime)
- monitoring (logging, metrics and tracing)
After the Implementation
Even after the implementation, we are still there to help you with
- hypercare and stabilisation of the system
- support and advice on further developments and possible extensions
- maintenance and updates, adjustment of scaling parameters as well as optimisation
- questions that may arise later
- professional and competent training of your employees by our expert team
Place Your System Architecture in the Right Hands: Why Is dotSource the Ideal Partner?
- Extensive and long-standing project experience and expertise in B2B and B2C – in cloud and system migrations, event-driven architectures as well as greenfield and brownfield approaches
- Consulting, implementation and support – everything from one source
- Quick project start with our microservices accelerator programme (Customer Engagement Framework)
- Specific contact person from our cloud services team
- Expertise and networking within the framework of the MACH approach
FAQ – Frequently Asked Questions About Microservices
How do microservices work?
The microservices approach is agile and suitable for system and software architectures. The services are separated and thus smaller and more independent than a monolithic structure.
For this, the services are connected to each other through APIs and communicate via interfaces. Due to its independence, each service is individually scalable and can be further developed, exchanged, tested as well as distributed.
When should you adopt microservices?
The criteria for deciding for or against a certain system architecture vary and depend on different factors. For example, the following aspects should be considered:
- How many different markets is your company active in?
- Which system architecture are you currently using?
- Do you have a strong team of developers to rely on?
- What business goals have you set for yourself?
- What requirements do you have for a system architecture and what needs does it have to meet?
Microservices are suitable for companies that have complex applications and business processes as well as a large number of existing systems. This approach offers a high degree of scalability, flexibility and agility.
Which technologies are used in the microservices environment?
For system and framework selection, we follow an agnostic approach. Our goal is to advise you independently of a specific provider, system or approach. Your requirements and desires are of utmost importance.
When it comes to microservices, we resort to our extensive in-house expertise. In particular, we can support you with best practices in Amazon Web Services and Azure with Kubernetes as well as managed container services.
What do I need to consider when switching to a microservices-based architecture?
The migration to microservices is a complex process and needs to be well planned. Two strategies are particularly relevant: the fundamental new development parallel to the existing system and the gradual replacement of the old system.
Based on our experience, we can ascertain that a step-by-step approach is suitable. Depending on your experience with microservices, it could be recommended to call on experts for the migration. Our expert team is here for you.
Preparation
- Plan the schedule and define SMART goals
- Identify components with high cohesion and low coupling
- For phased migrations: map existing functionalities with API-first principles
- Explore and map data
Implementation
- Build a lean CI/CD roadmap to enable rapid testing and productive deployments
- Establish detailed monitoring to improve the detailed measurability of business processes
- Finalise data exchange, testing and launch
Further development
- Maintenance
- New features / A/B testing
- Scaling
What is the MACH Alliance?
The MACH Alliance ist a non-profit organisation headquartered in New York. The network was founded in 2020 by commercetools, Contentstack, EPAM Systems and Valtech. It advocates for the use of MACH technologies in digital transformation and brings together key players from the tech industry.
In a MACH architecture, microservices (M) are connected via application programming interfaces (A) in a cloud-based environment (C) without a predefined front end, also known as headless (H). The best-of-breed approach offers the advantage of being able to select the software components that best meet the specific requirements of an online shop. In addition, microservices can be replaced and expanded more easily, making it possible to respond more quickly to market changes.
What are the goals of the MACH Alliance?
The MACH Alliance supports companies on their way to a flexible, interface-based digital infrastructure. This involves offering training courses led by experts and organising networking events. Besides commercetools, other dotSource partners such as Bloomreach and Contentful are also members of the MACH Alliance.