Open-source alternatives to Magento

Migrating from Magento 1 – Open-source Options

Why migrate from Magento 1?

Adobe announced the definite end of the support for Magento 1 for June 2020. After this date, the Magento team will stop releasing further security updates and bug fixes. Therefore, it is crucial that all retailers running their shops on Magento 1 make the decision on what to do next.

Is migration from Magento 1.x to Magento 2.x the best choice? What are the alternatives? Which eCommerce platform should I choose then?

In this article, I will focus on open source eCommerce platforms we have implemented or tested.

Why open-source?

Unlike closed source and SaaS platforms, open-source gives much more flexibility in terms of customizations and enhancements. It is free - there are paid versions as well which enhance free versions with additional plugins.

Another benefit is the community that extensively works on improving the platform. Thanks to the community’s activity on forums and groups, there are higher chances to find the cause and the solution for many problems, without paying for extra support.

Microservices oriented platform or monolith?

Monolith vs. Microservices architecture

Monolith

Monolith means the entire software stack is put into one package. Although it can be modular. Monolithic systems often use a single database as data storage.

Pros:

  • easier to set up
  • more effortless to maintain short-term, while keeping a reasonable number of third party plugins.

Cons:

  • hard to maintain long term when the number of features increases
  • bigger effort to manage dependencies when the complexity is high
  • the risk of bugs increases together with the complexity
  • usually more difficult to scale up

Microservices

Microservices architecture - services (like modules in a monolith) are individual apps communicating with each other or with a data source via an API.

Pros:

  • future proof
  • easier to maintain and develop in case of high complexity
  • easier to develop multiple features in parallel
  • not limited to one technology or a programming language

To choose the best approach is to answer several questions:

  • How big is the complexity of my Magento store?
  • How many Integrations with third-party services like PIM, ERP, CMS do I have?
  • What are my current server infrastructure capabilities?

Open source eCommerce platforms overview

I have focused on four open-source platforms which, in my opinion, have the highest potential.

Sylius

Sylius is a lightweight eCommerce platform written in PHP and based on the Symfony 4 framework. Symfony, in my opinion, is versatile, best structured and one of the most popular PHP frameworks developers love to work with. This is important because it helps to keep up high team morale. For small and middle-size businesses (SMBs), for whom Magento 2 would be too complex and too expensive to run, Sylius is a really good platform to migrate to. It is bundled with enough features to run the business on. Long term, it may be more profitable to invest in custom plugins development, rather than maintaining a Magento 2 store overloaded with features not being used at all.

Pros:

  • built on Symfony 4
  • tidy and well-organized code easily extendable
  • compatible with PHP 7.3
  • put a lot of focus on tests
  • BDD (Behaviour Driven Development)
  • supports MySQL or PostgreSQL as a database engine
  • supports Elasticsearch
  • lightweight
  • comprehensive RESTful API - thus headless ready
  • active community

Cons:

  • no GraphQL support
  • default architecture is monolithic
  • a small collection of plugins available to date

Sylius has recently released the first commercial version with additional features like multi-store, multi-warehouse and returns management. It is called Sylius Plus and it is under an SLA license.

To summarize, Sylius is a perfect platform suitable for small and mid-size businesses. Development costs should be lower than average among open-source platforms thanks to the popularity of the Symfony framework and many experienced developers available.

Shopware 6

Shopware 6 has been completely rewritten (compared to its predecessor). It is based on microservices architecture and headless-ready by design.

It consists of three main services:

  • the core system containing the main features and the RESTful API
  • the storefront
  • the administration panel

Both, the core system and the storefront have been written in PHP on the Symfony 4 framework. The administration part though has been written in Vue.js.

The code is clean and well organized, making the platform easy to work with for developers. Performance is more than satisfying, compared to Magento 2, which requires much more of tuning work to achieve the proper performance.

Commercial releases: Professional and Enterprise are available since July 2019. They contain additional features, such as Content Editorial tools, Multichannel or B2B features (Enterprise only).

Among the pros there are:

  • microservices architecture by design
  • headless ready
  • built on Symfony 4
  • tidy and well-organized code
  • GraphQL support as a plugin
  • supports Elasticsearch

List of the main cons contains:

  • a very new platform, thus few plugins available to date
  • the base storefront is not a PWA

In summary, Shopware 6 is a great platform suitable for small and enterprise-scale businesses. It provides lots of flexibility and it is well designed. All major payment and shipping providers have already been working on updating their integration plugins to be compatible with Shopware 6.

Magento 2

Magento 2 is so far the most comprehensive and mature open-source platform. It provides a rich collection of features, more than most small eCommerce businesses usually need. Same as most of the open-source platforms, Magento is written in PHP on top of its framework, supported by a bit outdated - Zend Framework 2.

The higher number of features means higher complexity, thus higher hardware requirements. Therefore, before deciding to migrate to Magento 2, higher maintenance costs need to be considered.

What we get in return is the migration tools and very well described migration procedure. Magento architecture is ready to scale up and to work in a cluster of servers.

The developer’s documentation is one of the most comprehensive among the platforms.

Magento has its marketplace which counts already more than 3000 extensions available, both paid and free.

The pros are:

  • feature-rich
  • headless ready
  • GraphQL available
  • supports Elasticsearch
  • large and active community
  • supports MySQL NDB cluster

The cons are:

  • high complexity
  • high hardware requirements;
  • poor performance on a development machine when cache is disabled

Summary: The complexity of Magento 2 is higher and also requires more powerful servers, it suits better for mid-size and enterprise businesses. A variety of features and many extensions make this platform extremely capable.

Pimcore

Pimcore represents a different concept than the other platforms. It’s a suite of apps commonly needed to run a successful store. These are the following: PIM, DAM, eCommerce, CMS. It comes all in a single package, however, each of the apps can be decoupled and replaced with external ones thanks to the API.

Referring to the eCommerce part, there are two options available:

  • The eCommerce Framework which has very basic features implemented and it is rather intended to be further developed to meet the custom requirements.
  • CoreShop - much more feature-rich, inherits everything from the eCommerce Framework plus more payment and shipping methods, taxes management, multi-currency and more.

Pimcore is based on the Symfony framework, therefore it is highly customizable and extendable. The learning curve is mellow for a developer familiar with Symfony.

Pros:

  • the all-in-one bundle makes it quicker to start
  • good performance
  • headless ready
  • highly customizable.

Summary: Pimcore is a good base to start and develop customized entire eCommerce ecosystem around the single code base. Good code isolation allows to keep it all tidy.
Pimcore can be recommended to small and mid-size businesses.

Incremental migration

If our Magento store is generic with several extensions, popular payment systems and shipping carriers integrated, then we can consider migrating completely to a new platform at once.

Otherwise, what to do when our Magento 1 store has been developed for many years, lots of custom extensions have been written? In other words, how to approach it when the budget and the time constraints do not allow us to migrate all at once?

Our recommendation is then to migrate from Magento 1 incrementally. We recommend to start from decoupling the storefront, instead of spending many months and investing lots of money on building a new platform with all integrations. Magento 1 API is capable enough to achieve this. When having a separate storefront, the back-end can be then removed from the public access and restricted to the specific pool of IP addresses or a domain.

Thanks to this approach, we can buy more time for rewriting custom extensions to the new platform, or ideally to build them as independent microservices. The storefront becomes then back-end agnostic and can be connected to the new eCommerce platform in the next iteration.

Headless eCommerce example with Magento 1

Conclusion

No platform can fit all scenarios. The decision on how to approach the migration needs to be taken considering the current eCommerce system complexity, time and budget.

Would you like to discuss the migration from Magento 1 with us? Contact us and set up a free meeting to recognize how we can help you!

For more reviews about the newest technologies in web and mobile apps’ development visit our Technology Radar!

FacebookTwitterPinterest

Tomek Gajewski

CTO and co-founder

Programmer from childhood, keen on travelling, animal lover. The most tranquil person during stressful situations.