Magento – Der neue Star am Open Source Shop-Himmel?

Die neue Open Source Shopsoftware Magento hatte bereits in der Betaphase für einiges an Wirbel und Aufmerksamkeit gesorgt. Dennoch war es überraschend, dass die Software bereits vor dem offiziellen Release über 200.000 mal herunter geladen wurde.

Seit 31.03.2008 steht Magento in der Version 1.0 offiziell zum Download bereit und wurde inzwischen über 450.000 mal heruntergeladen.

Seit Ende Juli gibt es bereits ein neues Release 1.1 mit zahlreichen Verbesserungen und Bugfixes und die Weiterentwicklung der Software geht flott weiter. Daher verdichten sich die Anzeichen, dass Magentocommerce mittel- und langfristig zum neuen Star im Bereich Shopsoftware aufsteigen wird.

Was ist das besondere an Magento?

Magento ist Open Source. Das bedeutet, dass für die Software zum einen keinerlei Lizenzkosten anfallen, zum anderen der Quellcode offen liegt, wodurch Magento jederzeit an die individuellen Bedürfnisse des Shopbetreibers angepasst werden kann. Technologisch setzt Varien – der Hersteller von Magento – auf das ZEND-Framework. Die Software ist daher beliebig skalier- und erweiterbar und wächst problemlos mit dem Shop mit. Hierdurch sind der Flexibilität kaum Grenzen gesetzt. Durch eine klare Trennung zwischen Programmkern und (individuellen) Funktionalitäten, bleibt die Updatefähigkeit jederzeit erhalten.

Diese Flexibilität bekommt man allerdings nicht ganz umsonst – man erkauft sie sich vielmehr mit einem erhöhten Einarbeitungs- und Programmieraufwand sowie erhöhtem Hardware-Bedarf. In diesem Zusammenhang sollte eines unbedingt beachtet werden. Wer sich ernsthaft mit der Magento-Programmierung auseinandersetzen möchte, sollte Erfahrung im Umgang mit Entwicklungs-Frameworks sowie tiefgreifende PHP-Kenntnisse mitbringen. Andernfalls werden sich die ersten Schritte entsprechend schwierig und langwierig gestalten.

SKU – Das Shopkonzept von Magento

Um die Logik hinter Magento und damit die Funktionalitäten und Möglichkeiten besser verstehen zu können, sollte man sich zu Beginn mit den Grundzügen der sogenannten SKUs (Stock Keeping Unit) vertraut machen, auf denen das Shopkonzept basiert. Dies ist vor allem insofern interessant, weil dadurch die Thematik der Simple-Products vs. Configurable-Products – eine Eigenheit von Magento bei der Produktanlage und Verwaltung - recht plastisch wird.

Unter der Stock Keeping Unit - kurz SKU - versteht man die eindeutige Bezeichnung eines Produktes anhand einer Produktkennung. Meist erfolgt dies in Form von Alpha-Nummerischen-Kombinationen. Dies bedeutet in der Praxis, dass es für jedes Produkt - besser gesagt für jede Ausprägung eines Produktes - eine eindeutige Nummer und somit eine eindeutige Zuordnung gibt.

Ein Beispiel aus der Praxis soll dies verdeutlichen. Ein Onlineshop verkauft T-Shirts in unterschiedlichen Farben und Größen. Das T-Shirt gibt es in den Größen M, L und XL sowie in den Farben Weiß, Grün, Blau und Rot. Die Basis-Artikelnummer für dieses Modell lautet beispielsweise 1176. Die weiteren Attribute (Farbe und Größe) werden mit eigenen Zahlenkennungen versehen, die z.B. wie folgt aussehen könnten und an die Basis-Artikelnummer angehängt werden:

Größen
M = 1
L = 2
XL = 3

Farben
Weiß = 1
Grün = 2
Blau = 3
Rot = 4

Somit würde sich die Artikelnummer für ein rotes T-Shirt in der Größe L wie folgt zusammensetzten:

Basisnummer: 1176, Größe L = 2, Farbe Rot = 4

Eindeutige Artikelnummer (SKU): 1176-2-4

Jede Produktvariante wird dadurch mit einer eindeutigen Artikelnummer belegt, wodurch eine virtuelle Lagerhaltung ganz realitätsnah möglich wird. Magento hat zu diesem Zweck auch das System der Simple-Products sowie Configurable-Products eingeführt. In obigen Beispiel ist unser rotes T-Shirt in Größe L ein Simple-Product mit eindeutiger Kennung (SKU), das über das Backend zu einem Configurable-Product mit den entsprechenden Attributen (lieferbare Farben und Größen) zusammengefasst wird. Dadurch wird das Produkt im Magento-Shop auch nur einmal angezeigt - jedoch mit den unterschiedlichen und auswählbaren Ausprägungen. Vereinfacht kann man daher sagen, dass es sich bei einem Configurable-Product lediglich um eine optimierte und zusammengefasste Darstellungsform für ein Produkt handelt. Somit wird vermieden, dass ein identisches Produkt mit verschiedenen Ausprägungen x-mal im Shop angezeigt wird.

Warum die große Flexibilität auch als Einschränkung wirken kann

Es gibt viel zu beachten, wenn man sich ernsthaft mit Magento auseinandersetzen will – und zwar egal ob aus der Perspektive des Entwicklers oder des Shopbetreibers. Ein besonders wichtiger Punkt sei hier zu Beginn erwähnt: Bei Magento sollte man sich nicht von der zweifellos sehr guten und durchdachten Bedienung „blenden“ lassen.

Es steht außer Frage, dass mit Magento sehr gute Ergebnisse erzielt werden können – doch nicht ohne eigenes Engagement. Weder werden sich die Produkte von alleine in den Shop einpflegen, noch wird sich die Oberfläche von selbst dem Kundenwunsch anpassen. Es ist, wie bei jedem ernsthaften Vorhaben notwendig, ein gutes Stück Arbeit in den Shop zu investieren. Ist man dazu bereit, wird das Ergebnis überzeugen. Ist man es nicht, wird am Ende auch kein guter Shop entstehen – Magento hin oder her.

Es gibt Importer für osCommerce und zahlreiche andere CSV- oder XML-basierte Formate. Doch man darf nicht außer Acht lassen, dass all diese Programme nichts weiter tun, als den vorhandenen Datenbestand „dumm“ und ohne darüber nachzudenken (wie sollten sie auch) wie und wo man etwas verfeinern könnte, in den Shop eintragen. Für einen Start mag das bei einer großen Produktanzahl vertretbar sein, doch je mehr Pflege man seinem Shop zu teil werden lässt, desto mehr Magento-Features können voll ausgenutzt werden. Schlagworte wie Layered Navigation, Produkt-Tagging oder Cross-Sells sprechen hier für sich.

Wenn man auf einen solchen Importer ganz oder teilweise verzichtet, bietet sich eine ganz andere, oft vernachlässigte Möglichkeit - das „Fein-Tuning“ der Attributsets für jede Kategorie, die Vergabe passender Produktattribute und –tags sowie die Anpassung der Beschreibungstexte. Macht man sich diese Mühe, können die Kunden ihr Wunschprodukt schneller und eindeutiger finden, Suchmaschinen werden den Shop „sympathischer“ finden und der Pflegeaufwand wird auf lange Sicht gesehen sogar erleichtert.

Natürlich ist es ab einer gewissen Produktanzahl nicht mehr möglich, auf einen automatischen Importvorgang gänzlich zu verzichten. In diesem Falle sollte ein Kompromiss zwischen Automatismen und manuellem Eingriff geschlossen werden, zum Beispiel indem die Attributsets zumindest grob eingeteilt werden, die Produkte dann aber mit den vorhandenen Attributwerten in den Shop importiert werden.

Sowohl aus Sicht des Shopbetreibers, als auch aus Sicht des Entwicklers gilt eine Maxime: Je sauberer und überlegter am Anfang (in der kritischsten Phase also) begonnen wird, desto leichter lässt sich der Shop in Zukunft pflegen und weiterentwickeln. Wird stets nach den optimalen Mustern vorgegangen, kann ein auf Magento basierender Shop annähernd unbegrenzt erweitert werden. Insofern sollte man sich vor Einführung eines Magento-Shops gerade im konzeptionellen Bereich einige Gedanken machen. Dieser Mehraufwand wird sich – besonders im Hinblick auf Skalier- und Erweiterbarkeit – langfristig definitiv lohnen.

Hardwarevoraussetzungen

Man ist schnell verleitet, Magento als „Allheilmittel“ für all die bisher von XT-Commerce und seinen allseits bekannten Macken geplagten Shopbetreiber zu sehen. Man darf neben dem mindestens genauso hohen Pflegeaufwand, und der notwendigen Einarbeitungszeit jedoch einen weiteren wichtigen Punkt nicht vergessen. Magento stellt deutlich höhere Anforderungen an die Serverhardware als XT-Commerce bzw. diverse andere Open-Source Shopsysteme.

Oft heißt es, Magento hat enorme Performanceprobleme. Wie kommt es zu dieser (nicht richtigen) Einschätzung? Ganz einfach: viele denken, man könnte Magento problemlos weiter auf dem 9,90 € Shared-Hosting-Pakte laufen lassen, auf dem gerade mal XT-Commerce halbwegs rund lief. Hierzu ein einfacher Vergleich. Wer würde heute versuchen, ein Upgrade von Windows 95 auf Vista ohne gleichzeitigen Rechnerwechsel vornehmen? Wahrscheinlich kaum jemand – und wenn doch, würde es dann sicherlich nicht verwundern, wenn die Performance zu Wünschen übrig lässt.

Analog dazu verhält es sich mit den Serveranforderungen von Magento: Die Software bietet mehr als seine Open-Source-Vorgänger, also verlangt es auch mehr Leistung – eigentlich ganz einfach. Alles andere als einfach ist es allerdings, dies zu akzeptieren und sich der nötigen Investitionen bewusst zu werden. Ein brauchbarer, dedizierter Server beginnt bei ca. 99€ pro Monat, wobei die Preisskala noch oben nahezu offen ist.

Doch das sollte einem ein Enterprise-Software-System auch wert sein, schließlich bekommt man mit Magento auch allerhand geboten – neben den Features sei hier nochmals auf die Stichworte Skalierbarkeit, Erweiterbarkeit und Updatefähigkeit hingewiesen. Zusätzlich sorgt ein ansprechender Shop mit nützlichen Funktionen in aller Regel auch für mehr Umsatz.

Welche Hardwareanforderungen sind als Minimum zu sehen?
Um in einem kleinen oder mittelgroßen Shop (bis zu mehrere hundert Produkte) eine vernünftige Performance auch bei Lastspitzen zu erreichen, sollte es schon ein Dual-Core-Prozessor mit nicht weniger als 2,5GHz pro Kern und mindestens 2, besser 4 GB Arbeitsspeicher sein. Gern wird auch ein inzwischen bezahlbarer Quad-Core-Prozessor eingesetzt, wobei grundsätzlich die Devise gilt: Mehr Arbeitsspeicher schadet definitiv nicht. Beim Speicherplatz kann von wenigen bis hin zu mehreren hundert Gigabyte gerechnet werden, je nachdem wie viele Bilder man einpflegen möchte, und wie groß diese sind.

Welche Softwareausstattung sollte der Server besitzen?
Bei der Software gibt es glücklicher Weise gegenüber der Hardware kein großes Wenn und Aber. Eingesetzt wird die Linux Distribution der Wahl (unsere Wahl ist Debian etch) mit 64bit. 32 bit sind nicht empfehlenswert, da bei umfangreichen Datenbankoperationen die Performance stark einbrechen kann.
Ein Apache 2 Server in Verbindung mit PHP 5.2 und MySQL 5 sorgen dafür, dass Magento ordentlich läuft. Unsere aktuellen Lieblingsversionen dieser Programme finden sie im Info-Kasten auf dieser Seite. Diese erhalten wir über das Software-Repository von DotDeb, wo es stets aktuelle und vor allem auf Sicherheit getrimmte Webhosting-Software gibt - natürlich kostenlos.

Den allergrößten Performance-Schub bringt ein ordentlicher Opcode Cache. Dies ist ein PHP-Modul, welches bei der ersten Ausführung von Magento den kompilierten Code zwischenspeichert, so dass bei erneutem Aufruf der ständig wiederkehrende (und meistens unnötige) Schritt des Kompilierens komplett entfallen kann, was ordentlich Zeit spart. Unsere Wahl, und auch die Empfehlung des Magento-Entwicklerteams ist APC (Advanced PHP Cache).

Zusammen mit optimierten Konfigurationen der Serverdienste kann gegenüber einem komplett unoptimierten Server ein Geschwindigkeitsgewinn von bis zu 100% erzielt werden. Insofern lohnt es sich in jedem Fall, sich mit der Optimierung bzw. Optimierungsmöglichkeiten etwas näher auseinander zu setzen. .

(Info-Kasten, Überschrift: Softwareversionen für Magento)
Diese Versionen sind kein muss, haben sich bei unseren Magento-Projekten und –Test jedoch als sehr stabil und vor allem schnell erwiesen:
• Apache/2.2.3
• PHP 5.2.6 mit apc Opcode-Cache
• mysql 5.0.51a

Fazit

Mit Magento wächst eine sehr interessante Alternative im Bereich der Open Source Shopsysteme heran, die einen Vergleich mit teuren Bezahlsystemen problemlos aufnehmen kann. Durch die intelligente Software-Architektur lassen sich selbst komplexeste Anforderungen jederzeit realisieren – Magento bleibt dabei aber immer updatefähig, da die eigentliche Entwicklung in Modulen erfolgt, der Kern bleibt unangetastet.

Man sollte allerdings immer berücksichtigen, dass Magento – auch aufgrund der doch recht komplexen Strukturen - einiges an Einarbeitungsaufwand erfordert und hier PHP-Grundkenntnisse kaum mehr ausreichen werden. Auch die Anforderungen an die Hardware – bedingt durch den Framework-Ansatz – fallen deutlich höher aus, als dies bei anderen Shopsystemen der Fall ist.

Abschließend bleibt eigentlich nur eines zu sagen: Wer auf der Suche nach einer flexiblen und skalierbaren Shoplösung mit umfangreichen Features ist und im Gegenzug nicht vor erhöhtem Einarbeitungsaufwand sowie Hardwareeinsatz zurückschreckt, wird bei Magento mit hoher Wahrscheinlichkeit richtig liegen und an der Shoplösungen lange seine Freude haben.

Um den Einstieg in Magento zu erleichtern empfiehlt sich im Übrigen das kostenlose eBook des Magento-Gold-Partners TechDivision. Das Magento-eBook kann hier gratis herunter geladen werden.

Kommentare

Hinterlasse eine Antwort