Microservices vs Monolith - the new era of eCommerce is here to stay! A chat with Piotr Karwatka
So far, the most quoted predictions regarding the 2021 eCommerce technology trends are ringing true. Among other things, the use of Machine Learning, AI and voice search is becoming more prevalent. Big data plays a major part in creating personalized experiences. Subscription models and sustainable products keep customers coming back. When it comes to developing infrastructure, many industry reports point out that one of the most important trends that will continue to shape eCommerce is still API-driven eCommerce.
As the latest Gartner’s Magic Quadrant for Digital Commerce study has shown, traditional eCommerce platform providers are still the market leaders. Nonetheless, the new approaches to building such platforms are gaining new supporters.
A quick reminder. When we talk about traditional eCommerce, we mean platforms built on a monolithic architecture, ie. a single-tiered software application in which different components are combined into a single program from a single platform provider. And when we talk about a modern approach, we mean an eCommerce site based on Microservices which arranges the site as a collection of loosely coupled services. Headless is a version of Microservice architecture where the frontend and backend layer of the application are kept separate. For more details, see our previous blog post.
Let’s compare monolithic platforms and microservices
As with everything, both traditional and modern eCommerce architectures bring many benefits, but also drawbacks. In this part of the article, we will try to familiarize you with the most commonly mentioned ones. We also invited our expert - Piotr Karwatka - through whom we hope that comparing these solutions will become a bit easier.
Monolithic architecture: most common pros & cons
When it comes to monolithic architectures, the most commonly mentioned pros include: fewer cross-cutting concerns and operational overheads, complex and efficient testing, and an overall better performance. The most usual drawbacks concern: overly tight coupling, slow-building and test-creating releases, hard-to-distribute development, using a single programming language, and complicating the adoption of third-party tools.
Microservices architecture: most common pros & cons
When it comes to microservices, on the other hand, the most common advantages are, flexibility, better organization, scalability, improved fault isolation, smaller and faster deployment. The most commonly mentioned disadvantages consist of multiple complexities requiring management, such as provisioning sufficient IPs, security threats, complicated global testing or higher costs.
Is there a winning approach? Time to ask our expert
Every online business must decide which of these solutions best meets their needs. To help you choose, we have interviewed our eCommerce expert and Meetsales investor:
Piotr Karwatka - long time CTO at Divante, a leading eCommerce technology agency, currently a startup investor and co-founder of Catch The Tornado, a software startup studio. Piotr is a thought leader on modern eCommerce approaches.
Question 1: What are the 3 major benefits of the traditional vs modern approach when it comes to building an eCommerce platform?
Piotr Karwatka: That’s maybe an unpopular view, however, the monolithic architecture could be a better fit for some apps. The microservices with all the benefits they provide, come with complexity that might extend the implementation time, since they require you to have more skills (especially DevOps) compared to building a monolithic solution.
Traditional architectures are typically more coherent. They offer more features out of the box. Nonetheless, it comes at the cost of lower quality and flexibility. The problem is that for customizing the monolith application, the team must be an expert of the whole platform in order to not break it by even introducing small changes. With microservices, custom changes are more isolated.
I like the Shopify approach which offers a modular monolith. In such a case, individual modules can be separately deployed, but the team can leverage the simplicity and speed that the monolith architecture provides. It could be great for startups, MVPs and all sorts of projects where a quick time to market is required.
With tools like Meetsales, the situation changes however. Like other apps, it comes with a full UI. It’s still customizable but it doesn’t require developers to make it work with a site or an app. One can use Meetsales API to personalize it or build integrations. Otherwise, they can just paste a link and use the boxed UI product, adding products and managing orders out of the Meetsales Admin Panel while offering all the features without the burden of syncing it into the existing architecture.
Q2: What are the prerequisites for the implementation of each approach? What are the technological requirements for each?
PK: It mostly depends on the product. You can use best of breed products and integrate them all together. However, it means you need to integrate things, you need to have the UI implemented to make most of the APIs offered by the parties your team integrates. With new-wave products like Meetsales, things got easier, because the integration step is super easy. Meetsales is an end-to-end product that could be even used standalone (just sharing a link to book a meeting.) In that case, there are virtually no prerequisites.
For different kinds of products, things look differently. Meetsales is one case. For CRMs, eCommerce platforms, you might need to prepare the whole environment, integration services, and develop the frontend from scratch. It’s super important to check both: the API plus the User Interface standards that the product is offering in order not to get stuck in the implementation process.
Q3: What are the cons of each approach in your opinion?
PK: For the Monolith, the problem is the whole team needs to be a platform expert. You need to modify a coherent, integrated system, so introducing even minor changes is always a risk, because you’ve got the access to full internal APIs. The best feature of API-first is that products are separated. Interfaces are well-defined. The team can deploy new changes a few times a day without the risk of introducing critical errors. This comes at the cost of complexity. This complexity is mostly a thing when you host the products on-premise, and it is almost non-existent as for the cloud-native tools like Meetsales. Always wisely choose the battles you fought and the products you’re to buy vs. build.
Q4: What are the 3 major trends that will continue to shape the future of eCommerce?
PK: I think there are quite a few super interesting things happening in eCommerce and enterprise software at the moment. First is no-code and low-code. I think products like Retool.com or Airbase where you can build internal tools within hours, domain-specific and optimized. Then, you’ve got all sorts of visual page builders like Vue Storefront, so you can build the web pages quickly even without any development skills.
Next thing is a trend of making the BI and Data services easier to use and more accessible to business folks. I think tools like Census, DataBricks.
Last thing I’d like to highlight is all sorts of communication tools. Video communication - Meetsales is a great example here - onboarding all sorts of sale, negotiation, customer case scenarios to be better handled by the customer service teams. Then, you’ve got Slack and Rocket.Chat for getting even further with the chat-oriented client’s communication. It streamlines a lot, making the problem-solving and issue-handling way more natural - and foremostly - faster.
The battle between the traditional and modern approach to eCommerce continues
Monolithic- and microservices-based approaches will undoubtedly continue to fight for hegemony in the eCommerce market. But remember that no matter which approach takes the reins in the future, the customers who drive demand will decide which approach will become the preferred one.
As we’ve seen above, the battle is fierce and there are no clear winners. Both have pros and cons. Both have endorses and opponents. Which one do you prefer?
Meetsales, and similar apps, can work in microservices and monolithic architecture, but if you’re still unsure which one is better for you, head on to our composable commerce article for more information.