Since November 2015, when Magento 2.0 was released, we have to ask ourselves: Which system should we use for our Magento projects – Magento 1 or Magento 2? Or a totally different system? There is no clear and simple answer to that – the decision depends on many factors.
Recently, the (probably final) end of official support for Magento 1 was announced for June 2020. This announcement has fueled the discussions in the Magento community. This blog post is an approach to analyze the different points of view and to give a recommendation.
Magento 1.0 was released more than ten years ago. Currently, it’s available as version 1.9.3 for the Magento Community Edition and as version 1.14.3 for the Magento Enterprise Edition. While the evolution of the product was fast-paced in the first years, it mostly stagnated since about 2013, on a high level. At its time, Magento was the first system of a new generation of shop systems which shone with advanced architecture, many features and real updatability. Nearly all functionalities of Magento are adjustable without having to change the original (core) files. It’s a stable, reliable system with a huge range of free and commercial modules as well as thousands of developers and agencies which are very comfortable with the system.
Its biggest disadvantage is the missing further development and the expiring official support by Magento.
While Magento 2 was quite immature and defective when it was first released in 2015, it has become a much more stable system with the release of version 2.2 (September 2017) at the latest. One of the main reasons for the increased stability is the community engineering program by Magento through which thousands of bugfixes and additions by external developers and agencies have found their way into the core.
The big advantages of Magento 2 are the technically mature software architecture which follows modern design principles, i.e. Dependency Injection. The core code is completely covered with automated tests, and it has become much easier to write tests (i.e. with PhpUnit) for your own code. Additionaly, extensive APIs (REST) exist in order to integrate other systems. Magento 2 also makes it possible to adjust all functionalities without having to overwrite any core files.
The huge amount of core code and the included complexity make the first steps into Magento 2 development quite hard. Even though the quality of the core code varies a lot, further development and adjustment of features of Magento 2 can be done in a good and solid way in general if you adhere to the development guidelines. Increased quality standards lead to longer development times compared to Magento 1 though.
A big weakness of Magento is the current frontend framework, including the so-called UI Components, which require a huge effort to adjust and extend them even by experienced developers. You can find background information in my blog post PWA: A new Frontend for Magento 2 and why it is necessary. The newly built frontend framework is currently being developed. It’s not ready to use yet.
In its free Community Edition, Magento 1 is mainly suited for small and medium online shops. Even with a lower five-digit budget you can make good use of it. For larger shops, many adjustments will be necessary as the architecture reaches its limits, even if the commercial Enterprise Edition, which includes some performance relevant optimizations, is used.
The cost for operating a Magento 1 shop has increased significantly in the last couple years. Main reasons here are necessary changes like GDPR and other privacy regulations, and the necessity to implement all security patches which required the adjustments of modules in some cases. This can’t be done without developers.
Regarding Magento 2 we can witness a significant up-shift of its target group. This has been confirmed officially recently:
Mark Lenhard, SVP @ Magento Inc., Meet Magento NL 2018
The acquisition of Magento by Adobe in June 2018 will most probably fuel this movement.
The investments necessary to operate a successful shop with Magento 2 have grown. This includes hosting costs (we urgently recommend a dedicated Magento hosting company for Magento 2), higher personnel expenses (you need a certain experience in order to effectivly develop on Magento 2 – that’s why the “Magento 2 Certified Professional Developer” certification needs at least about 1.5 years of intense work with Magento 2) and higher costs for modules.
One of the things that drove me out of Magento development was folks coming to me with a severely compromised site and budgets didn’t begin to cover a the work involved in cleaning them up. Self-hosting a PHP application that touches credit card numbers seems like madness in 2018 https://t.co/KuXmGF3lQS
— Alan Storm (@alanstorm) September 24, 2018
Magento 2 is not for everyone
The selection of a shop platform not only applies to merchants, but also to agencies and individual developers. In my opionion, using Magento 2 doesn’t make sense for:
- Agencies which don’t aim to specialize at least one of their branches on Magento
- Small agencies with less than three developers which are dedicated to Magento
- Freelancers who want to implement complete online shops on their own
- Smaller merchants without their own development teams
The background behind these possibly provoking statements: from my experience, the effort to implement and operate a professional Magento 2 shop is under-estimated in many cases. The increased number of technologies can hardly be mastered by a single person. Of course, exceptions to the above mentioned statements are possible if you have a good concept.
Additionally, the amount of framework code in Magento 2 has increased considerably compared to Magento 1. This includes frontend and backend code.
Due to the high complexity of Magento 2, it is recommended to install a team for the implementation of a shop. The team members should ideally cover the topics backend development, frontend development, infrastructure / devops, project management, usability and marketing. If these preconditions are met, you can implement an effective, long-running and stable shop with high performance using Magento 2.
On the other hand, I recommmend agencies to switch to Magento 2 sooner or later if they focus on ecommerce and have good developers who like to learn new technologies.
Consequence of the expiring support
The end of the official support for Magento 1 was originally announced for end of 2018. This date was revoked in 2017. In the middle of 2018, Magento announced a new date for the end of support: June 2020.
At that time, two things will take effect:
There won’t be any more security patches for Magento 1 (Enterprise und Community Edition).
Of course, this influences the security of your shop. Even if this isn’t an urgent problem at first if all available security patches are applied, you cannot ignore the problem in the long term. There is a high probability that some other party will offer some kind of (potentially commercial) security support as thousends of online shops will be facing the same problem. At the time of writing this blog post, there are no concrete plans about this to my knowledge. There is a certain risk if you are relying on the community to cover support.
Compliance to important security standards (i.e. PCI-DSS) won’t be given any more.
This is mostly relevant for bigger merchants whose internal security guidelines specify the use of certified and supported software. Those merchants will have to migrate from Magento 1 to another system.
If the shop manages payment data directly, the credit card companies usually request conformity to the PCI DSS rules. A migration will be unavoidable if this affects your shop.
Currently there are still between five and six Magento 1 shops for each Magento 2 shop, and a big part of the current Magento 1 shops will still be active when the official support runs out.
20k vs 115k pic.twitter.com/QcxPVIYnOn
— Willem de Groot (@gwillem) September 21, 2018
Existing Magento 1 shop – what to do?
In my opinion, migrating to Magento 2 only makes sense for bigger shops. They should have at least a 7-digit yearly turnover. Please be aware that a migration won’t be an update, but a re-implementation of big parts of the shop. On the other hand, a migration gives the opportunity to remove some legacy features and utilize the possibilities of ecommerce better with an updated concept and a modern framework.
If those preconditions are met and there is a sufficient budget available, now might be the right time to start planning the migration to Magento 2 in order to become competitive and sustainable for the next five to ten years.
On the other hand, there are some alternatives you can follow if a migration to Magento 2 is not possible or not favored:
- Wait some more time – your Magento 1 shop will be secure until mid of 2020.
- Usage of the Community Fork Magento LTS which develops Magento 1 carefully, supports newer software stacks and, at the same time, cares for backwards compatibility.
- Switch to another shop system like Shopware, Spryker or Sylius, which have their own pros and cons.
- Switch to a SaaS Shop like Shopify or plentymarkets. In most cases the flexibility is limited, but you don’t have to care about topics like hosting and performance.
Probably around 80% of my customers on M1 have deep custom features for core business reason. I don‘t see moving them to a Sass solution. Moving them to M2 will be at high cost. Only solutions change OS solutions or stay on M1 which is still good platform.
— Sylvain Rayé (@sylvainraye) September 29, 2018
It might pay off to wait a bit longer with the migration to Magento 2: The new frontend technology PWA is about to take off. If you are about to switch to a new system, you should directly utilize a modern frontend which brings huge advantages like better performance and usability.
The preconditions are about the same as the preconditions for switching to Magento 2: Sufficient budget and developers who are willing to dive into new technologies. Probably there won’t be an out of the box solution for PWA in the next time. Even though the companies which are working on the different PWA solutions put a lot of focus on a seamless integration into Magento shops, I don’t think that it’s possible to use PWA withough any adjustments by developers.
If you think of modernising a stable Magento 1 shop step by step with a PWA approach: Both Vue Storefront and Deity are planning integrations with Magento 1. But as this will need extensive additions to the APIs, I wouldn’t expect a ready-to-use solution in the near future.
Magento has grown to a stable and modern but highly complex system which has made good progress regarding functionality and fixed bugs in the last months. For all shops starting with a certain size (which is hard to estimate), a migration to Magento 2 will make sense. In order to avoid last-minute panic and overloaded agencies, the right time to schedule the migration is now. Plan with enough time and money and try to hire developers who already have experience with Magento 2 in order to avoid bad surprises. Investing in higher quality, i.e. through automated tests, will pay off.
For smaller shops a migration is not advisable in many cases – you should have a look at the alternatives then.
Author: Andreas von Studnitz
Andreas von Studnitz is a Magento developer and one of the Managing Directors at integer_net. His main areas of interest are backend development, Magento consulting and giving developer trainings. He is a Magento Certified Developer since 2011 (and 2018 for Magento 2) and a Magento Certified Solution Specialist since 2014 (Magento 1) respective 2017 (Magento 2). He was appointed a Magento Master in 2019.