Eine neue Klasse von Kundendienstleistungen wird durch Microservices und schnelle Daten vorangetrieben
Einführung
Die neue Klasse von Kundenservices des Marktführers im Bereich Gewichtsabnahme wird durch Microservices und schnelle Daten angetrieben
Über den Kunden
Die Gründer des Branchenführers für Gewichtsabnahme sind ein globales Wellness-Technologieunternehmen, das Millionen von Menschen dazu inspiriert, sich gesunde Gewohnheiten für das wahre Leben anzueignen. Sie tun dies durch ansprechende digitale Erlebnisse, persönliche Workshops und nachhaltige Programme, die gesunde Ernährung, körperliche Bewegung und eine positive Einstellung umfassen. Auf der Grundlage von mehr als fünf Jahrzehnten Erfahrung und Fachwissen in der Verhaltenswissenschaft bauen sie Gemeinschaften auf, um Wohlbefinden für alle zu schaffen.
Wettbewerbsdynamik
Das Unternehmen ist ein Paradebeispiel dafür, wie traditionelle Unternehmen gezwungen sind, sich mit Hilfe von Technologie zu modernisieren, da “Software die Welt frisst”. In den letzten zehn Jahren wurden mit dem Aufkommen von tragbaren Geräten und Smartphones Tausende von Verbraucher-Apps auf den Markt gebracht, die sich mit allen möglichen Themen befassen, von der Gewichtsabnahme über Fitnessdaten bis hin zur Lebensmittelüberwachung. Die Verbraucher sind sehr versiert darin, ihre Telefone zu nutzen, um ihre Ernährung und Bewegung zu verfolgen und ihre Fortschritte zu messen.
Um weiterhin führend in der Abnehmbranche zu bleiben, musste das Unternehmen sein bewährtes Abnehmprogramm anbieten und bei der Bereitstellung von Apps und digitalen Erlebnissen führend sein. Seit mehr als 20 Jahren hatte das Unternehmen langsam digitale Dienste zur Unterstützung seiner Nutzer aufgebaut, doch die Anforderungen des Wettbewerbs beschleunigten das Tempo.
Das Unternehmen war zu einem Softwareunternehmen geworden, dessen Wettbewerbsvorteil darin bestand, ständig neue Anwendungen und Funktionen zu entwickeln, um neue Nutzer zu gewinnen und seine treue Anhängerschaft zu halten.
Die Herausforderung
Aber der alte .NET-Monolith war totes Gewicht
Als der Wettbewerbsdruck immer größer wurde, musste das Unternehmen ein zusätzliches Problem angehen: seinen veralteten .NET-Monolithen. Die Skalierung des .NET-Monolithen wurde im Laufe der Jahre immer schwieriger, da immer mehr Software hinzukam. Außerdem behinderte der Monolith die Fähigkeit des Unternehmens, neue Funktionen schnell bereitzustellen, um mit den Veröffentlichungszyklen der Entwickler Schritt zu halten.
“Wir haben erkannt, dass die alte Art, Geschäfte zu machen, in der modernen Welt nicht mehr funktionieren würde. Wir haben uns verpflichtet, unseren Stack zu modernisieren, um neue Funktionen schneller einzuführen, schneller auf Kundenfeedback zu reagieren und Beta-Programme und Tests mit unseren Mitgliedern anzubieten.”
Michael Lysaght, CTO
Die Lösung
Microservices und NashTech bringen Agilität für Entwickler
Im Jahr 2015 begann das Unternehmen, seinen Software-Stack zu modernisieren, um die neuen Realitäten der kontinuierlichen Entwicklung zu unterstützen. Im Mittelpunkt der Bemühungen standen eine neue Website und eine neue mobile App, die es den Kunden ermöglichte, ihre Ernährung zu verfolgen, Informationen über ihr Gewicht und ihren Lebensstil einzugeben und ihnen Echtzeitdaten zur Verfügung zu stellen, um maßgeschneiderte Programme zur Gewichtsabnahme für jedes Mitglied zu berechnen. Angefangen bei den Annehmlichkeiten für die Nutzer, wie der Möglichkeit, Lebensmittel im Supermarkt mit einem Barcode zu scannen und die Mahlzeiten zu verfolgen, bis hin zu ganzheitlichen Überlegungen, wie sie Daten von anderen Geräten der Nutzer aufnehmen können. Die Vision für die Neuplattformierung war ein Kernsatz von Microservices, der es den Entwicklern erleichtern würde, neue Services zu erstellen, ohne dass die Abhängigkeit von Monolithen und Skalierungsprobleme auftreten würden.
Sie haben 12 verschiedene Microservices entwickelt, die alle in Scala unter Verwendung des Play Frameworks und Akka geschrieben wurden und auf der Cassandra-Datenbank aufsetzen. Jeder Microservice stellt eine eigene REST-API zur Verfügung, um Aspekte der Client-Anwendungen zu betreiben, die es den Kunden ermöglichen, ihre Ernährung zu verfolgen, Daten einzugeben und ein berechnetes, individuelles Abnehmprogramm zu verfolgen.
Das Team bevorzugt das Play Framework wegen seiner Einfachheit und Leistungsfähigkeit – es erfordert nicht viel Detailwissen, um seine Verwendung zu verstehen, und als ausgereiftes Framework ist es sehr einfach in Betrieb zu nehmen. Dies machte es ideal für den Aufbau ihrer REST-APIs als eine Reihe von hochverfügbaren Microservices.
Die von Akka bereitgestellte Actor-Abstraktion bot ihnen eine einfache Möglichkeit, langsame Operationen wie externe HTTP-Aufrufe oder Schreibvorgänge in die Datenbank auf nicht-blockierende, gleichzeitige Weise zu verarbeiten. Mit Actors ist es sehr einfach, nebenläufige Operationen durchzuführen, um Race Conditions, unnötiges Thread-Blocking und andere häufige Nebenläufigkeitsprobleme zu vermeiden. Sie fanden Actors besonders nützlich, um aus Kinesis-Ereignisströmen zu lesen und in sie zu schreiben.
Was das Unternehmen an … mag
Scala
- Hohe Produktivität – Einfache, prägnante Syntax, schnelle Entwicklung, starkes Typensystem
- Hervorragend geeignet für Gleichzeitigkeit – aufgrund von Unveränderlichkeit, Futures und Actors.
- Java-Interoperabilität – Ermöglicht die Wiederverwendung von Java-Bibliotheken, JVM-Tools usw.
Spielen
- Einfach zu bedienen
- Ideal für die Erstellung von REST-APIs
- Hohe Leistungsfähigkeit in Microservices und Streaming-Data-Architekturen
Akka
- Leistungsstarke Multithreading-Fähigkeiten
- Abstraktionen der Gleichzeitigkeit sind für Ereignisströme gut geeignet
- Möglichkeiten zur Abschottung von Code und Skalierung ohne Neuschreiben
Überwachung
- Einfach/schnell umzusetzende Überwachung
- Sehr nützlich für die Leistungsoptimierung von Anwendungen, die Ermittlung von Engpässen usw.
- Lässt sich gut mit Visualisierungstools integrieren
NashTech-Unterstützung
- Sehr reaktionsschnell
- Sehr hilfreich mit tiefem Wissen über alle Aspekte des NashTech-Stacks
- Großartig für allgemeine Scala-Ratschläge
Das Ergebnis
Der modernisierte Stapel
Zeit für die Veröffentlichung von Updates
In der Regel 3 bis 4 Stunden, oft mit Ausfallzeiten der Anwendung.
< 20 Minuten für die Veröffentlichung eines Service-Updates ohne Ausfallzeiten
Fähigkeit zur Skalierung
Die Skalierung ist ein sehr langsamer, arbeitsintensiver manueller Prozess, der das Klonen und Anpassen der Hardware, die Implementierung des Codes und Tests erfordert. Die Umsetzung dauert in der Regel einige Tage.
Horizontale Skalierung eines Dienstes in Minutenschnelle als vollautomatischer Prozess. Bald werden sie in der Lage sein, ihre Leistung automatisch je nach Bedarf zu erhöhen oder zu verringern.
Heute
Eine Brutstätte für Entwicklerinnovationen und eine großartige Kultur für Scala-Entwickler
Heute ist das Unternehmen mit seiner Microservices-Architektur zu einer flinken Entwicklungsorganisation geworden, die sich auf die Erweiterung von Kundendiensten auf der Grundlage von Echtzeitdaten und die Integration verschiedener anderer Geräte konzentriert. Der technische Schwerpunkt des Unternehmens liegt auf der Erfahrung seiner Mitglieder und der Entwicklung erstklassiger Anwendungen mit neuen Frameworks. Im vierten Quartal 2016 verzeichnete das Unternehmen fünf aufeinanderfolgende Quartale mit 2,6 Millionen Abonnenten zum Ende des Berichtszeitraums.
“Wir wollen Fast Data weiterhin nutzen, um unseren Kunden gegenüber sehr reaktionsschnell zu sein. Wir sind an allen Aspekten von Fast Data interessiert – Event-Streaming, Datenanalyse und Echtzeit-Ingest. Die NashTech Reactive Platform und unsere Microservices-Architektur ermöglichen es uns, diese neuen Möglichkeiten zu nutzen, um unseren Mitgliedern einen Mehrwert zu bieten.”
Nick Smith, Senior Engineering Manager
Weitere Fallstudien lesen
Vom Überwinden von Widrigkeiten zum Reiten der Welle der digitalen Transformation im Bildungssektor
Erfahren Sie, wie NashTech dem Trinity College London hilft, die Welle der digitalen Transformation im Bildungssektor zu reiten
Migration und Modernisierung der virtuellen Lernumgebung auf AWS für ein verbessertes Erlebnis
Das migrierte und modernisierte Moodle Infrastruktur bedeutet, dass The Open Die Universität kann nun folgende Vorteile nutzen Cloud-Vorteile.
Ein Einblick in eine einjährige RPA-Reise mit einem führenden digitalen Werbedienst
Ein Einblick in eine einjährige RPA-Reise mit einem führenden Anbieter von digitalen Werbedienstleistungen und -lösungen und wie NashTech ihnen geholfen hat.
Lassen Sie uns über Ihr Projekt sprechen
- Themen: