Fallstudie

Die Nutzung von CI/CD und AWS Lambda, um bessere Buchungssysteme zu entwickeln

50.000+
Aktive Nutzer pro Event
60+
Golfplätze
100%
AWS Serverless-Plattform
Einführung

Teevolution ist ein innovatives schwedisches Technologieunternehmen, das für seine golfbezogenen Produkte und Services wie SmartGolfa bekannt ist. Lesen Sie unsere Fallstudie über die Rolle, die AWS Lambda bei der Erschaffung einer effizienten Lösung für Teevolution spielte.

Über Teevolution AB

Teevolution ist ein innovatives schwedisches Technologieunternehmen, das für seine Produkte und Dienstleistungen rund um den Golfsport bekannt ist, wie z. B. SmartGolfa, eine erfolgreiche Web- und Mobilplattform, die es ihren Nutzern ermöglicht, in ihrem eigenen Tempo Golf zu spielen, Golfabschläge zu sichern und Pakete zu kaufen. Smartgolfa ist eine 100%ige serverlose Anwendung, die mehr als 50.000 aktive Nutzer bedient, die auf mehr als 60 Golfplätzen Golf spielen.

Die Herausforderung

Miracle Mill begann die Zusammenarbeit mit Teevolution im Jahr 2016. Als Miracle Mill die Entwicklung übernahm, wurde die Webseite mit WordPress erstellt. Aufgrund des geschäftlichen Wachstums wurde es Zeit, eine kundenspezifische Plattform zu entwickeln, die auch in Zukunft die Skalierbarkeit sicherstellte, einen Mobile-Zugang und mehr Interaktivität ermöglichte. Die Plattform benötigte ein signifikantes Investment, sowohl in der Form als auch in die Infrastruktur. Ein agiler, kollaborativer Ansatz wurde zusammen mit dem Kunden etabliert und es wurde ein Plan ausgearbeitet, um schrittweise mehr Cloud-Services zu nutzen.

Wir wollten auch zeigen, wie AWS die SmartGolfa-Plattform in Bezug auf Skalierbarkeit, Sicherheit und Kosteneffizienz unterstützt. Es war auch wichtig zu überprüfen, wie AWS genutzt werden kann, um die komplexen Probleme der alten Plattform zu lösen, aber gleichzeitig auch die gut funktionierenden Komponenten beizubehalten.

Screenshot der Teevolution-AppScreenshot der Teevolution-App

Teevolution App

Die Lösung

Die Rolle von AWS Lambda in der Lösung von Teevolution

Das erste, was wir als Unternehmen tun mussten, war, eine bessere Umgebung für Teevolutions alte Anwendungen zu finden (diese waren schwer zu skalieren und zu warten). So begannen wir mit der Migration zu AWS, um eine besser betreibbare, stabile und skalierbare Umgebung zu haben und eine Multi-Tenant-Anwendung zu erstellen, die das Golfen für die Kunden einfacher macht. AWS LambdaExternal Link spielte bei jedem Element dieser Lösung eine wichtige Rolle.

Der nächste Schritt bestand darin, ein AWSCodeCommitExternal Link-Repository zu erstellen und den Pipeline-Workflow mit dem CI/CD-Modell einzurichten. AWS Lambda spielt eine zentrale Rolle in dieser Pipeline, da es verwendet wird, um den Code der Feature-Branches in die Master-Branch einzubinden und die Erstellung der Feature-Pipeline auszulösen, wenn ein Pull Request (PR) erstellt wird.

Wir mussten sicherstellen, dass die Kunden über eine sichere Authentifizierung verfügen, daher haben wir Amazon CognitoExternal Link für diesen Zweck verwendet. Da wir ausserdem das Content Management System (CMS) gebaut haben, das für alle Tenants verwendet wird, und wir den Zugriff zwischen den Tenant-Administratoren einschränken mussten, war es einfach, dies mit Amazon Cognito-Gruppen und -Rollen zu lösen. Amazon Cognito interagiert mit AWS Lambda für Autorisierungsanfragen (z. B. Requests an die API) und zum Abrufen von Benutzerinformationen. Amazon Cognito-Trigger werden auch mit AWS Lambda für Ereignisse wie die Erstellung eines neuen Benutzers verwendet, die mit benutzerdefinierter Logik behandelt werden.

Die nächste Herausforderung bestand darin, dass die App eine schnelle, sichere und konsistente Buchungsfunktionalität haben sollte. Zu diesem Zweck mussten wir komplexe Funktionen auf möglichst einfache Weise erstellen, die leicht gewartet und skaliert werden können. Um diesen Prozess simpel zu halten und sicherzustellen, dass alle ungeplanten Ereignisse die entsprechenden Alarme auslösen (wobei diese auf ein Minimum beschränkt werden sollten), haben wir die Lösung mit AWS Step FunctionsExternal Link in Kombination mit AWS Lambda erstellt. Dabei wurden Schritte und Entscheidungen überwacht und Alarme eingerichtet, um uns über unerwünschte Probleme zu informieren. Wir verwenden auch AWS Lambda-Funktionen für die Requests an die REST-API und Amazon API Gateway als verwalteten Service.

Verwendete AWS-Services in der Lösung

  • AWS Lambda
  • Amazon Cognito
  • AWS Step Functions
  • AWS API Gateway
  • AWS Code Commit
  • AWS CodePipeline
  • AWS Pinpoint
  • AWS DynamoDB & DAX
Architekturdiagramm
Architectural diagram

Diagramm der Teevolution App-Architektur

Resultate und Vorteile

Nach etwa neun Monaten waren die oben genannten AWS-Dienste implementiert und alle entsprechenden Daten erfolgreich migriert. Im Rahmen des Projekts werden mehrere AWS-Dienste für die Entwicklung und die Kundeninteraktion genutzt.

AWS Lambda wird für Aufrufe der Back-End-API verwendet. AWS Step Functions werden für Funktionen verwendet, deren Ausführung länger als ein paar Millisekunden dauert und bei denen Transaktionssicherheit erforderlich ist, wie z. B. bei Buchungen und Käufen. Amazon Cognito wurde mit Plugins für die Authentifizierung für Mobile und Web erweitert.

Der Service bedient derzeit über 50.000 Golfer mit praktisch keiner Ausfallzeit. Die AWS-Dienste werden so genutzt, dass die Skalierbarkeit überhaupt kein Problem darstellt und die Anzahl der Benutzer, die dem System hinzugefügt werden können, unbegrenzt ist. SmartGolfa und andere Marken können ständig neue Benutzer hinzufügen, ohne dass Anpassungen vorgenommen werden müssen. So der leitende Ingenieur des Projekts:

“Die Skalierbarkeit war und wird auch nicht ein Problem sein, da keine der verwendeten Services irgendein Limit bezüglich Skalierung haben."

Die Migration hat die Sicherheit der Plattform, die Zuverlässigkeit, Kosten, den Authentifizierungsprozess und die Performance verbessert. Die Geschwindigkeit der Anwendung wurde auch verbessert. Die Plattform ist sehr aktiv, und die Nutzeroptimierung übertrifft weiterhin die Erwartungen. Die Plattform ist bereit, um mit neuen Funktionen erweitert zu werden, die die Golfer von morgen erwarten. Andreas Jönsson, CEO von Teevolution, sagt abschliessend,

"Wir sind zufrieden mit unserer Entscheidung, zu AWS zu migrieren. Wir haben jetzt eine robuste, unternehmenstaugliche Lösung."
Über Miracle Mill

Bei Miracle Mill sind wir leidenschaftliche Unternehmer und Ingenieure, die daran arbeiten, moderne und innovative Cloud-Technologie zu nutzen. Wir sind ein Cloud-First-Unternehmen, das sich auf die Entwicklung skalierbarer Anwendungen konzentriert, die AWS-Cloud-Services nutzen.

Wir bieten Cloud-Beratungsdienste mit einem iterativen, agilen Ansatz für die Softwareentwicklung unter der Verwendung von DevOps-Methoden.

Genutzte Dienste

Weiterlesen

Fallstudie
Amazon CloudFront,AWS S3,AWS Lambda
Design für bessere DCX im Einzelhandel mit AWS Lambda

Re-board Technology ist der Hersteller von Re-board®, dem innovativen, nachhaltigen, starren Karton. Das in Schweden ansässige Unternehmen arbeitet mit globalen Druckpartnern und Händlern zusammen, um wirkungsvolle Designlösungen für Display-Werbung, Point-of-Sale-Marketing und für Ausstellungen und Messen anzubieten.

Mehr erfahren
Fallstudie
Die Modernisierung von Bestellsystemen mit der Cloud und serverloser Entwicklung

Fogia ist ein skandinavisches Möbelunternehmen, das sich auf Simplizität, Funktionalität und Qualität konzentriert. Das Unternehmen entwirft und fertigt Möbel für den Wohnbereich, das Büro und öffentliche Räume.

Mehr erfahren
Artikel
Automatische Web-UI-Tests in AWS

Jeder gute Entwicklungsprozess durchläuft eine Testphase, sei es eine Überprüfung durch Freunde und Familie oder ein QA-Prozess, der von zertifiziertem Fachpersonal durchgeführt wird. In den meisten Fällen werden diese Tests manuell oder halbautomatisch mithilfe von Tools wie Selenium durchgeführt. Vielleicht haben Sie schon einmal von automatisierten Testtools gehört, aber die Einrichtung eines automatisierten UI-Tests kommt Ihnen vielleicht unheimlich vor, und Sie haben es bisher vermieden, einen solchen einzurichten. Während andere automatische Integrations- und Unit-Tests einfacher und unkomplizierter zu implementieren sind, ist für automatische UI-Tests mehr Überlegung und Planung erforderlich, aber die potenziellen Vorteile sind enorm. Automatische Web-UI-Tests sparen viel Zeit, sorgen für höhere Qualität und Präzision und ermöglichen darüber hinaus eine kontinuierliche Softwarebereitstellung. Dies hat das zusätzliche Potenzial, Ihr Unternehmen zu verändern!

Mehr erfahren
Artikel
DevOps in Scrum

DevOps wird immer beliebter und wird mittlerweile in Organisationen jeder Größe eingesetzt. Damit scheint sich aber auch das Missverständnis zu verbreiten, dass DevOps und das Konzept “Agile”, die agile Softwareentwicklung, komplett verschiedene Ideen sind, die nicht miteinander funktionieren können. Weiter scheinen manche zu denken, dass DevOps identisch für “Continuous Development” und Agile für “Scrum” steht. Diese fehlerhafte Vereinfachung führt zu Spannungen zwischen den zwei Konzepten und zu noch mehr Verunsicherung, was “das Richtige” für ein Unternehmen ist.

Mehr erfahren