Überall im Web finden Sie Beiträge zum Thema B2B-Commerce, zu den Anforderungen an B2B-E-Commerce-Plattformen und die dahinterstehende Shopsoftware. Gesagt und geschrieben wurde viel, das meiste bleibt aber zu sehr an der Oberfläche, als dass es interessierten Unternehmen einen wirklichen Nutzen bieten könnte. In unseren Zukunftsthemen gibt es dazu bereits die passenden Hintergründe. In dieser kleinen Blogserie möchten wir auf die eher praktischen Aspekte eingehen und dem Leser zeigen, wie sich auf Basis von Magento Enterprise B2B-E-Commerce-Projekte sinnvoll umsetzen lassen.

Im heutigen Beitrag von Ralf Lieser, unserem Leiter Quality Assurance geht es daher als erstes um die Basis, die Shop-Architektur.

 

Verfügbarkeit – damit fängt alles an

Was nützten Leistung, Sicherheit oder hohe Flexibilität beim Kunden- oder Produktmanagement, wenn die eigene Onlineplattform für Geschäftskunden nicht erreichbar ist? Konsumenten verzeihen es vielleicht, wenn sie ein gewünschtes Produkt erst einen Tag später bestellen können. Ist ein Unternehmen aber auf bestimmte Güter angewiesen, um termingerecht fertigen zu können und muss die benötigten Güter am letzten Arbeitstag der Woche noch rasch nachbestellen, ist die Freude natürlich groß, wenn der Shop des Geschäftspartners offline ist. Das gleiche gilt für den schnellen Blick ins Kundenprofil, um Rechnungsstatus, Verpackungseinheiten oder Lieferzeiten zu überprüfen. Damit die Prozesse auf Kundenseite nicht ins Stocken geraten, sollten solche Informationen ad-hoc zur Verfügung stehen. Ist der Zugriff auf das Kundenportal oder den Shop dann nicht möglich, ist das mehr als ärgerlich – kommt es öfter vor, schadet es auch nicht nur dem Image.

 

Dieser Sachverhalt ist nicht aus der Luft gegriffen, sondern in fast jedem meiner Neukundengespräche ein wichtiges Thema. Vor allen anderen Herausforderungen, geht es also erst Mal um das Thema Verfügbarkeit und wie man sie sichert.

 

Der Magento Datenbankserver-Aufbau: einfach intelligent

Das wichtigste, um die notwendige Verfügbarkeit herzustellen, ist eine robuste, redundante Server-Architektur. Im Idealfall besteht die Basiskonfiguration aus zwei dedizierten Frontend-Servern hinter einem Load-Balancer, die auf einen Datenbank-Cluster im Master-Slave-Konstrukt zugreifen. Mit Magento Enterprise lassen sich die Datenbankserver zudem in einer Konfiguration betreiben, die Lese- und Schreibzugriffe voneinander trennt. So wird der Datenbankzugriff auch bei kleinen Server-Architekturen nicht zum Flaschenhals, wenn die Last einmal steigt. Bei den Datenbankservern setzen wir insbesondere auf relationale Datenbank-Systeme auf Basis von Percona MySQL. Percona eignet sich ideal für Cluster und erlaubt die schnelle, annähernd synchrone Replikation der Datenbankserver. Die Daten bleiben immer konsistent.

 

Durch diese Architektur kann die Last nicht nur optimal verteilt werden, der redundante Aufbau macht sie zudem hochverfügbar. Bei einem Failover, einem Serverausfall also, steht immer noch ein zweiter zur Verfügung. Da Frontend- und Datenbank-Server voneinander getrennt sind, ist auch das Sicherheitsrisiko geringer, als wenn beide Systeme auf demselben Rechner laufen. Die Angriffsfläche aus dem Web ist dadurch wesentlich kleiner, da die sensiblen Informationen in der Datenbank von außen nicht ohne Weiteres zugänglich sind. Je nach Branche, Geschäftsmodell und vor allem Kundenbeziehungen, kann das ein äußerst wichtiger Aspekt sein. Und neben Verfügbarkeit und Sicherheit bietet so eine Struktur noch einen weiteren Vorteil. Sie lässt sich äußerst simpel skalieren.

 

Um das Thema Skalierbarkeit geht es dann unter anderem beim nächsten Mal.