Vom Monolithen zum verteilten System

Das stetige Wachstum des Wettbewerbs zwischen den Banken macht es erforderlich, sich an verschiedene Kategorien von Kunden anzupassen. So ist es einfacher, auf die Website zu gehen und online ein Bankprodukt zu beantragen, während andere es gewohnt sind, neue Produkte und Dienstleistungen direkt während der Live-Kommunikation mit einem Bankvertreter auszuwählen. Im September 2019 Die Home Credit Bank hat beschlossen, ein neues Verfahren für den Kunden einzuleiten, dessen Hauptzweck darin bestand, den Kontakt „Kunde - Bankbetreiber“ aufrechtzuerhalten und die physische Verbindung des Betreibers mit dem Büro oder Schalter der Bank im Einkaufszentrum zu verweigern.

Der Starttermin des Pilotprojekts wurde auf Anfang Dezember 2019 festgelegt. Für die Implementierung war es so schnell wie möglich erforderlich, ein System mit Funktionen zur Registrierung einer persönlichen und nicht persönlichen Debitkarte für neue und bestehende Bankkunden zu entwickeln.

Auf dem Weg zu einer neuen Plattform


Sie begannen, nach der Tablettenlösung zu suchen. Die Implementierung eines neuen Prozesses auf einem Tablet, der auf der Architektur des aktuellen Front-Office-Systems der Bank basiert, damit die Betreiber mit dem Kunden zusammenarbeiten können, erschien aufgrund eines veralteten technologischen Stacks irrational Das aktuelle Front Office ist eine monolithische Webanwendung, die vor 8 Jahren in Silverlight geschrieben wurde. Versuche, mit der aktuellen Vorderseite des Tablets zu arbeiten, waren aufgrund des überlasteten UI-Teils der Anwendung und des Fehlens eines adaptiven Layouts erfolglos. Darüber hinaus deutete der Mangel an Silverlight-Unterstützung von Microsoft auf subtile Weise darauf hin, dass der Lebenszyklus unserer aktuellen Anwendung zu Ende ging und es einen Moment radikaler Neugestaltung und des Übergangs zu neuen Technologien gab. Wir haben uns für die Implementierung einer Microservice-Architektur entschieden. Warum musste der Monolith aufgegeben werden? Erstens,Aufgrund der Skalierbarkeit der Lösung, verbesserter Fehlertoleranz und unabhängiger Komponentenaktualisierungen. Zweitens führt in der Bank die Tendenz zur Verteilung der Funktionalität zwischen Produktteams und der Microservice-Ansatz in diesem Fall zu einer größeren Flexibilität und Unabhängigkeit der Teams.In den ersten Phasen wurden die folgenden Domänen (Microservices) für das Pilotprojekt zugewiesen: Benutzer, Kunde, Debitkarte und Vorfall. Um den hinteren Teil der Anwendung zu erstellen, verwendeten sie die .Net Core 2.2-Plattform (kürzlich auf 3.0 umgestellt) und liehen Elemente der Geschäftslogik aus dem System-Legacy aus. Es wurde beschlossen, das Vorderteil mit React zu bauen.

UI / UX


Parallel zur Definition der Architektur wurden die Anwendungsschnittstelle und die Prozessgeschäftslogik diskutiert. Es musste festgelegt werden, wie der Betreiber mit dem Kunden interagiert, welches Dokumentpaket benötigt wird und welche Informationen der Betreiber bei jedem bestimmten Verkaufsschritt benötigt. Ziel war es, den aktuellen Geschäftsprozess zu vereinfachen, anstatt einfach die Funktionalität auf eine neue Plattform zu kopieren. In der neuen Entscheidung wurde die Anzahl der Felder reduziert, als ein Debitkartenantrag geöffnet und der Fragebogen für den Kunden ausgeschlossen wurde (Sammeln von Informationen darüber, wie der Kunde von der Home Credit Bank erfahren hat). Auf der Hauptseite wurde eine Funktion für den schnellen Zugriff auf die Registrierung von Priority-Debit-Produkten mit Kundendaten hinzugefügt. In der Phase der Genehmigung zeigten die Anträge detaillierte Informationen zu den Tarifen und Bedingungen für das Produkt an, was auch dem Betreiber half.

In einer produktiven Umgebung ist die Startseite der Startseite mit Kundendaten und die Funktionalität zum Verbinden von Produkten und Dienstleistungen seit 8 Jahren aufgrund endloser Symbole und Felder zu überlastet.



Ich wollte der Schnittstelle „Luft“ hinzufügen. Hier musste ich Prioritäten setzen und bestimmen, welche Funktionen die Bediener zuerst für den Zugriff auf die Hauptseite benötigten, die auf der Seitenwand angezeigt werden können und die aufgrund von Nutzlosigkeit aufgegeben werden können (ja, ja! Solche Felder wurden gefunden). Als Ergebnis der fruchtbaren Arbeit des Teams mit dem Designer wurden die ersten Miniaturansichten der Seite mit Kundendaten und der Seite mit den Phasen der Erstellung eines Antrags für eine Debitkarte erstellt.



Dokumentation


Die Wissensdatenbank für das aktuelle Front-Office "lebt" in Word mit der gemeinsamen Bearbeitung in SharePoint. Das neue Projekt beschloss, in Zusammenarbeit mit Swagger einen neuen Dokumentationsprozess in Confluence zur Selbstdokumentation zu testen. Unser Übergangspfad, die Vor- und Nachteile der ausgewählten Lösung werden in einem separaten Artikel beschrieben. Ich kann nur sagen, dass das Thema der Auswahl eines Anforderungsmanagement-Tools noch offen ist. Wir sind gerade dabei, nach der optimalen Lösung zu suchen, um die Dokumentation mit einem Minimum an Ressourceninvestitionen auf dem neuesten Stand zu halten.

Lasst uns los fahren!


Infolgedessen sah unsere Roadmap auf dem Weg zum Start des begehrten Piloten so aus.



Das eingebaute Team-Interaktionssystem konnte die Pilotfrist einhalten. Zu Beginn des Projekts musste das Team den Wasserfall verlassen und den Agile Trail betreten. Es war ein Agile, das von unserem Team angepasst wurde. Wir haben parallelisiert: Die Entwickler begannen in der Phase der Einigung mit dem Team über die Implementierung, was sich normalerweise in den Anforderungen vor Beginn der Entwicklung widerspiegelt und mit allen Teilnehmern des Prozesses übereinstimmte. Offene Fragen wurden in Sitzungen diskutiert. Entscheidungen wurden von einem Team zusammen getroffen. Jedes Teammitglied konnte jederzeit über den Status des Projekts sprechen, jeder fühlte sich in den Prozess involviert und freute sich auf den Piloten gemäß den Ergebnissen unserer Arbeit.

Pilot


Der Pilot fand am Vorabend des neuen Jahres in einem der größten Einkaufszentren in Moskau statt. Für das Pilotprojekt wurden neue Vertriebsspezialisten eingestellt, die keine Bankprodukte kannten und zuvor nicht mit unserem aktuellen Front-Office-System gearbeitet hatten. Die Ergebnisse des Pilotprojekts zeigten, dass neue Benutzer die erforderliche Abfolge von Aktionen in unserer neuen Anwendung leicht herausfinden konnten, was bedeutete, dass ein solches Programm an anderen Standorten gestartet werden konnte und neue Spezialisten mit minimalen Anforderungen rekrutiert wurden.

In der neuen Anwendung haben wir uns um eine ständige Aktualisierung der Funktionalität des Produkts bemüht, basierend auf den Anforderungen von Betreibern und Kunden. In der ersten Startwoche wurden 25 kleine Verbesserungen basierend auf den Ergebnissen des Piloten veröffentlicht. Zum Beispiel wurde im Dokumentenpaket beim Vertragsabschluss ein gedrucktes Formular mit Produkttarifen hinzugefügt, weil Die meisten Kunden, die die Tarife auf dem Tablet vom Betreiber angesehen hatten, äußerten den Wunsch, gedruckte Tarife „zur Hand“ zu erhalten.

Die Verkaufsaktivitäten über die neue Plattform wurden online anhand eines Berichts über Graphana überwacht und freuten sich über jede neue Vertragsunterzeichnung.



Fehler


Im aktuellen Front Office gibt es ein Problem bei der Analyse von Produktfehlern. Es ist nicht immer möglich, die Abfolge der Aktionen des Bedieners wiederherzustellen, insbesondere in Fällen, in denen unvorhersehbare Übergänge zwischen Anwendungsbildschirmen (nachträglich identifiziert) auftreten, die nicht in die Geschäftslogik des Prozesses eingebettet sind. Die Berufung an den Nutzer ist in der Regel nicht schlüssig, weil Aufgrund des großen Clientflusses ist es unmöglich, die Reihenfolge der in der Anwendung mit einem bestimmten Client zu einem bestimmten Zeitpunkt ausgeführten Aktionen wiederherzustellen. Das neue System wollte auch diese Probleme lösen. End-to-End-Protokollierung für alle Microservices im Rahmen der Sitzung des Kunden und des Betreibers, zusätzliche Aufzeichnung von Textnachrichten für jede Aktion des Betreibers im Protokoll (neuer Kunde erstellt, Vereinbarung unterzeichnet,Verbundene SMS-Informationen) und ein Vollbild haben dazu beigetragen, das Bild des Geschäftsprozesses schnell wiederherzustellen und die Analyse von Produktfehlern beim Anzeigen von Protokollen in GrayLog zu beschleunigen.


Ziel des Piloten war es nicht nur, eine Tablet-Lösung zu implementieren, sondern auch den Grundstein für unsere zukünftige Plattform des Front-Office-Systems der Home Credit Bank zu legen. Jetzt verbessern wir uns weiter. Wir arbeiten an der Hinzufügung eines neuen Moduls „Credits“ für die Arbeit mit den Kreditprodukten der Bank. Und auch bei der Erforschung des Einsatzes neuer Technologien (graphql, dessen Zweck nicht darin besteht, zusätzliche Daten von hinten nach vorne zu leiten; camunda für die flexible Konfiguration des Geschäftsprozesses; Prometheus für die Erfassung von Geschäftsmetriken für die Berichterstellung).

In Zukunft sehen wir die Weiterentwicklung der Tablet-Lösung durch Hinzufügen der Verkaufsfunktionalität verschiedener Arten von Bankprodukten. Jetzt besteht die Priorität darin, den Prozess der Ausstellung einer Bankkreditkarte zu erstellen. Ausweitung des Anwendungsbereichs des Tablets auf Elektronikgeschäfte und Repräsentanzen von Pensionskassen.

All Articles