Bridestory nutzt Container in AWS, um die Agilität zu verbessern

Bridestory

Anfangsschwierigkeiten

Bridestory wurde 2014 als zentrale Anlaufstelle für Bräute gegründet, um Hochzeitsinspirationen zu finden und mit potenziellen Lieferanten in Kontakt zu treten. Der Anbieter der Bridestory-App hat seinen Hauptsitz in Indonesien und rühmt sich einer schnell wachsenden Benutzerbasis mit etwa 700 000 Besuchern, darunter auch Benutzer auf den Philippinen und in Singapur. Zwei Jahre nach seinem Launch hatte das Startup Schwierigkeiten damit, zu wachsen, was auf seine monolithische Architektur zurückzuführen war. Langsame Iterationen und Schwierigkeiten bei der Bereitstellung und Skalierung verlangsamten die Markteinführung, die oberste Priorität hatte. Bridestory hatte seine ursprüngliche Architektur in der Amazon Web Services (AWS) Cloud aufgebaut und begann, sich mit AWS-Cloud-Architekten über die Migration zu einer Container-basierten Infrastruktur zu beraten.

„Seit Ende 2018 schaffen wir es, unsere Zielvorgaben zu erreichen. Früher benötigten wir durchschnittlich drei Wochen, um eine umfangreiche neue Funktion auf den Markt zu bringen, während unsere Entwickler jetzt in der Lage sind, täglich kleine Versionen mit einer Ausfallrate von weniger als 1 Prozent durchzuführen.“

Doni Hanafi, Chief Technology Officer, Bridestory

  • Über Bridestory
  • Bridestory ist eine Web- und Mobilanwendung, die entwickelt wurde, um Bräute zu inspirieren und ihnen zu helfen, mit Hochzeitsdienstleistern in Kontakt zu treten. Die Seite hat bis zu 700 000 Besucher pro Monat und expandiert weltweit, mit Benutzern in Indonesien, Singapur und den Philippinen. 

  • Vorteile
    • Führt Bereitstellungen täglich durch und nicht nur alle 3 Wochen
    • Erzielt eine Ausfallrate von weniger als 1 %
    • Skaliert zur Anpassung an die wachsende globale Benutzerbasis automatisch
    • Verkürzt die Markteinführungszeit einer neuen Marke um zwei Drittel
    • Verbessert die Produktivität und die Arbeitszufriedenheit der Mitarbeiter, was die Mitarbeiterbindung fördert
  • Genutzte AWS-Services

Von Monolith zu Microservices

Doni Hanafi, Chief Technology Officer bei Bridestory, arbeitete mit seinem Team daran, die Anwendung in kleinere Services aufzuteilen und Docker-Container mit Amazon Elastic Container Service (Amazon ECS) einzurichten. Markteinführungszeit und Zuverlässigkeit waren die Hauptkriterien, denn Bridestory wollte kleinere Funktionen alle paar Tage bereitstellen, um die Ausfallrate zu senken.

Die ersten drei bis vier Monate wurden damit verbracht, Technologie-Stacks zu erkunden, um die richtige Infrastruktur für die angestrebten Workloads zu finden, mit dem Ziel, die Agilität durch automatische Skalierung zu verbessern. Das Startup begann dann mit der schrittweisen Entkopplung, indem es neue Funktionen in der Microservices-Umgebung entwickelte. Bridestory verwendet Amazon Relational Database Service (Amazon RDS), um alle Transaktionsdaten zu speichern, und fand AWS Database Migration Service (AWS DMS) besonders hilfreich während des Migrationsprozesses. Hanafi sagt: „Mit AWS DMS können wir Daten in Echtzeit kopieren und sie von unserer alten Amazon-RDS-Datenbank im Monolithen mit der neuen Microservices-Datenbank synchronisieren. Darüber hinaus können wir ganz einfach eine Replikation in Amazon RDS erstellen, einem Service, den wir häufig für unsere BI-Tools verwenden. Die Replikation ist sehr zuverlässig, und wir hatten bisher keine nennenswerten Datenprobleme.“

Dieselbe Architektur, eine andere Marke

Die neue Microservices-Architektur hat den Betrieb transformiert. Hanafi berichtet: „Seit Ende 2018 schaffen wir es, unsere Zielvorgaben zu erreichen. Früher benötigten wir durchschnittlich drei Wochen, um eine umfangreiche neue Funktion auf den Markt zu bringen, während unsere Entwickler jetzt in der Lage sind, täglich kleine Versionen mit einer Ausfallrate von weniger als 1 Prozent durchzuführen.“ Das Unternehmen hat außerdem eine neue App namens Parentstory auf den Markt gebracht, die seine containerisierte Infrastruktur nutzt. „Isolation ist der Schlüssel zu unserem neuen Multi-Tenancy-Microservices-Modell“, erklärt er. „Wir erkunden ständig mit den AWS-Architekten, wie wir dieselbe Architektur mit demselben Quellcode nutzen können, aber mit einer völlig anderen Marke, anderen Kunden und einer anderen Datenbank.“ Mit diesem Ansatz der Wiederverwendung war das Team in der Lage, die Parentstory-App fast dreimal schneller einzuführen als Bridestory.

Durch den Einsatz von AWS ist Hanafis Team auch effizienter geworden. Er fasst zusammen: „Derzeit wechseln wir zu Amazon Elastic Container Service for Kubernetes (Amazon EKS), der uns mehr Flexibilität bei der Isolierung von Ressourcen bietet. Mit AWS entdecken wir neue Wege des Lernens und Experimentierens, was für Entwickler entscheidend ist und zu einer hohen Mitarbeiterbindung führt.“

Das folgende Diagramm zeigt die AWS-Infrastruktur bei Bridestory und Parentstory:

AWS-Infrastruktur bei Bridestory und Parentstory

Weitere Informationen

Unter Container finden Sie weitere Informationen.