Home » Entwicklung » Mit Build Pipelines eine E-Commerce-Plattform aufbauen
Build Pipelines / Quelle: freepik

Mit Build Pipelines eine E-Commerce-Plattform aufbauen

Die Anforderungen an E-Commerce-Systeme sind in den letzten Jahren massiv gestiegen. Dazu gehören einerseits die Wünsche der Kunden und Nutzer, andererseits möchten auch die Entwickler und Administratoren nicht mehr wie in den 1990er-Jahren arbeiten. Um eine moderne E-Commerce-Plattform aufzubauen, gibt es mehrere Wege. Einer ist der über sogenannte Build Pipelines.

Was früher üblich war, ist heutzutage ein No-Go

Die E-Commerce-Systeme befinden sich in einem Wandel. Früher war es in Ordnung, seinen Onlineshop auf einem kleinen Server zu betreiben. Veränderungen fanden nur gelegentlich statt, und wenn es welche gab, wurden diese direkt auf den Server geladen. Nicht selten kam es zu „Operationen am offenen Herzen“, bei denen die Entwickler den Quellcode des Onlineshops direkt auf dem Produktivsystem veränderten. Das war pragmatisch und ging schnell. Doch es sorgte auch für allerlei Fehler.

Heutzutage sieht die Vorgehensweise – zum Glück – größtenteils anders aus. Wächst der Onlineshop oder wird von Anfang an ein großes E-Commerce-Projekt geplant, reicht es nicht mehr aus, lediglich einen Server zu mieten. Stattdessen kommen E-Commerce-Landschaften zum Einsatz. Technisch spricht man hier von einem Clusterbetrieb. Ein solches System besteht aus mehreren  Servern. Es garantiert eine leichte Skalierung, schnelle Verfügbarkeit und rasante Performance. Es ist den Endkunden – im B2C wie auch im B2B – nicht mehr zumutbar, dass sie Fehlermeldungen sehen oder dass es zu Ausfällen kommt. Stattdessen gilt die Prämisse: Der Kunde möchte immer und überall schnell und bequem einkaufen. Um solch einen Clusterbetrieb zu ermöglichen, müssen zahlreiche Dinge beachtet werden. Die Build Pipelines helfen dabei, eine moderne E-Commerce-Landschaft zu betreiben.

Was ist eine Build Pipeline?

Eine Build Pipeline kann man sich wie eine Fertigungsstraße vorstellen. Wie in einer Fabrik werden schrittweise gewisse Aufgaben durchgeführt, bis am Ende ein fertiges Produkt entsteht. Wer eine Build Pipeline für ein E-Commerce-Projekt umsetzt, muss wie in der Industrie verschiedene Abschnitte durchwandern, um schlussendlich ein fertiges, lauffähiges und performantes Ergebnis zu erhalten.

Welche und wie viele Abschnitte (Stages) existieren, hängt von der Art der Software bzw. des E-Commerce-Systems und dem geplanten Endzustand ab. Jede Stage besteht aus mindestens einer Aufgabe. Sind mehrere Aufgaben in einer Stage vorhanden, können diese auf Jobs verteilt werden, welche dann parallel ablaufen. Das spart eine Menge Zeit und sorgt für eine schnelle Produktion. Der Vorteil liegt auf der Hand: Je flotter es ein Ergebnis gibt, desto zügiger kann die E-Commerce-Plattform den Betrieb aufnehmen und Umsatz generieren. Im Grunde ist eine Build Pipeline eine automatisierte Abarbeitung einer Checkliste. Das hat viele Vorteile. Einer ist, dass kein Mensch benötigt wird, der die langweilige Abarbeitung einer Checkliste übernimmt. Außerdem kommt es zu weniger Fehlern als bei einer manuellen Ausführung. Wenn immer wieder das Gleiche zu tun ist, sind Computer gegenüber dem Menschen deutlich im Vorteil.

Ein Praxis-Beispiel für den Einsatz von Build Pipelines

In unserem Beispiel wird ein Onlineshop getestet, Dokumentationen generiert und auf einem Cluster veröffentlicht. Eine Checkliste für derartige Aufgaben fällt ziemlich umfangreich aus. Und mit dem Wachstum des Systems müssen immer mehr Dinge installiert, aktualisiert, geprüft, kopiert, konfiguriert und verwaltet werden. Die Build Pipeline hilft hierbei immens. Sie beginnt mit dem richtigen Setup.

Build Pipeline mir Git Lab

Schritt 1: Setup

Im ersten Schritt wird die E-Commerce-Software inklusive Software-Bibliotheken und Drittanwendungen installiert. Ist alles installiert, geht es weiter zur Qualitätssicherung.

Schritt 2: Qualitätssicherung

Damit die E-Commerce-Software einer definierten Qualität entspricht, muss diese einer Reihe von Tests unterzogen werden. Der einfachste Test prüft den vom Entwickler versionierten Quellcode auf offensichtliche Fehler. Das können beispielsweise syntaktische Fehler sein, die eine Ausführung des Programmcodes nicht zulassen. Auch strukturelle Probleme oder Sicherheitslücken lassen sich mittels solcher Software-Tests aufdecken. Diese können – je nach eingestelltem Level der Qualitätsprüfung – die weitere Verarbeitung in der Build Pipeline stoppen.

Im Idealfall erhält der Entwickler, der den fehlerhaften Quellcode in die Versionsverwaltung eingespielt hat, eine entsprechende Fehlermeldung. Je früher das Entwickler-Team über vorliegende Schwachstellen und Fehler informiert wird, desto einfacher ist die Behebung und Integration der Bugfixes in andere Softwarebereiche – zum Beispiel bei GIT Integration Branches.

Schritt 3: Artefakte erzeugen

Im nächsten Schritt werden Artefakte erzeugt und nach dem Build zur Verfügung gestellt. Das können beispielsweise Dokumentationen, Auswertungen oder Installer sein. In dem beispielhaften E-Commerce-Projekt soll die Build Pipeline aus dem Quellcode und aus bestimmten Dokumentationsdateien jeweils ein gesondertes Handbuch erzeugen, um ein Systemhandbuch mit technischen Inhalten und ein Benutzerhandbuch mit Anleitungen für die Benutzer des Onlineshops zu erhalten. Die technischen Informationen können aus dem übermittelten Quellcode stammen, das Benutzerhandbuch kann mit Sphinx-Doc generiert werden.

Schritt 4: Deployment

Das Deployment (auch Rollout genannt) stellt den Vorgang dar, bei dem die E-Commerce-Software auf die Zielsysteme verteilt wird. Da auf dem Markt eine riesige Anzahl von verschiedenen Hosting-Plattformen und -Technologien existieren, kann das Deployment umfangreich und kompliziert ausfallen. Auch Firmen-Policies haben einen gewaltigen Einfluss auf das Deployment: Einige Firmen schließen beispielsweise Cloud-Anbieter aus, weswegen fertige Standard-Dienste nicht einfach eingesetzt werden können. Das hat zur Folge, dass individuelle Anpassungen am Deployment-Script vorgenommen werden müssen.

Auch Netzwerkeinstellungen wirken sich auf das Rollout aus. Nicht selten kommt es vor, dass Firewalls ausgehende Verbindungen blockieren. Damit fällt die Möglichkeit weg, auf dem Zielsystem Anweisungen auszuführen, die Informationen nachladen. Am einfachsten ist es, wenn die Verbindung nur in eine Richtung aufgebaut werden muss, um die Daten auf das Zielsystem zu übertragen.

Werden Container für das Deployment eingesetzt, ist der Vorgang sehr einfach. Es müssen nur die Container verteilt werden. Wird auf dem Zielsystem eine Software zur Cloud-Orchestrierung verwendet, kann man einen Container auch auf mehrere Ziel-Server automatisch verteilen. Cloud-Anbieter wie Amazon, Google oder Microsoft bieten bereits fertige Dienste, um die Container zu verteilen, zu skalieren und zu betreiben.

Eine gute Build/Deployment Pipeline ermöglicht es, dass nur eine qualitätsgesicherte Anwendung auf den Zielsystemen landet. Sinnvollerweise sollte das Deployment vorher auf einem Staging- System durchgeführt werden, um manuelle oder automatisierte Tests der Umgebung durchzuführen. Passt alles, kann dasselbe Artefakt (Container, Tarball, etc.) auf das Produktivsystem gebracht werden. Damit ist gewährleistet, dass auch die im Staging-System getestete Version der Software auf das Produktivsystem gelangt.

Mit einem automatisierten Deployment-Prozess kann die Anzahl der Software-Aktualisierungen deutlich zunehmen. Das freut die Entwickler, da sie keine Checklisten mehr abarbeiten müssen und zudem leicht die Möglichkeit haben, häufig kleinere Releases zu veröffentlichen. Hierdurch sinkt die Fehleranfälligkeit. Und bei Problemen lässt sich bequem auf die vorherige Version zurückrollen.

Tools für Build Pipelines

Da Build Pipelines zunehmend beliebter werden, wachsen die entsprechenden Tools wie Pilze aus dem Boden. Die bekanntesten Vertreter sind sicherlich Jenkins und Gitlab, die auf einem eigenen Server betrieben werden können. Jenkins punktet aufgrund seiner weiten Verbreitung mit einer sehr großen Auswahl von verfügbaren Erweiterungen. Damit lassen sich Funktionen wie eine Container-Unterstützung nachrüsten. Eigene Erweiterungen lassen sich mit Java realisieren.

Gitlab ist relativ neu, das Tool erhält in einem rasanten Tempo ständig neue Funktionen, und es wurde für die Unterstützung von Containern oder Orchestrierung-Tools wie Kubernetes ausgelegt. Gitlab setzt auf die Skriptsprache Ruby für die Entwicklung.

Anbieter wie Jetbrains und Atlassian, die für Tools wie Jira oder IntelliJ bekannt sind, mischen mit Bamboo und TeamCity auf dem Markt der Build Pipeline Tools munter mit. Zusätzlich zu den On-Premises-Systemen gibt es auch eine große Auswahl von Anbietern, die ihre Tools als Software-on-demand offerieren. Bekannte Vertreter sind Buildbot, Drone, Concourse, CircleCI, Codeship, Codefresh, Bitbucket und Travis.

Jedes Tool besitzt seine ganz eigenen Vor- und Nachteile. Ist man als Entwickler im .NET-Umfeld tätig, bietet sich TeamCity an. Unternehmen, die bereits das Atlassian Tool-Stack nutzen, sollten eher zu Bamboo greifen, da sich das ganz komfortabel integrieren lässt. Und für Unterstützer des Open-Source-Gedankens bietet sich Gitlab an. Die eierlegende Wollmilchsau in Sachen Build Pipelines gibt es nicht – somit kommt man um eine Evaluierung nicht umhin.

Fazit

Build Pipelines sind für jedes Unternehmen, das mit Software entwickelt, besonders wichtig, da sie für eine starke Reduktion von Fehlern sorgen und somit das Team entlasten. Im E-Commerce-Umfeld lassen sich damit schneller neue Funktionen oder Fehlerbeseitigungen veröffentlichen. Das steigert den Umsatz. Warum also mit der Einführung warten?

Bilder: netz98, freepik

 

Ihr Kontakt

Hartwig Göttlicher
Hartwig Göttlicher
Head of Business Development
Magento Headless: Was bedeutet das?
Magento Headless (Bild: iStock, Magento / Montage: netz98)

In den letzten Wochen und Monaten wird viel über das Thema Magento Headless diskutiert. Was genau verbirgt sich hinter dieser Read more

Das sind die Vorteile einer Cloud-Lösung im E-Commerce
Cloud System

Für modernen E-Commerce brauchen Sie eine skalierbare Plattform. Daher kann eine Cloud-Lösung ein guter Weg sein. Das sollten Sie alles Read more

Mehr Erfolg im E-Commerce durch optimierte Magento Plattform
Es ist ein Mann im Anzug von der Nase bis zum Bauchnabel zu sehen. Vor sich hält er ein Notebook über dem im leeren Raum kreisförmig Symbole angeordnet sind. Der Mann hält seinen rechten Finger über das Notebook und er scheint einen Button zu drücken. In der Mitte der Symbole zeigt sich ein Häkchen, das für ein erledigtes To-Do steht.

Erfahren Sie, wie unser 360°-Optimierungsansatz für Magento Shops Ihre Performance steigert. Setzen Sie auf unsere bewährte Methode!

Steigerung der Conversion Rate: Bessere Magento-Performance dank Hyvä Checkout
Der Zeigefinger einer Hand nähert sich dem leuchtenden Symbolbild eines Einkaufswagens vor schwarzem Hintergrund

Entdecken Sie, wie der Hyvä Checkout die Performance im E-Commerce revolutioniert und die Conversion Rate steigert. Jetzt mehr erfahren!

netz98 Adobe-Hackathon: Unser Recap
Das netz98-Team sitzt in unserer Meeting-Arena zusammen und konzentriert sich auf die Einführung zum netz98 Adobe-Hackathon

Zwei Tage voller Innovation, Teamwork und neuen Lösungen mit der Adobe Experience Cloud. Jetzt mehr erfahren!

PIM-System: Hohe Produktdatenqualität für den Erfolg im E-Commerce
Ein aufgeklappter Laptop steht auf einem Tisch. Im Fokus ist der Schriftzug "New Product". Darunter sind vier verschiedene Kategorien angezeigt: Research, Ideas, Analysis und Function

Entdecken Sie, wie PIM-Systeme Effizienz und Kundenzufriedenheit im E-Commerce steigern. Lesen Sie unseren Blog für Insights von Experten!

Interview: Composable Commerce, Magento und die Rolle von Adobe-Produkten
Fotos von Elias Henrich und Pascal Menger mit Mikrofon-Symbolen, einer Gebäudefront und dem Schriftzug "Ein Interview mit unseren netz98 Kollegen"

Erfahren Sie in einem Interview mit unseren netz98-Experten mehr über die Rolle von Magento und dem Adobe Tech Stack für Read more

Zukunft des digitalen Marketings: Enhanced Conversion Tracking, Consent Mode & Value-Based Bidding
Ein großes G in den goole-Farben dominiert die Mitte. Drumherum Zeichen in google-Farben und Graphen

Erfahren Sie, wie Enhanced Conversion Tracking, Consent Mode und Value-Based Bidding die digitale Marketing-Landschaft revolutionieren!

Über den Autor