LMS für die Kasinobranche
Itransition lieferte ein SCORM-kompatibles und mandantenfähiges LMS, führte Prozessautomatisierung ein und bot Anpassungsoptionen.
Inhaltsverzeichnis
Kontext
Unser Kunde, Vector Solutions, ist ein in den USA ansässiger Anbieter von branchenorientierten SaaS-Produkten, die Unternehmen dabei helfen, sich auf anspruchsvollere Arbeitsbedingungen vorzubereiten. Die Produktpalette des Kunden umfasst Schulungs- und Lernmanagement, Software für Karriereplanung und -bewertung, Risiko- und Sicherheitsmanagement, Software für Notfallkommunikation, Personaleinsatzplanung und -bewertung und vieles mehr. Das Unternehmen ist seit mehr als 20 Jahren auf dem Markt und kann auf über 34.000 Kunden weltweit und mehr als 31 Millionen aktive Nutzer verweisen.
Anfänglich wurde Itransition von Casino Essentials angesprochen - ein Unternehmen, das 2018 von Vector Solutions übernommen wurde. Casino Essentials war ein führender Bildungsanbieter in der Glücksspielbranche, der branchen- und casinospezifische Schulungen für die Mitarbeiter mehrerer Casinos in ganz Nordamerika anbot. Mit einer aktiven Nutzerbasis von etwa 65.000 Nutzern wollte das Unternehmen diese auf über 600.000 Nutzer ausbauen.
Casino Essentials verwendete ein Lernmanagementsystem (LMS) auf Abonnementbasis, um seinen Kunden Kurse, Tests und Zertifikate bereitzustellen. Das alte LMS bot nicht die notwendige Anpassung, Flexibilität und Skalierbarkeit, um die Anforderungen des Kunden vollständig zu erfüllen. Daher wollte das Unternehmen eine Multi-Tenant-LMS-Plattform von Grund auf neu entwickeln, um mit den konkurrierenden Anbietern von Casino-Schulungen mithalten zu können.
Casino Essentials verfügte nicht über ein eigenes Team zur Entwicklung und Unterstützung der Anwendung. Sie waren auf der Suche nach einem engagierten Technologiepartner, der ihnen helfen konnte, das Projekt von Grund auf durchzuführen, angefangen bei der Formalisierung der Anforderungen über die Beratung bis hin zur Entwicklung und zum Testen. Man entschied sich für Itransition, da wir bereits mehrere komplexe Bildungslösungen erfolgreich bereitgestellt und unterstützt haben und über ein breit gefächertes technisches Know-how verfügen, um die Technologie auszuwählen, die den Anforderungen des Projekts am besten gerecht wird.
Lösung
Entdeckungsphase
Itransition schlug vor, das Projekt mit einer Erkundungsphase zu beginnen, um folgende Ziele zu erreichen:
- Diskussion der geschäftlichen Anforderungen der Plattform und Spezifizierung des Technologie-Stacks für die Plattform
- Erstellung von funktionalen und technischen Spezifikationen
- Durchführung einer gemeinsamen Überprüfung der Funktionsliste unter Einbeziehung des Geschäftsanalysten von Itransition und des Product Owners des Kunden
- Definieren eines Implementierungsplans
Ausgehend von den Ergebnissen der Erkundungsphase haben wir gemeinsam mit dem Kunden die folgenden Merkmale des zukünftigen LMS definiert:
- Ein Cloud-basiertes responsives SaaS-Produkt mit der Fähigkeit, bis zu 600.000 registrierte Benutzer zu unterstützen, entsprechend den Wachstumsplänen des Kunden
- Erstellung und Anpassung von Kursen und Umfragen (Tests) für jeden Kunden auf der Grundlage seiner Bedürfnisse SCORM-konform
- Zentrales Update-Management mit Synchronisierung von Updates/Upgrades über ausgewählte Mandanten hinweg
- Eingebaute Berichtsfunktionen mit der Möglichkeit, Kursdaten wie Online-Kursabschlüsse und bestandene/ nicht bestandene Tests zu verfolgen
Die Flexibilität des Systems zur Bereitstellung von mehr Anpassungsoptionen für Endkunden soll erreicht werden durch:
- Multi-Tenant-Architektur mit der Möglichkeit, für jeden Kunden (Casino) einen Tenant zu erstellen, mit Unterstützung von mindestens 500 Tenants
- Unterstützung von White Labeling, einschließlich dedizierter Instanz-URL für jeden Mandanten (Subdomains), Einstellungen zur Anpassung von Banner, Header/Footer und der Login-Seite für jeden Mandanten
Darüber hinaus sollte das System eine Reihe von automatisierten Prozessen unterstützen, z. B. Massenuploads von Nutzern zur Zuweisung von Kursen, Versionierung von Lektionen und Berichtsbenachrichtigungen für bestimmte Nutzer, was dazu beitragen würde, den Zeitaufwand dafür zu verringern.
Der Kunde zog Moodle als Plattform in Betracht, auf der die neue Lösung aufgebaut werden sollte, da sein Altsystem auf dieser Plattform basierte. Der bisherige Anbieter konnte die Lösung nicht nach den Bedürfnissen des Kunden entwickeln, da die Plattform einen hohen Grad an kundenspezifischer Programmierung erforderte. Die internen Prozesse des Kunden funktionierten jedoch anders als die in Moodle festgelegten. Nach eingehender Erörterung der Projektanforderungen mit unseren technischen Experten wurde beschlossen, die Lösung in Java zu entwickeln, um den Projektanforderungen besser gerecht zu werden.
Wir schlugen vor, die Lösung in zwei logische Module zu unterteilen: das Portal, das von den Administratoren des Kunden genutzt wird, und das Lernportal für die Endkunden. Für den kundenseitigen Teil der Plattform schlugen wir den Ansatz der Single-Page-Application (SPA) vor. Bei einer SPA wird entweder der gesamte erforderliche Code - HTML, JavaScript und CSS - mit einem einzigen Seitenaufruf abgerufen, oder es werden partielle Änderungen vorgenommen, indem bei Bedarf neuer Code vom Webserver geladen wird, in der Regel ausgelöst durch Benutzeraktionen. Die Seite wird während der Benutzerinteraktion mit der Anwendung weder automatisch neu geladen, noch werden Steuerelemente auf eine andere Seite übertragen, was zu schnelleren Übergängen führt, so dass sich die Website eher wie eine native Anwendung anfühlt.
LMS-Entwicklung
LMS-Aufbau
Unser Team hat ein neues LMS von Grund auf entwickelt und fügt ständig neue Funktionen hinzu, um die Leistung der Lösung zu verbessern und zu steigern. Die Endnutzer der Lösung sind Casino-Mitarbeiter (Lernende) und Administratoren, die den Lernprozess kuratieren. Die Lösung besteht aus zwei Modulen:
- Zentrales Panel
Ein administratives Panel, mit dem die Mitarbeiter des Kundensupports das gesamte System verwalten. Es ermöglicht die Verwaltung von Benutzern und Mietern und die Aktivierung spezifischer Funktionen für sie - Erstellung von Lektionen und Kursen, Verwaltung von Einschreibungen (Abonnements für Kurse), Erstellung von Berichten usw. Die Administratoren auf der Kundenseite können alle Funktionen jedes Tenants vom zentralen Panel aus steuern und ausführen, ohne sich in das Konto des Tenants einloggen zu müssen.
- Mieterportal
Ein Teil des Systems, der direkt von Kasinos und ihren Mitarbeitern genutzt wird, die eine eindeutige Zugangs-URL erhalten. Das Tenant-Panel ist in zwei Teile gegliedert: 1) Administratives Panel, in dem Endkunden-Administratoren Benutzer (Kasinomitarbeiter) einzeln oder durch Massen-Upload von XLS-Dateien/Übermittlung von JSON-Dateien über öffentliche API-Aufrufe anlegen, Benutzer verwalten, Lektionen und Kurse erstellen/verwalten und zuweisen, Umfragen erstellen und Berichte generieren können; 2) Lernenden-Panel, in dem Benutzer die vom Administrator zugewiesenen Kurse belegen. Es umfasst ein Benutzer-Dashboard, das es dem Lernenden ermöglicht, die Kurse zu sehen, für die er eingeschrieben ist; eine Kursseite, um nach Kursen zu suchen und die Liste aller bestehenden Kurse im Mieter zu sehen; einen Kalender und einen Messenger.
Kurse
Kurse können allgemein, nach US-Recht vorgeschrieben oder mieterspezifisch sein. Der Kunde bietet Kasinos allgemeine Kurse gegen Bezahlung an, indem er sie in das Mieter-Panel hochlädt und sie einem bestimmten Mieter oder mehreren Mietern gleichzeitig zuweist. Einige Beispiele für allgemeine Kurse sind Sicherheitsschulungen für Mitarbeiter, Sensibilisierung für verantwortungsvolles Spielen, Sensibilisierung für Cybersicherheit, Konfliktmanagement für bessere Leistung, Mobbing am Arbeitsplatz und Prävention von Falschgeld. Jeder Mieter kann auch seine eigenen Lektionen und Kurse erstellen und sie Lernenden zuweisen.
Kurse bestehen aus mehreren Lektionen, die Videolektionen mit der Möglichkeit, Links zu externen Lernmaterialien, PDFs, Präsentationen und SCORM-Paketen anzuhängen, umfassen können. SCORM-Pakete sind ZIP-Archive mit Daten (HTML, CSS, JS-Code), die durch den SCORM-Standard definiert und von der integrierten Rustici-Engine gestartet werden. Die Rustici-Engine stellt die Kommunikationsmethode und die Datenmodelle zur Verfügung, die eine Zusammenarbeit zwischen den Lerninhalten und dem LMS ermöglichen. Dadurch können Endkunden selbst Kurse erstellen oder anpassen (z.B. neue Sprachen hinzufügen) und diese anderen Nutzern anbieten. Mieterspezifische Kurse können während ihrer Erstellung angepasst werden, indem notwendige Bedingungen definiert und Kursabhängigkeiten angewendet werden. So kann beispielsweise ein Kurs nicht abgeschlossen werden, ohne eine bestimmte Lektion zu absolvieren, oder er kann nicht gestartet werden, ohne einen anderen Kurs zu absolvieren.
Jeder Kurs kann eine Umfrage enthalten - einen Fragebogen mit Antwortmöglichkeiten (Richtig/Falsch, Multiple-Choice, Einfachantwort) mit Punktzahlen, die ausgefüllt werden müssen, damit ein Kurs als bestanden gilt. Die Mieter können die Reihenfolge der Lektionen oder die Punktzahl für das Bestehen jeder Lektion festlegen und den Versand eines Zertifikats nach Abschluss des Kurses konfigurieren.
Berichterstattung
Berichte beinhalten die Verfolgung von Systemaktivitäten und/oder vorgenommenen Änderungen. Standardmäßig stehen grundlegende Berichte zur Verfügung, die von Benutzern mit den entsprechenden Berechtigungen individuell erstellt werden können. Die Berichtsfunktionalität ist flexibel und für jeden einzelnen Benutzer anpassbar und bietet eine Abonnementoption. Bei der Erstellung eines Berichts können die Benutzer bestimmte Parameter auswählen und Filteroptionen anwenden, um nur die benötigten Felder anzuzeigen, mit der Möglichkeit, die Konfiguration zu speichern. Die Berichte können zum Beispiel die Studenten anzeigen, die einen Test bestanden oder nicht bestanden haben, Zuweisungen zu bestimmten Kursen verfolgen, einen Überblick über die erstellten Kurse geben, den Kursstatus anzeigen und so weiter. Berichte können Informationen über bevorstehende Fristen für das Bestehen bestimmter Kurse durch Lernende liefern, die nach Abteilungen und Berufsbezeichnungen sortiert werden können, oder Benutzeraktivitäten im System anzeigen. Für die Anpassung der Berichte nutzten wir die Criteria-API für Java - Abfragen, die auf Feldern und Filtern basieren, die ein Benutzer auswählt, werden zur Laufzeit dynamisch erstellt, wobei nur die benötigten Daten ausgewählt werden. Ein solcher Ansatz trug zur Optimierung der Datenverarbeitung bei, da weniger Arbeitsspeicher benötigt wurde.
Kursmatrix
Nach den Anforderungen des Kunden war es notwendig, eine große Flexibilität bei den Einstellungen für alle Funktionen mit mehreren Nutzungsvarianten zu bieten, um die Bedürfnisse des Endkunden zu erfüllen. Daher verfügt die Lösung über eine komplexe Logik im Backend, die eine große Anzahl von Einstellungen verarbeitet. Um diesen Prozess zu vereinfachen und die Möglichkeit von Fehlern auszuschließen, haben wir eine Kursmatrix-Funktionalität geschaffen.
Mieter können Tausende von Mitarbeitern haben, und der Prozess der manuellen Zuweisung von Kursen zu jedem einzelnen von ihnen und die Verfolgung ihrer Lernaktivitäten kann sehr zeitaufwändig sein, insbesondere, wenn man bedenkt, dass Mitarbeiter gelegentlich ihre Berufsbezeichnung ändern und/oder in andere Abteilungen wechseln können. Die Kursmatrixfunktionalität ermöglicht die Automatisierung und Systematisierung der Kurszuweisungen an Studenten innerhalb jedes Mandanten. Sie ermöglicht die Auswahl bestimmter Abteilungen und Berufsbezeichnungen, um den Mitarbeitern schnell und einfach Kurse zuzuweisen.
Durch das Hinzufügen von Kursen zur Kursmatrix haben Administratoren die Möglichkeit, bestimmte Abteilungen und Berufsbezeichnungen auszuwählen, Einschreibungen anzuzeigen, Start-, End- und Fälligkeitsdaten für die Einschreibung hinzuzufügen und so weiter. Admins können auch Ausnahmeeinstellungen für eine Einschreibung wählen, um die Weitergabe an bestimmte Benutzer einzuschränken (z. B. nicht erlaubt, wenn der Kurs in den letzten 90 Tagen belegt wurde). Nachdem ein Kurs oder eine Lektion einem neuen Benutzer zugewiesen wurde, überprüft das System automatisch, ob diese Lektion bereits von dem Benutzer bestanden oder ihm zugewiesen wurde.
Nach jeder Änderung veranlasst das System eine Neuberechnung aller Daten nach den erforderlichen Kriterien, um Fehler auszuschließen. So könnten beispielsweise 800 Einschreibungen mit 5000 zugewiesenen Benutzern neu berechnet werden. Wir haben einen separaten Microservice implementiert, der für die Neuberechnung aller Abhängigkeiten zwischen Kurszuweisungen zuständig ist. Das Komplexeste ist die Logik der Neuberechnung, die auf der Code-Ebene stattfindet und nicht mit Hilfe von Dienstprogrammen von Drittanbietern realisiert werden kann. Sie ermöglicht die Anpassung fast aller Funktionen - Benutzerprofile, Vorlagen und Berichtsfilterung, die Erstellung verschiedener Arten von Lektionen und Kursen mit unterschiedlichen Bedingungen für deren Bestehen, die Automatisierung der Zuweisung von Kursen usw. Infolgedessen stellt die Logik stark verknüpfte Komponenten dar, die voneinander abhängen - die Änderung der Einstellungsoptionen eines Kurses kann dazu führen, dass Tausende von zugewiesenen Kursen neu berechnet werden.
Nach dem Hinzufügen neuer Tenants mit Tausenden von Nutzern ist die Anzahl der Abhängigkeiten einer Komponente von einer anderen (oder von sich selbst) im Laufe der Zeit erheblich gestiegen, was die Verarbeitungszeit verlangsamt hat. Manchmal konnte die Verarbeitung einer solchen Matrix bis zu 12 Stunden dauern. Es ist uns gelungen, die Zeit für die Neuberechnung der Ausgangsdaten durch Optimierung des Codes und Änderung der Algorithmen zu optimieren. Anstatt den gesamten Zyklus zu verarbeiten und alle Systemkomponenten auf Aktualisierungen zu prüfen, ermöglichten wir es dem System, automatisch Verarbeitungsbereiche mit Datenaktualisierungen zuzuweisen und die bereits geprüften Bereiche zu überspringen, sie entsprechend zu markieren und sich auf die Suche nach Engpässen und deren Behebung zu begeben. Auf diese Weise konnte die Datenverarbeitungszeit von über 800 Anmeldungen um das 200-fache reduziert werden.
QA
Um das Risiko fehlender Fehler zu minimieren, führte das QA-Team von Itransition folgende QA-Aktivitäten durch:
- Testdesign - Schreiben der Testdokumentation, vollständige Abdeckung der Funktionalität durch Tests
- Testen neuer Funktionen - Funktions- und GUI-Tests eines neuen Funktionssatzes
- Fehlervalidierung, durchgeführt für alle Fehler mit dem Label NFT oder auf Wunsch des Kunden für Fehler mit anderen Labels
- Regressionstests - das Testen bestehender Funktionen, die nach Änderungen am System betroffen sein könnten
- Rauchtests- Abnahmetests, die in der Vorproduktionsumgebung nach Durchführung aller oben genannten Schritte durchgeführt werden
Basierend auf der Aufgabenstellung können folgende Testsequenzen unterschieden werden:
- Neue Funktionalität (keine Abhängigkeiten mit der bestehenden Funktionalität): Testdesign - NFT - DV - Smoke Testing
- Neue Funktionalität (mit Abhängigkeiten zur bestehenden Funktionalität): Testdesign - NFT - Regressionstest - DV - Smoke-Testing
- Aktualisierung einer bestehenden Funktion: Testentwurf (falls erforderlich) - Regressionstests - DV - Smoke-Testing
Integrations- und Unit-Tests wurden in Java und Kotlin geschrieben. Für manuelle Tests haben wir folgende Tools verwendet:
TestRail Erstellen, Aktualisieren, Speichern und Weiterleiten von Tests |
BrowserStack Testen auf verschiedenen Geräten, Browsern und Betriebssystemversionen |
Postman API-Testsystem zur Verwaltung von Systembenutzern über API (Erstellung, Aktualisierung) |
Virtuelle Maschinen Testen auf verschiedenen Betriebssystemen |
DevTools Fehlerverfolgung, Konfiguration/Verwaltung des Datenverkehrs, Arbeit mit verschiedenen Geräten und Bildschirmauflösungen |
Technologien
Architektur
Die Lösung hat eine gemischte Architektur. Zunächst wurde sie als monolithischer Dienst konzipiert, in dem die wichtigste Geschäftslogik konzentriert ist, wie das Erstellen und Verwalten von Kursen, Benutzern und Einschreibungen. Später begannen wir, entsprechend den Best Practices neue Funktionen in Form von separaten Microservices hinzuzufügen. Die Lösung umfasst sechs Microservices für Funktionen wie Kursmatrix, Reporting, Zertifikatserstellung, Scheduler, Reporting Scheduler und Benachrichtigungsdienste. Die Aufteilung neuer Funktionen in Microservices ermöglicht eine bessere Überwachung und Verfolgung der Dienste und verbessert die Leistung der Gesamtlösung.
Die Lösung wurde in Java und Kotlin geschrieben. Das Backend wurde mit dem Spring-Framework erstellt, während wir für das Frontend Angular verwendet haben. Als Datenbank haben wir PostgreSQL gewählt. Für die Berichterstellung unterhalten wir eine separate Datenbank, da die Berichterstellung viel RAM verbraucht. Sie dient auch als Lese-Replikat der Hauptdatenbank, um die Leselast zu skalieren, die Leistung der Lösung zu erhöhen und als Wiederherstellung zu dienen. Das Spring-Security-Framework sorgte für die Authentifizierung, Autorisierung und Verwaltung von Benutzerrechten, wobei die Funktionalität entsprechend aktiviert oder eingeschränkt wurde. Hibernate ermöglichte die Interaktion der Lösung mit der Datenbank. Docker ermöglichte die Auslieferung der Software in Containern.
Das LMS ist mit den folgenden Diensten integriert:
Auth0 SDK + REST API |
Identitätsanbieter, der die einmalige Anmeldung von den eigenen Systemen der Mieter am LMS ermöglicht. |
Fullstory SDK |
Kundenerfahrungsplattform, die alle Benutzeraktivitäten auf der Benutzeroberfläche verfolgt. |
ChurnZero REST API + SDK |
Plattform zur Verwaltung des Kundenerfolgs, die Daten über den gesamten Kundenlebenszyklus hinweg punktuell verfolgt, z. B. Erstellen eines Kurses, Benutzer, Anmeldung im Mieterportal usw. |
Rustici engine |
Verwaltung und Start von SCORM-Paketen, Sicherstellung der Konformität mit dem SCORM-Standard und Definition der Kommunikation zwischen Bildungsinhalten und dem LMS. |
AWS-Infrastruktur
Unter Berücksichtigung der Leistungs- und Skalierbarkeitsanforderungen für die Lösung schlugen wir vor, die Infrastruktur der Lösung auf AWS zu hosten. Amazon EC2 bot Rechenkapazität für den Betrieb von zwei LMS-Serverinstanzen (mit sieben separaten Diensten auf jeder) und zwei SCORM-Serverinstanzen. Die Verwendung von zwei Servern für jede Instanz ermöglicht die Verteilung der Last zwischen ihnen. Die LMS-Server enthalten die Hauptlogik, wie z. B. das Starten eines Kurses, die Zuweisung eines Benutzers zu diesem, das Auschecken von Berechtigungen usw. Amazon S3 dient als Cloud-Objektspeicher mit öffentlich zugänglichen (Frontend) und privaten (Backend, enthält von Endkunden hochgeladene Assets wie Videos, PDFs, SCORM-Pakete usw.) Buckets. Für den Betrieb der Datenbanken (Haupt-, Berichts- und SCORM-Datenbank) in der Cloud nutzen wir Amazon RDS. Die Datenisolierung zwischen verschiedenen Tenants erfolgt auf Code-Ebene in der Datenbank durch ein Add-In. Alle Anfragen an die Mehrzahl der Instanzen werden nach Tenant-IDs gefiltert, und nur die Anfragen, die einer bestimmten Tenant-ID entsprechen, werden ausgewählt. Elastic Load Balancer (ELB) ermöglicht die Lastverteilung zwischen Servern. Es gibt zwei ELBs - der Haupt-ELB ist für die LMS-Server zuständig und der zusätzliche ELB kümmert sich um die Anfragen an die SCORM-Server (z. B. das Starten eines SCORM-Pakets). Amazon Route53 fungiert als DNS-Dienst und ermöglicht das Daten-Routing. Amazon CloudFront dient als CDN, das Frontend-Dateien und die Assets an Edge-Standorten zwischenspeichert. CloudFront beschleunigt die Interaktion zwischen Benutzer und Website und dient als Caching-System für jede Region, um ein wiederholtes Herunterladen von Daten zu vermeiden, wenn ein Benutzer aus einer bestimmten Region bereits auf die Website zugegriffen hat. Als Message Broker, der die Kommunikation zwischen den Microservices ermöglicht, haben wir den Amazon SQS Message Queueing Service eingesetzt. Amazon SNS ermöglicht den Versand von Benachrichtigungen, und für den E-Mail-Versand verwenden wir Amazon SES.
Als AWS-Advanced-Consulting-Partner und bestätigter AWS-Well-Architected-Partner nutzt Itransition seit mehreren Jahren das AWS Well-Architected Framework (WAF), um zuverlässige, leistungsstarke und sichere AWS-basierte Systeme aufzubauen.
Als Teil des technischen Koordinationsprozesses führt das CTO-Büro von Itransition regelmäßig Projektaudits durch, um die Qualität der im Unternehmen entwickelten Projekte zu kontrollieren. Um den aktuellen Stand der Lösung zu analysieren und zusammenzufassen, die Architektur anhand der AWS Well-Architected Best Practices zu messen und verbesserungswürdige Bereiche zu identifizieren, haben wir die AWS Well-Architected Review (WAFR) durchgeführt. Die Ergebnisse der WAFR helfen dem Kunden, fundierte Entscheidungen darüber zu treffen, wie er Risiken verringern oder Verbesserungen vornehmen kann, um die gewünschten Vorteile zu erzielen, und die Vor- und Nachteile der Entscheidungen zu verstehen, die er beim Aufbau des Systems trifft.
Der WAF-Experte von Transition, ein Leiter des Projektteams und ein Wirtschaftsanalytiker nahmen an der WAFR teil. Gemeinsam füllten sie einen Fragebogen aus und führten die Bewertung der Lösung mit Hilfe des AWS Well-Architected Tools durch. Während der WAFR-Ausführung belief sich die Gesamtzahl der bewerteten Kategorien auf 58. Als Ergebnis der Überprüfung erstellte das AWS Well-Architected Tool einen Bericht über mögliche Verbesserungen, in dem die Systemprobleme nach Schweregrad und Wichtigkeit aus Sicht von AWS priorisiert wurden. In mehreren Kategorien wurden keine möglichen Verbesserungen ermittelt. Hier sind einige Beispiele für die Vorschläge des Tools und unsere Verbesserungen:
- Die Lösung so gestalten, dass ihr Zustand leicht zu verstehen ist
Wir haben ein Telemetrie-Tool für die Anwendung und die Benutzeraktivität integriert, um Daten über die Nutzung und Leistung der Anwendung und ihrer Komponenten zu sammeln. - Verständnis des Betriebszustands der Lösung
Wir definieren, sammeln und analysieren Betriebsmetriken und richten Warnmeldungen ein, wenn Betriebsanomalien festgestellt werden. Itransition hat dem Kunden alle Werkzeuge an die Hand gegeben, um ein vollständiges Bild des Betriebszustands der Lösung zu erhalten, das er zusammen mit unserem Projektteam regelmäßig überwacht. - Schutz der Daten während der Übertragung
Unser Team sorgt dafür, dass die Kommunikation zwischen den Ressourcen innerhalb der Lösung sowie die Kommunikation zwischen Endnutzern und anderen Diensten auf sichere Weise erfolgt. Zu diesem Zweck implementieren wir ein sicheres Schlüssel- und Zertifikatsmanagement, setzen die Verschlüsselung im Transit durch und authentifizieren die Netzwerkkommunikation. - Planung der Netzwerktopologie
Wir arrangieren die Elemente des Kommunikationsnetzwerks, indem wir hochverfügbare Netzwerkkonnektivität (DNS, CDN, Lastausgleich) für die öffentlichen Endpunkte der Lösung nutzen, die sich außerhalb des virtuellen Netzwerks befinden. Wir stellen auch sicher, dass die IP-Adressbereiche in Amazon VPC groß genug sind, um die Projektanforderungen zu erfüllen, wie z. B. die Erweiterung und Zuweisung von IP-Adressen an Subnetze über AWS Availability Zones. - Konfiguration der Netzwerklösung
Wir setzen Elastic Load Balancing ein und nutzen das Encryption Offloading, was bedeutet, dass Load Balancer sich um die TLS/SSL-Prozesse kümmern, um die Leistung des Webservers nicht zu beeinträchtigen.
Auf der Grundlage der erhaltenen Informationen erstellte unser WAF-Experte einen individuellen Bericht, der die Besonderheiten des Projekts berücksichtigte und die Bedürfnisse und Prioritäten des Kunden im Auge behielt. Letztendlich haben wir ein Verbesserungspaket erstellt, das zu einem schnellen und stetigen Wachstum der Lösung beitragen wird, indem es operative Exzellenz, Sicherheit, Zuverlässigkeit, Leistungseffizienz, Nachhaltigkeit und Kostenoptimierung gewährleistet.
Ergebnisse
Das von Itransition gelieferte LMS half Casino Essentials, seinen Kundenstamm innerhalb von sechs Jahren mehr als zu verdoppeln. Eine 200-fache Leistungssteigerung bei der Verarbeitung von Matrixdaten steigerte die Kundenzufriedenheit und ermöglichte es, die Zahl der Kunden weiter zu erhöhen, ohne die Benutzerfreundlichkeit zu beeinträchtigen.
Schließlich nahm Vector Solutions, ein Unternehmen für eLearning und Performance Support, die Plattform als führende Schulungs- und Compliance-Lösung für die Glücksspielbranche in sein Portfolio auf. Der Kunde erhält durch die gelieferte Lösung einen jährlichen Vertragswert von rund 3,5 Millionen Dollar.
Dienstleistungen
LMS-Beratung
Finden Sie heraus, wie die LMS-Beratungsdienste von Itransition Ihnen helfen können, die Herausforderungen der Entwicklung und Implementierung von eLearning-Software zu meistern.
Fallstudie
LMS-Lösung mit ERP-Merkmalen für ein eLearning-Unternehmen
Erfahren Sie, wie Itransition eine Odoo-basierte LMS-Lösung entwickelt hat, die es dem Kunden ermöglicht, Elternbildung online anzubieten.
Einblicke
Mit eLearning in Unternehmen die Weiterbildung der Mitarbeiter neu denken
Lassen Sie uns über die Vorteile von eLearning für Unternehmen, die wichtigsten Softwarelösungen, die neuesten Techniktrends und Tipps für die Umsetzung diskutieren.
Fallstudie
Maßgeschneiderte Konferenzmanagement-Software für eine Bildungsgesellschaft
Erfahren Sie, wie Itransition eine maßgeschneiderte Software für das Konferenzmanagement entwickelt und mit maßgeschneiderten Modulen zur Automatisierung der Veranstaltungsorganisation angereichert hat.