Skip to main content

Breaking Apart the Monolith: How Magento Is Evolving to Be a Best-in-Class Platform

In the past 12 months, the Magento community has seen some important changes to the Core platform and Adobe’s approach to support it. Here is how these changes will impact the overall evolution of the Magento platform.

First, some context on me: My name is Chris Brabender, and I am currently the Magento practice lead at Absolunet, an Adobe Gold Partner based in Montreal, Canada, serving the North American market. I have been working with the Magento platform for around eight years and have been involved with Magento 2 since the merchant beta program in 2015. I am also a member of the Magento U Certification and Advisory training boards and have contributed to the Professional Developer and multiple other training programs.

 

Recent Developments and What’s Ahead

Magento has evolved to include, among other things:

  • A robust GraphQL API to support headless commerce 
  • The PWA Studio project
  • The new Magento Inventory project

Adobe has looked to stabilize the release schedule and make it easier for merchants and systems integrators to plan for the required platform upgrades, also starting to break up some of the key components of the monolith into smaller pieces. Adobe is also putting a much greater emphasis on the security of the platform with continued improvements.

The future includes:

  • A further breakdown of the monolith into individual components
  • The introduction of the Storefront API
  • Expanded GraphQL coverage
  • A richer integration to the Adobe suite of tools 
  • Greater support for complex B2B commerce.

 

Some Historical Context

The migration from Magento 1 to Magento 2 in the first few years was troublesome for some of the early adopters. The platform lacked stability. It felt like the first Magento 2 release was rushed and not as polished as many had hoped.

Partners and merchants alike became frustrated with the pain and costs associated with building and maintaining the new release. Each time a new version was released, there were major changes and breaks, which required lots of work to implement and fix.

It is now nearly five years since that initial release, and things have definitely improved. It keeps getting better.

 

Moving Forward

Given that history, there may be some hesitation when selecting Magento as a platform of choice, but we are now in a place where the stability, performance and security of Magento is the top priority for Adobe. These next points are why I feel Magento is, and will continue to be, the leading commerce platform:

  • Release Transparency and Process
  • Scalability
  • Breaking Apart the Monolith
  • Partner Enablement
  • Adobe Ecosystem Integration

 

Release Transparency and Process

From my perspective as an Adobe partner, release transparency is key to success in managing client expectations and ensuring PCI compliance can be maintained. We have a short window from release to deploy to ensure that compliance is maintained, and with the new release processes from Magento, that is easier than ever.

Magento has adopted three key methods to enable merchants and partners to ensure a smooth release process:

  1. Greater visibility of when to expect releases, with this published schedule on the Magento DevDocs.
  2. Pre-release access for partners to prepare internal tooling, module compatibility and any necessary steps required before general availability.
  3. Security-only patches allowing merchants to skip a full release and focus just on the security aspects if required. There is a great article on this new process here

 

Scalability

I won’t go into detail on headless commerce here, as there is already a great selection of articles on this topic available from the Magento Community. What I do want to discuss is the evolution of the platform to truly support a highly scalable headless implementation through the new Storefront API.

GraphQL is the method of choice for Adobe and Magento to power headless commerce with the technology being adopted for both the PWA Studio project and the Adobe Experience Manager Commerce Integration Framework project.

Currently, the GraphQL APIs are bound to the traditional Magento monolith with tight dependencies to the service contracts exposed by each component such as Catalog, Customer or Sales. While this is fine for a basic implementation, allowing for no changes from extension developers or partners to implement new GraphQL functionality rapidly, it does not allow for the scale that new Magento merchants are demanding.

The Storefront API looks to solve that through the decoupling of the Magento Monolith and the GraphQL API layer. The technical vision of this new layer is outlined in the publicly available Architecture documentation here.

Source: https://github.com/magento/architecture/blob/master/design-documents/storefront/storefront-api/storefront-api-01.png

What this new approach boils down to is that all GraphQL queries will be able to retrieve data from a highly efficient and scalable data store that is separated from the Magento Core application. Data is fed to this new data store through asynchronous message queues when changes are made in the backend.

The added advantage here is that the Storefront API will be delivered as a separate package to the Magento Core, meaning it can be upgraded independently. It also means it is the first step to a microservice architecture for the Magento platform, meaning each individual service from the Storefront API can be independently scaled or replaced based on merchant needs.

This really is an exciting change to how we have typically built Magento sites in the past. Being able to easily scale the application via this API will allow a wider range of merchants to adopt the platform without fear of performance degradation. We’ll start to see this being introduced in Magento 2.4 (due out Q3 2020).

 

Breaking Apart the Monolith

Magento has traditionally been packaged and delivered as a single, monolithic application. This means that every individual piece of functionality that changes must wait for the next release of the monolith to be available to partners and merchants. With the quarterly release cycle in place, we see that some fixes or improvements need to wait several months before being released.

We are now starting to see the first steps from Magento to break apart that monolith and package up individual features that can be maintained, updated and distributed independently of the Core application. The first step down this path was with the release of the Magento Inventory project (formerly known as Multi Source Inventory). This is a community-driven project that is maintained outside of the Core platform. Magento Inventory is a rich inventory management system allowing merchants to fulfill from multiple sources (warehouses or stores) through advanced omnichannel strategies.

In addition to this, we are seeing that Core payment methods like Authorize.net, WorldPay, CyberSource and more are being removed from the Core platform entirely with support for these payment methods being transferred to the Magento Marketplace. Again allowing for them to be updated independently to Core.

New features being added to the platform, such as the Adobe Sensei-powered Product Recommendations project, the Storefront API and the new Magento Security Extensions package, are also being released independently so partners and merchants can opt in and update as they see fit.

 

Partner Enablement

Magento Commerce Cloud offers a rich set of tooling for building and deploying to Magento’s Cloud infrastructure. This tooling is referred to as ece-tools and is available on github. This was previously a single-package repository targeted solely to Magento Commerce Cloud customers but has recently been broken up into individual packages that can be leveraged by on-premise merchants too.

This is a great example of Magento expanding their offering to support more partners and merchants, giving them access to patches and docker images to support their local and hosted Magento sites.

 

Adobe Ecosystem Integration

Adobe is continuing to drive the deep integration of Commerce powered by Magento into their extensive suite of customer experience offerings. Through their work on the Commerce Integration Framework, they are enabling a headless Magento to provide Commerce functionality to their powerful Adobe Experience Manager product. The work here is pushing forward the need for expanded GraphQL coverage in the Magento Core platform.

In addition, Adobe has started to leverage their Sensei AI product to give Magento Commerce customers personalized product recommendations. They have outlined a promising roadmap to further push the boundaries of Magento with AI and machine learning based solutions from Sensei.

The potential candidates presented at Adobe Summit this year targeted shopper experience, data activation, and insights and measurement topics with features such as premium and AI-driven search, fit predictor, intelligent navigation, AR/VR capabilities, intelligent audience targeting, AB testing and more.

My Main Message

My key takeaway here is that the Magento platform is continually evolving to truly become a best-in-class offering that gives partners and merchants the reliability, scalability and robustness needed to power their next-generation commerce projects. 

I am, without a doubt, excited for what is to come and the new array of merchants and projects I will be involved in over the coming years.