Schlagwort-Archive: caching

Wie viel Magento steckt noch in Zalando?

Diese Frage stellte ich mir beim Betrachten der aktuellen Zalando Seite, welche offensichtlich letztes Jahr im September einem Relaunch unterworfen wurde. Gerüchten zufolge ist Hybris oder doch eine Eigenlösung jetzt treibende Software bei dem Zappos Klon. Bestätigt ist nur der Einsatz von Semiramis als webbasiertes ERP, was wohl gegen Hybris spricht.

Im April berichtete die PHP Usergroup Berlin noch von dem aktuellen Setup in einer Präsentation mit dem Namen “Ein Leben mit und ohne Magento”, welche direkt noch immer verfügbar ist, jedoch von Slideshare entfernt wurde, nachdem sie in einigen Blogs, wie auch bei Excitingcommerce aufgegriffen wurde.

Innerhalb dieser Präsentation findet sich eine sehr interessante Darstellung des damaligen Setups von Zalando. Wie bei jeder hoch skalierten e-Commerce Lösung hatten auch damals die Requests nur selten das Vergnügen wirklich mit /Zitat “Plain old Magento” in Kontakt zu kommen. Große Teile des Shops wie Katalog, Suche und Produktseiten wurden schon durch den Zalando Frontend Cache oder den so genannten Booster (MVC Light Framework) abgefangen. Anfragen die durch den Zalando Frontend Cache abgefangen wurden, erhielten ihre eventuell dynamischen Elemente performant kurz vor Auslieferung an den Besucher dann über Umwege per Cookie, Session oder externe Services. Aus der Magento Datenbank (EAV) selber wurde nicht direkt gelesen. Dafür gab es die “optimzed Booster DB”, welche das eigene MVC Framework direkt oder per SolR belieferte.

Nach diesem Einblick würde ich sagen, dass Zalando im April 2009 schon sehr weit vom Magento Standard entfernt war. Man hatte im Prinzip sein eigenes e-Commerce Framework mit eigener Datenbanklösung erstellt und vor Magento geschaltet. Das für Kenner sichtbare Update im September halte ich somit eher für eine Überarbeitung des selbst entwickelten MVC Frameworks. Björn Schotte erkannte anhand des Cookies direkt, dass es sich um Java handeln müsse. Welche Funktion “Plain old Magento” heute noch bei Zalando hat kann man nur vermuten, ich denke jedoch, dass es noch immer Bestandteil der Gesamtlösung ist, wenn auch nur im Hintergrund.

Bei der Optik orientiert sich Zalando übrigens teilweise noch sehr am Magento Standard / Demo Shop. Der Vergleich des Loginbereiches macht dieses deutlich:

Magento Performance durch Caching

In der letzten Zeit tut sich einiges an der Caching-Front bei Magento. Neben den Maßnahmen, die Magento selber durch den Einsatz von flat tables gegen die EAV Bremse ergreift und dem Caching innerhalb der Applikation, findet man immer mehr Mechanismen, die außerhalb von Magento ihren Dienst antreten.

Eine sehr effektive Maßnahme ist das Nutzen eines Whole-Page-Caches außerhalb von Magento. Dabei wird der Großteil der Anfragen auf einen Shop abgefangen, ohne dass Magento selbst bemüht werden muss. Beispiele von uns für solche Shops sind Hunkemöller oder 7 For All Mankind. Sobald man jedoch individuelle Elemente ausgeben muss, die sich auf eine spezifische Session beziehen, ist man an die Performance von Abfragen innerhalb von Magento gebunden. In der Regel kann dieses Belastung jedoch gut kalkuliert und skaliert werden.

Diese Woche wurde mir dann eine scheinbar hochperformante Variante des Cachings für Magento vorgestellt, von der ich vorher noch nicht gehört hatte. Es handelt sich dabei um einen Cache, der vor Magento innerhalb einer skalierenden Could aufgebaut wird und selbst dynamische bzw. zeitkritische Inhalte durch das Nutzen von Magento Events innerhalb des Caches aktualisiert, sobald der Inhalt veraltet ist. Zusammen mit weiteren Optimierungen des Codes vor der Auslieferung an den Browser ist so eine deutlich merkbare Steigerung der Performance zu sehen. Ein Demo Shop unter Einsatz dieses Caches ist hier zu sehen. Ich kenne bisher jedoch keinen Magento Shop unter Last, der diesen Cache verwendet.

Vermutlich wird sich Magento selber nie völlig von der Performance-Problematik lösen können und somit schlaue Caching-Mechanismen in Eigenentwickung oder von externen Dienstleistern bald hinter jedem gut besuchten Magento Shop zu finden sein.

Magento kündigt die Enterprise Edition 1.7 an

Heute wurde in einer E-Mail an die Partner und Kunden der Magento Enterprise Edition die neue Version 1.7 angekündigt, die noch im Quartal 4 2009 erscheinen soll.

Besonderheiten der neuen Version werden ein Bonuspunktesystem, Performanceoptimierungen und weitere Funktionalität des CMS+ sein.

Das Bonusprogramm wird nahtlos in Magento integriert sein und somit eine Reihe von interessanten Anwendungsfällen abdecken. Neben der Punktevergabe bei Bestellungen, können diese auch für Aktionen innerhalb des online Shops (z.B. Newsletteranmeldung, Bewertungen, Einladungen zu Private Sales oder Erfolgreiche Anmeldungen für Private Sales) vergeben werden und sind käuflich zu erwerben. In der Administration gibt es die Möglichkeit Punktestände zu verwalten und am Kunden alle Verwendungsmöglichkeiten der Punkte zu steuern.
Die Tauschraten von Währung zu Punkten und Punkten zu Währung ist flexibel handhabbar und kann auch je Kundengruppe und sogar je Kunde individuell eingestellt werden. Außerdem ist es möglich die Punktevergabe an Promotionregeln auszurichten und somit die Personalisierung durch die RMS zu nutzen.

Die Performanceoptimierung basiert hauptsächlich auf einem neuen Full Page Caching-Modul, welches erstmalig out-of-the-box bei Magento mitgeliefert wird. Vergleichbare Module, die intelligent das Ansprechverhalten des Caches steuern, kommen bei aktuellen Magento Projekten bereits gezielt zum Einsatz (z.B. Jack Wolfskin), sind aber bisher ausschließlich Angelegenheit des Systemintegrators.

Auch das erst in der EE 1.6 eingeführte CMS+ und die Widget-Integration wurden für die 1.7 überarbeitet und werden mit neuen Funktionen erscheinen.

Am 17. Dezember wird die neue Version den Partnern und Kunden vorgestellt und in diesem Zusammenhang sicher auch weitere Details bekannt gegeben.

Update: Jetzt auch weitere Details im Magento Blog