Magento versie 2 is uit. Een paar maanden geleden verscheen zelfs al versie 2.1, waarmee verschillende nieuwe features werden toegevoegd, waaronder support voor ElasticSearch. Is het de moeite om over te stappen?
Tekst: Jisse Reitsma
Magento is een open source webwinkelpakket dat momenteel wel het meest populair genoemd mag worden. Magento werd in 2008 ontwikkeld door een bedrijf Varien, dat in 2011 werd overgenomen door eBay. Lange tijd werd vanuit Magento geroepen dat een versie 2 in de maak was. Maar de nieuwe versie liet meer dan vijf jaar op zich wachten. In de jaren na de overname door eBay, lagen er plannen om Magento op te laten gaan in een overkoepelend systeem genaamd X.Commerce. Uiteindelijk ging dat alles niet door. Magento werd een apart eBay-bedrijf en er werd verder gebouwd aan versie 2. Dat werk heeft zich terugbetaald: Magento 2 is een nieuw robuust platform waar veel mee kan worden gedaan.
Meerwaarde niet in features, maar in techniek
Dat Magento 2 flink anders is dan Magento 1 valt direct op. Toch is veel ook bij het oude gebleven en valt het niet mee om nieuwe features te ontdekken. De meerwaarde van Magento 2 ligt ook niet bij de features, maar primair bij de techniek waarmee deze gebouwd kunnen worden. Bij Magento 1 was dat ook zo; de core applicatie werd juist zo gewild dankzij de duizenden extensies die ervoor beschikbaar kwamen.
De kleine nieuwigheden zijn toch ook wel interessant: Het ‘Magento Admin Panel’ (waarmee producten en bestellingen worden beheerd) is responsive, wat wil zeggen dat het gemakkelijk bruikbaar is vanaf mobiel of tablet. De checkout is veranderd, misschien zelfs zodanig dat het niet meer nodig is om met One Page Checkout extensies de hele checkout te vervangen (iets waar ik later nog op terug kom). Er is geen expliciete stap meer nodig voor het aanmaken van een account. Er zijn nog wat kleine handigheden, maar een voorlopige conclusie is dat het hierbij gaat om kleine nieuwigheden. Deze zijn niet de reden dat Magento 2 zo de hemel in wordt geprezen, het is juist de architectuur waar het om draait.
Waarom versie 2?
Waarom een versie 2? Wat is er mis met Magento 1? Magento 1 is een PHP-applicatie die in 2008 zijn tijd vooruit was. Maar in de loop der jaren zijn flink wat dingen veranderd in PHP-land, zoals de opkomst van zogenaamde PSR-standaarden, pakketbeheer via Composer en verschillende ontwikkelingen binnen JavaScript. Magento 1 kon hier vanwege zijn monolithische structuur niet genoeg in meegroeien. Daarom ontstond de behoefte aan een applicatie die inwendig radicaal anders was opgebouwd: flexibeler, schaalbaarder en met de nieuwste technieken. Met de release van Magento 2.0 in november 2015 werd die applicatie publiek gemaakt en sindsdien is de markt volop in beweging.
Voor iedereen?
Magento 1 is in de loop der tijd erg populair geworden, zowel onder kleinere webwinkeliers als onder grotere Enterprise shops. De vraag is nu of Magento 2 geschikt is voor al deze partijen. Er zijn bijvoorbeeld met Magento 2 veel technische tools beschikbaar gekomen die het ontwikkelaars makkelijker maken de applicatie uit te breiden. Maar precies die tools maken het zelfstandige webwinkeliers juist weer lastiger zelf hun shop te onderhouden. Om de vraag te beantwoorden of Magento 2 echt voor iedereen is, moeten we daarom eerst bekijken wat er nu precies onder de motorkap is veranderd.
Moderne stack
Bij het bouwen van een webshop komen allerlei expertises samen: denk aan webdesign, teksten, seo en onderhoud. Maar bij het bouwen van een webapplicatie (zoals Magento) is de techniek het belangrijkst. We kunnen Magento 2 dus alleen goed doorgronden als we ook de techniek onder ogen zien. Dankzij de techniek kan er een veelvoud aan handige Magento-extensies ontstaan, waarmee weer krachtige webwinkels gebouwd kunnen worden.
Een applicatie draait vaak op een stack - een combinatie van andere softwareproducten die het mogelijk maken een applicatie als Magento te draaien. De stack van Magento vereist een webserver met support voor PHP en een database. Qua webserver voor PHP-applicaties werd jaren geleden vaak gekozen voor Apache. Vandaag de dag draait Magento juist het beste op Nginx. Via een ander programma PHP-FPM kan Nginx ook PHP-scripts uitvoeren. De PHP versie is dan ook van belang. De huidige versie PHP 7 is een stuk sneller dan zijn voorganger PHP 5.6. Een lagere versie dan PHP 7 voor Magento gebruiken is dus niet slim. Als database heeft Magento 2 MySQL versie 5.6 nodig (of een compatibele variant). Niets spectaculairs, wel belangrijk om te weten.
Meer voorwaarden aan hosting
De stack van een ideale Magento 2 site is meer dan alleen maar de webserver en database. Vaak wordt er gekeken naar een betere cache handler zoals Redis, terwijl op de server ook tools als Composer, Magerun2, Git onmisbaar zijn. Al met al maakt dit de stack van Magento 2 tot een erg moderne stack, waar developers van smullen. Tergelijkertijd schept dit extra voorwaarden voor hostingproviders. Kwamen hosters er soms mee weg om Magento te draaien op een verouderde PHP-omgeving, met Magento 2 kan dat niet meer. Dit betekent niet direct dat de prijs voor het hosten van een Magento 2 shop omhoog zal moeten. Het betekent vooral dat hosting providers die niet continu hun platform up-to-date houden, uit de gratie zullen vallen. En dat is maar goed ook, want door slechte hosting-omgevingen zijn niet alleen veel snelheidsproblemen ontstaan, maar ook nog eens beveilingsproblemen. Magento 2 maakt het dus mogelijk om de hele stack met de tijd mee te laten gaan.
Betere checkout
Magento 2 kent een upgrade van JavaScript: Een webpagina is vaak opgebouwd uit HTML broncode, CSS stylesheets, JavaScript scripts en afbeeldingen. Aan ieder onderdeel zijn er tal van veranderingen geweest, en dus ook aan JavaScript (niet te verwarren met Java, wat een compleet andere programmeertaal is). Magento 2 kent een upgrade van JavaScript.
Van alle frameworks (MooTools, ProtoType, ExtJS) is jQuery veruit het populairst gebleken. Daarom heeft Magento 2 daarvoor gekozen (en het oude ProtoType/Scriptaculous de deur uit gegooid). jQuery is een stuk kleiner dan zijn voorgangers, wat het inladen van shoppagina’s op een mobieltje bijvoorbeeld een stuk sneller maakt.
Er is ook een aantal nieuwe JavaScript toevoegingen die moeilijker uit te leggen zijn: RequireJS en KnockoutJS - de technische uitleg sla ik daarom even over. Wel belangrijk is dat de twee met andere onderdelen van de Magento templating-laag worden samengesmolten om een concept te vormen genaamd UIComponents. Dankzij UIComponents wordt het mogelijk om vanuit de ene extensie de JavaScript functionaliteit van een andere extensie compleet aan te passen.
Het kwartje valt op het moment dat duidelijk wordt dat de hele prijsberekening op productpagina's en de hele checkout gebaseerd zijn op UIComponents. Dankzij deze techniek is de checkout dus veel simpeler aan te passen. Het toevoegen van een nieuwe stap in de checkout was een drama in Magento 1. In Magento 2 is het een relatief simpele procedure (voor developers dan). Ook is het mogelijk om dankzij deze JavaScript-technieken in te haken op het toevoegen van producten aan de winkelwagen, of het selecteren van een specifieke productcombinatie (Configurable Products en color Color swatchesSwatches).
Snel en uitbreidbaar
Magento 2 is snel, in ieder geval even snel als Magento 1. Maar het biedt ook technieken (jQuery, RequireJS) die het laden van een webpagina binnen mobile clients (telefoons, iPads) sneller maken. Gevoelsmatig maakt dit Magento 2 dus misschien wel sneller dan Magento 1. Magento 2 is in ieder geval erg ‘uitbreidbaar’, een grote verbetering ten opzichte van Magento 1. Een randvoorwaarde is dat je daarmee wel een stuk extra complexiteit omarmt. Developers hebben hierin zeker een leercurve. Maar op bepaalde vlakken zullen zij merken dat zaken ook gemakkelijker en intuïtiever gaan. Deze mogelijkheid tot uitbreiding is misschien wel de belangrijkste feature van Magento 2.
Wachten of niet?
Op zichzelf betekenen RequireJS, KnockoutJS en UIComponents niets. Maar het is juist de techniek die de markt voor Magento 2 een immense boost zal geven, dankzij het gemak waarmee developers vanaf nu betere innovatieve extensies kunnen bouwen.
Magento 2 is een krachtig platform, maar als je zelf geen implementatiepartij bent, dan moet die krachtigheid worden bewezen door een partij die je daarvoor inhuurt, ofwel door extensies die je zelf integreert. De markt is echter nog dun bezaaid met dergelijke extensies. Nu overstappen is misschien nog een grote stap.
Magento 1 support eindigt in 2018. Je hebt dus nog wel even de tijd om over te stappen. Maar het betekent niet dat er niets gedaan hoeft te worden. Bij een migratie komen veel stappen kijken, zoals een inventarisatie van de huidige extensies, een roadmap van de catalogus, een vergelijking van de features, een inventaris van de kosten. Via documentatie, seminars, trainingen of gebruikersgroepen is veel informatie in te winnen. Twee jaar vliegt zo voorbij.
Magento 2 is sowieso het platform van de toekomst. Het heeft een levend hart dat geschikt is voor groei in het komende decennium. En het heeft nu al een community die daar graag aan mee werkt.
Jisse Reitsma is oprichter van Yireo. Samen met Dutchento en Magento organiseert het bedrijf op 21 oktober een seminar over Magento 2.
Overstappen of niet? Wat ik mis in het artikel is de effort die het kost om over te stappen. Je zou verwachten dat een update van 1.x naar 2 mogelijk is. Dit is niet zo. Het enige dat Magento biedt is een migratie tool voor de data. Functionaliteit, modules en layout zullen opnieuw gebouwd of zwaar omgebouwd moeten worden. Het is gelijke aan replatforming.
Wat verder niet aan bod komt, is de nieuwe licentie structuur van Magento Enterprise. Waar Magento 1 per server (circa 18k) werd afgerekend, wordt er voor Magento afgerekend op basis van omzet die door de shop gaat (GMV). De licentie kosten per jaar kunnen oplopen tot meer dan 250k per jaar aan licenties.
Zwak punt van Magento, en iedere on premises commerce oplossing, is de zware noodzaak om IT en/of een agency betrokken te houden. Updates en security patches moeten meerdere keren per jaar geïnstalleerd worden. In de praktijk gebeurd dit nauwelijks. Als shop eigenaar wil je met de business bezig zijn niet met de IT kant van de oplossing. Zie artikelen hierover: 80% van de Magento shops in onveilig.
Als je jezelf de vraag "Magento 2, overstappen of niet" stelt. Zou mijn suggestie zijn om niet alleen naar Magento 2 te kijken maar vooral ook te kijken naar andere commerce oplossingen. Zoals diverse andere on premises commerce- of juist cloud commerce oplossingen. Uiteraard heb ik een persoonlijke voorkeur voor Oracle Commerce Cloud ;-), maar er naast Magento 2 genoeg alternatieven die de moeite waard zijn.
Ik sluit me helemaal aan bij het vorige commentaar. Er zijn diverse gebruiksvriendelijkere en krachtiger oplossingen in de markt. Deze bieden echter niet een dermate grote verscheidenheid aan apps/plug-ins en dan komt er maatwerk aan te pas. Of je dat moet willen moet je je ook goed afvragen...
De conclusie van bovenstaand artikel is dat het nog te vroeg is om over te stappen naar Magento 2.0, want dat is misschien een grote stap. De vraag die bij mij opkomt is: wat zou ik nu moeten doen als ik op korte termijn een nieuwe webshop wil lanceren of bestaande webshop moet vervangen?
Magento 1.x heeft inderdaad de bekende tekortkomingen, welke impact hebben op flexibiliteit, schaalbaarheid en betrouwbaarheid van het platform. Deze tekortkomingen hebben onder meer te maken met de veelvuldige wijzigingen in PHP en de monolithische architectuur van Magento 1.x.
Bij Magento 2.x ligt de focus op het wegnemen van deze tekortkomingen, maar niet op het toevoegen van nieuwe features. Nieuwe features zijn wel degelijk belangrijk voor webwinkeliers. Om succesvol te zijn in de snel veranderende digitale wereld, zijn webwinkeliers namelijk genoodzaakt om een omnichannel strategie te volgen of om de volgende stap zetten in het verhogen van conversie en orderwaarde. Hierdoor zijn zij op zoek naar een platformen waarmee de marketeer zelf achter het stuur zit!
In de reactie van 903rtz worden twee goede kanttekeningen geplaatst:
1. Een overstap van Magento 1.x naar 2.x is in feite replatforming. Bij de migratie naar een andere e-commerce platform moet je denken naar een vergelijkbaar traject in termen van impact op je organisatie, scope en kosten. Daarom is dit een goed moment om te kijken naar alternatieven als e-commerce platform.
2. De nieuwe licentiestructuur. Het lijkt er een beetje op dat eBay wil gaan cashen met de nieuwe licentiestructuur. De licentiekosten zijn nu namelijk afhankelijk van je online omzet, waardoor het moeilijker is om een heldere business case te maken. Het is nog niet officieel bekend (misschien wordt dat het ook wel niet), maar vanuit verschillende bronnen komt het volgende staatje:
Magento Enterprise 2.0 licence structure:
Merchant GMV, USD Licence price, USD
Resumerend: als je op korte termijn op zoek bent naar een nieuw e-commerce platform ter vervanging van Magento 1.x, verruim je blikveld om de volgende redenen:
Een issue kan zijn dat Magento implementatiepartners veelal alleen Magento adviseren. Net zoals ik van ecManager ook ecManager adviseer, maar niet alle gevallen hoor.
@903rtz Het was al even een flinke lap tekst en de hele migratie ook nog in detail benoemen was een beetje teveel. Inderdaad is de migratie ook iets waar je over na moet denken, maar er komt natuurlijk nog veel meer bij kijken (budget, leercurve, beschikbaarheid developers). De prijs van de Enterprise Edition (EE) is denk ik wel een onderdeel voor grotere bedrijven, maar die kunnen even goed die features en die support op andere manieren inkopen. De prijs van EE is daarom niet direct een reflectie van de kosten van de shop.
@Egbert Dank voor het posten van het licentie-model. Zeker relevant voor diegenen die EE overwegen. Het verschil in kosten met M1 is groot, maar het wil natuurlijk niet zeggen dat daardoor M2 geen succes kan worden (in mijn optiek is het al een succes aan het worden). Het kan ook betekenen dat meer M2 EE klanten misschien overstappen naar M2 CE met een SLA met anderen. Goede punten!
@Jisse, zou jij vanuit jouw professionele opinie adviseren aan b.v. een groothandel die een e-commerce portal wil beginnen met zo 10 miljoen omzet? Daarnaast vind deze partij de customer journey belangrijk en streeft naar flexibiliteit, schaalbaarheid en betrouwbaarheid van het platform.