Migrating from Magento 1 – Open-source Options
Tomasz GajewskiReading Time: 6 minutes
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, all retailers running their shops on Magento 1 have to decide 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 at Kiwee 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, it is more likely to find the cause and the solution for many problems, without paying for extra support.
Microservices oriented platform or Monolith?
What is Monolith in software architecture?
Monolith means the entire software stack is a single package. It could have a modular structure, however. 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
- more significant effort to manage dependencies when the complexity is high
- the risk of bugs increases together with the complexity
- usually more challenging to scale up
What is Microservices architecture
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 when the software reaches a high complexity level
- less effort when a development team works on 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 that, in my opinion, have the highest potential.
Sylius overview
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. It is essential because it helps to keep up high team morale. For small and middle-size businesses (SMBs), for whom Magento 2 would be too complicated and too expensive to run, Sylius is a really good platform to migrate to. It already contains necessary features for a typical online store. 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 overview
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 primary 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 - that requires much more tuning work to achieve the acceptable level.
Commercial releases: Professional and Enterprise are available since July 2019. Shopware released the first stable version - 6.1 in January 2020. 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 yet
- 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 overview
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 without full-page cache
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 overview
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.
When we refer to the eCommerce part, there are two options available:
- The eCommerce Framework has rather basic features implemented. The idea is to use it not as a full-featured eCommerce system, but as a base framework for custom implementation. This concept reduces the overhead of features that are never going to be used.
- CoreShop - much more feature-rich, inherits everything from the eCommerce Framework plus more payment and shipping methods, taxes management, multi-currency and more.
Pimcore bases 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 great base to start and develop customized entire eCommerce ecosystem around the single code base.
We recommend Pimcore for small and mid-size businesses.
Pimcore can be recommended to small and mid-size businesses.
Incremental migration from Magento 1 to a new platform
If our Magento store is generic with several extensions, popular payment systems, and shipping carriers integrated, then we can consider migrating entirely to a new platform at once.
Else, what to do when our Magento 1 store has been developed for many years, lots of custom extensions have been written? 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 starting 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 buy 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 we can connect it to the new eCommerce platform in the next migration iteration.
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!