Wie setzt ein europäischer E-Commerce-Riese mit einem Umsatz von 5 Milliarden seine technologischen Fähigkeiten in operative Wettbewerbsfähigkeit um?
Taiwans Entwicklerveranstaltung MWC (Modern Web Conference) kehrte in diesem Jahr mit mehr als 60 Vorträgen in drei Tagen zu einem physischen Format zurück und war damit größer als zuvor. Die ursprüngliche Absicht des MWC ist es, Entwicklungserfahrungen aus dem Ausland nach Taiwan zu bringen. In diesem Jahr liegt der Schwerpunkt auf der Einführung der Erfahrungen multinationaler Unternehmen und lädt JP Morgan und Zalando zum Austausch nach Taiwan ein. Andrew Howden ist Leiter des Embedded SRE-Teams von Zalando und verantwortlich für die Verbesserung der Zuverlässigkeit des Transaktionserlebnisses. Er ist außerdem Mitglied des technischen Wartungsbereitschaftsteams der Online Shopping Week und unterstützt Kollegen bei der Einrichtung technischer Risikomanagement- und Wartungsbereitschaftsprozesse.
Wenn ein Kunde ein neues Produkt in den Warenkorb legt (dies ist der Ausgangspunkt für den Handel mit dem Produkt beim Kunden), wird es gemäß der Bestellung aus dem Lager versandt und an den Logistikdienstleister übergeben (dies ist der Der Endpunkt der Plattform, auf der sich das Produkt befindet. Das Kundengefühl, Zalando nennt es Transaktionserlebnis, umfasst dabei den Prozess von der Sichtbarkeit des Produkts in den Warenkorb auf der Plattform bis zur Anzeige der Sendung. An diesem Transaktionsprozess sind 4 Geschäftsabteilungen, 10 Teams und mehr als 100 Entwickler beteiligt. Das Embedded SRE-Team von Zalando wurde gegründet, um die speziellen Probleme des Transaktionserlebnisprozesses zu lösen.
Im Jahr 2019, nachdem Zalando zwei Jahre lang SRE im kleinen Rahmen ausprobiert hatte, beschloss es, SRE zu einer unternehmensweiten Betriebsstrategie weiterzuentwickeln und eine groß angelegte SRE-Abteilung aufzubauen.
In diesem Jahr kam Andrew Howden als SRE-Ingenieur zu Zalando. Im Jahr 2021 wurde er einer der Hauptingenieure und beteiligte sich am Workflow-Plan für Design und Wartung. Er wollte eine Reihe von Self-Service-Bewertungen entwickeln die Zuverlässigkeit von Tausenden von Systemen, was Kenntnisse über die technische Architektur, die Geschäftsfelder und die Ereignisverarbeitung hinter verschiedenen Systemen erfordert.
Frühe Startphase: Erstellen Sie schnell ein Einkaufszentrum mit dem PHP-Softwarepaket, und zwei Personen können die gesamte Website verwalten
Wer die technologische Entwicklung von Zalando verstehen will, muss ins Jahr 2008 zurückgehen. Google hatte gerade das Android-System veröffentlicht, und Apples iPhone wurde populär und startete einen neuen App Store. Die beiden Gründer von Zalando, Robert Gentz und David Schneider, gründeten im Herbst des Jahres das Fast-Fashion-E-Commerce-Unternehmen mit der Hoffnung, Schuhe online zu verkaufen. Wenige Tage nach seiner Gründung geriet das Unternehmen unerwartet in eine Finanzkrise.
Zalando hatte nicht viel Geld zur Verfügung und musste Wege finden, Geld zu sparen. Die beiden Gründer mieteten eine Untermietwohnung in Berlin als Büro und Lager. Da sie noch am Anfang standen und noch nicht viele Kunden hatten, probierten sie verschiedene Geschäftsexperimente aus. Später stellten sie fest, dass der kostenlose Versand und das 100-Tage-Rückgaberecht die beiden beliebtesten Highlights bei den Kunden waren, was auch zu den ersten Vorteilen von Zalando bei der Expansion wurde Der E-Commerce-Markt. Die beiden Liefergarantien von Zalando wurden später zum Standard, den Kunden von anderen E-Commerce-Plattformen erwarten.
Um schnell eine E-Commerce-Transaktionsplattform aufzubauen und weil es einfach war, mit PHP vertraute Entwicklungsingenieure zu finden, nutzte die Zalando-E-Commerce-Plattform der ersten Generation die in PHP entwickelte E-Commerce-Software Magento. Diese Software ähnelt der alten WordPress-Ära. Sie konnten Funktionsmodule von Drittanbietern selbst kombinieren.
Die Strategie von Zalando in der Anfangsphase lautete: „Schnell handeln, Dinge kaputt machen.“ Zalando hatte kein Wartungsteam, geschweige denn ein Plattformteam, und verließ sich auf nur ein oder zwei Mitarbeiter, um die gesamte Website zu verwalten.
Zwei Jahre später, im Jahr 2010, erschien das erste iPad, Netflix brachte 12,000 Filme auf den Markt, soziale Medien begannen auf Mobiltelefonen zu erscheinen und Zalando begann eine Phase des rasanten Wachstums über Deutschland hinaus und begann, in andere Länder vorzudringen, und expandierte sukzessive . In die Niederlande, nach Frankreich und in andere Länder. Zu diesem Zeitpunkt hatte Zalando 20 Vollzeitmitarbeiter und viele sehr treue Kunden.
Im Jahr 2010 habe ich die gesamte E-Commerce-Plattform mit Java neu entwickelt.
Die bei der Gründung gewählte PHP-E-Commerce-Suite-Software begann jedoch Probleme zu haben und konnte nicht weiter ausgebaut werden. Auch wenn das Entwicklungsteam sein Bestes gab, um den zugrunde liegenden Programmcode und die Architektur zu ändern, gab es immer noch keine Möglichkeit, das Problem zu lösen Problem. Am Ende musste die gesamte Struktur gekürzt und überarbeitet werden, und Zalando entwickelte die gesamte E-Commerce-Plattform von einer Kombination aus PHP- und MySQL-Datenbank zu einer großen monolithischen Anwendung unter Verwendung der Java-Sprache und der PostgreSQL-Datenbank neu.
Zalando ist von einer alten Version seiner E-Commerce-Software auf eine neue Version der Plattform umgestiegen. Damals war es „nur“ 90 Minuten lang. „Das war eine akzeptable Zeit. Wenn es jetzt passieren würde, wäre es so.“ „Das wäre eine Katastrophe, die die Aufmerksamkeit der Medien auf sich ziehen würde“, scherzte Andrew Howden. Die Erwartungen und Standards der Menschen an Technologie werden sich mit der Zeit und dem Raum ändern. Dies ist ein typisches Beispiel.
Allerdings war das Team zu diesem Zeitpunkt nicht groß, aber es begann auch, auf agile Probleme zu stoßen. Wie kann man Releases sicherer durchführen? Um ein gewisses Maß an Kontrolle aufrechtzuerhalten, haben sie eine Bereitstellungscheckliste entwickelt, die bei jeder Veröffentlichung bestätigt werden muss. Obwohl sie die Veröffentlichung von aktualisiertem Code verlangsamt, kann sie den Veröffentlichungsprozess zuverlässiger machen und das Vertrauen der Kunden aufrechterhalten .
Im Jahr 2014 expandierte Zalando weiter und stellte in diesem Jahr auch komplett auf ein responsives (RWD) Website-Design um. Dieses Jahr ist das Geburtsjahr der Containertechnologie Docker.
Der Jahresumsatz ist in vier Jahren um das Vierfache gestiegen, und die technischen Herausforderungen stehen hinter den drei Schlüsselstrategien
Von 2010 bis 2014 vervierfachte sich der Umsatz von Zalando auf 22 Milliarden Euro (ca. 750 Milliarden NT$).
Andrew Howden wies darauf hin, dass der Schlüssel zum positiven Leistungswachstum von Zalando in drei großen Strategien liege. Die erste ist die „Skalen“-Strategie, die darin besteht, alle notwendigen Mittel zu ergreifen, um das Softwaresystem zu erweitern, sogar die alte Version vollständig abzuschneiden und eine neue zu erstellen. Die zweite Strategie ist die „Lokalisierung“. Der Leistungsumfang von Zalando wurde auf mehrere Märkte ausgeweitet, von Schweden, Dänemark, Finnland, Norwegen, Belgien, Spanien, Polen bis Österreich. Nehmen Sie lokale Anpassungen vor, basierend auf Unterschieden in Sprache, Währung, gesetzlichen Compliance-Anforderungen und Wartungsanforderungen in den einzelnen Ländern.
Eine weitere wichtige Strategie ist die „Differenzierung“. Zalando hat ebenfalls begonnen, sich in ein Kaufhausmodell zu verwandeln und ein Partnerschaftssystem einzuführen, das es Drittanbietern ermöglicht, ihre eigenen Produkte auf der Zalando-Plattform zu verkaufen.
„Der größte Test, den diese drei Entscheidungen für die Technologie mit sich bringen werden, besteht darin, dass Software, die ursprünglich nur für den internen Gebrauch entwickelt wurde, jetzt an Dritte weitergegeben werden muss. Sie muss außerdem skalierbar sein und den lokalen Bedürfnissen jedes Landes gerecht werden.“ .
In den nächsten drei Jahren setzte Zalando auf mehrere technische Gegenmaßnahmen, um in verschiedenen Ländern schnell zu starten. Einerseits führte es ERP auf Unternehmensebene ein und andererseits begann es, in jedem Land lokalisierte offizielle Websites zu entwickeln baute einen Online-Shop auf, der umfangreiche Bestellungen und Transaktionen zentral abwickeln kann.
Allerdings haben diese drei Strategien die von Zalando entwickelten Systeme immer komplexer gemacht. Im Jahr 2010 gab es beispielsweise nur sieben Bereitstellungseinheiten. Im Jahr 7 gab es bereits über 2012 Bereitstellungsteams, und das Release-Management und die Koordination wurden zu einer großen Herausforderung.
Um die Komplexität zu vereinfachen, verlangt Zalando, dass jede Software nur mit drei Haupttechnologien entwickelt wird: Java, Tomcat und PostgreSQL.
Die Geburt des ersten Plattformteams
Darüber hinaus hat Zalando mit dem Aufbau seines ersten „Plattform“-Teams begonnen, das System-Engineering, Datenbank-Engineering und Plattform-Software-Engineering verwaltet und auch verschiedene Sicherheitsberatung anbietet.
Sie haben beispielsweise ein Deployctl-Tool zur Verwaltung des Veröffentlichungsprozesses entwickelt und außerdem das Open-Source-Netzwerkmanagement-Überwachungstool zmon (ähnlich Nagios) verwendet, um regelmäßig zu überwachen, ob alle Software und Systeme normal funktionieren.
Mit diesen organisatorischen, werkzeug- und technologiedefinierten unterstützenden Praktiken war Zalando damals in der Lage, wöchentlich zu veröffentlichen. Jede Veröffentlichung wird von einem Qualitätssicherungsteam getestet, um die Richtigkeit sicherzustellen, und ein kleines Team bietet Unterstützung auf Abruf.
Da jedoch die Anzahl der Personen im Entwicklungsteam wächst, müssen für jedes Release immer mehr Arbeiten koordiniert werden. Da Systeme immer größer werden und zugehörige Wartungsinformationen überall verstreut sind, wird es für Ingenieure immer schwieriger, relevante Informationen über die von ihnen ausgeführten Arbeiten effektiv zu erfassen.
Um die Releases der Ingenieure zu kontrollieren, ergriff das Plattformteam immer strengere Maßnahmen, was jedoch unerwarteterweise wiederum das Tempo der Releases verlangsamte. Andrew Howden sagte: „Obwohl das Plattformteam gute Absichten hatte, schränkte es unerwartet die Fähigkeit des Unternehmens ein, Innovationen zu entwickeln und Marktführer zu werden. Das Plattformteam begann, sich der Zuverlässigkeit anzunähern.“
Die Zeit konzentrierte sich auf das Jahr 2014. Nach der Geburt von Kubernetes wurde es schnell zum Mainstream. Im folgenden Jahr wurde die offizielle Version 1.0 veröffentlicht, die auch zur Gründung der CNCF-Organisation führte. wie gRPC, etcd, RunC, Envoy und Jaeger und andere Technologien. 2014 war auch das Jahr des Börsengangs (IPO) von Zalando.
Als Reaktion auf die neue Vision nach dem Börsengang wechseln Sie für den Betrieb in mehreren Ländern in ganz Europa in die Cloud und nutzen Cloud Native
Der Börsengang bringt Zalando mehr Mittel und größere Fähigkeiten, bedeutet aber auch größeren Entwicklungsdruck. Andrew Howden sagte, dass Zalando schneller wachsen und expandieren müsse und innovativ sein müsse.
Die neue Vision von Zalando besteht darin, eine „Modeplattform“ zu schaffen, die eine große Anzahl von Menschen mit Mode verbinden kann und es Drittpartnern und Geschäften ermöglicht, verschiedene Modeprodukte auf dieser Plattform zu verkaufen.
Allerdings haben sich die technischen Entscheidungen von Zalando in den letzten Jahren nach und nach zu einer relativ zuverlässigen, aber schwer zu ändernden technischen Architektur entwickelt. Diese „stabile“ Architektur kann mit der neuen Vision nach dem Börsengang nicht mehr mithalten.
Um die zukünftige Gestaltung länderübergreifender Aktivitäten in ganz Europa zu unterstützen, beschloss Zalando Ende 2014, die öffentliche Cloud vollständig zu nutzen, führte die Docker-Container-Technologie ein und begann, die alte monolithische Architektur durch die Microservice-Architektur zu ersetzen.
Im Jahr nach der Börsennotierung begann Zalando mit der Entwicklung einer E-Commerce-Plattformstrategie. Das Unternehmen wollte sich zu einem Technologieplattformanbieter im E-Commerce-Ökosystem entwickeln und begann, eigene technische Dienstleistungen an Partner und Ökosystempartner zu exportieren.