boy watching a video

Case Study | Bildung

Edredo durch progressive Drupal 9 Migration transformiert

Kundenhintergrund

Edredo ist eine soziale Plattform, die über 90.000 Studierende und junge Berufstätige mit Branchenspezialisten für Karriereentwicklung und Kompetenzaufbau verbindet. Mit dem Fokus auf kollaboratives Lernen und Lehren bietet Edredo durch seinen innovativen Ansatz für erfahrungsbasiertes Lernen, Gamification und Benutzerfreundlichkeit ein einzigartiges und ansprechendes Ed-Tech-Erlebnis.

OpenSense Labs unterstützte Edredo bei der Migration zu einer entkoppelten Drupal 9-Anwendung durch einen progressiven Ansatz, der einen nahtlosen Übergang ohne Unterbrechung des Endbenutzererlebnisses gewährleistete.

edredo.com besuchen →

Edredo Migration to Drupal 9 Decoupled Application OpenSense Labs

Beschreiben Sie das Projekt (Ziele, Anforderungen und Ergebnis):

Edredo arbeitete mit OpenSense Labs für die Entwicklung und Migration zu Drupal 9 zusammen. Ziel war es, Funktionen und Features zu verbessern und gleichzeitig auf die neueste Version zu aktualisieren, um einen Last-Minute-Ansturm zu vermeiden.

Edredo, als ein sehr anspruchsvolles Produkt, befand sich mitten in der Feature-Entwicklung auf Drupal 7. Ein Upgrade von Drupal 7 auf 9 ist kein einfaches Update, sondern ein kompletter Neuaufbau. Um dies zu bewältigen, standen dem Edredo-Management zwei Optionen zur Wahl: die gesamte Drupal-7-Entwicklung einzustellen und auf die Migration zu Drupal 9 zu warten, oder sowohl die Drupal-7- als auch die Drupal-9-Entwicklung zu unterstützen, in der Hoffnung, dass der Drupal-8-Neuaufbau irgendwann den aktuellen Funktionsumfang erreichen würde. Beide Optionen waren zeitaufwendig und ineffizient, was OpenSense Labs dazu veranlasste, einen progressiven Migrationsansatz zu implementieren, der den Prozess stark optimierte und die Kosten senkte.

Prozess und Lösung

Die frühere Version von Edredo in Drupal 7 hatte eine progressiv entkoppelte Architektur, wobei etwa 60 % ihrer Komponenten in React-Blöcke aufgeteilt waren, die die sitzungsbasierte REST-API von Drupal Services nutzten. Um die entkoppelte Architektur vollständig zu nutzen, entschied sich das Team, auf NextJS als Frontend-Framework umzusteigen. Diese Wahl wurde durch die Server-Side-Rendering-Fähigkeiten von NextJS und das verbesserte SEO-Potenzial motiviert.

Die Entscheidung, Edredo auf eine Microservice-Architektur umzustellen, wurde getroffen, um die Gesamtfunktionalität und Leistung zu verbessern. Die Microservices, darunter die Feed-Stream-App, der Emailer, die Quiz-App, die Medien- und die interaktive Video-App, wurden ausgewählt, um spezifische Bedürfnisse und Funktionen der Plattform zu erfüllen. Dieser Ansatz ermöglichte eine flexiblere und skalierbarere Lösung, da jeder Microservice unabhängig entwickelt und gewartet werden konnte, ohne die Leistung anderer Teile des Systems zu beeinträchtigen.

Darüber hinaus ermöglichte die Microservice-Architektur Edredo, der steigenden Nachfrage nach einem personalisierten und interaktiven Lernerlebnis besser gerecht zu werden. Die Quiz-App und die interaktive Video-App wurden entwickelt, um ein ansprechenderes und interaktiveres Lernerlebnis zu bieten, während die Feed-Stream-App, der Emailer und die Medien die Kommunikation und Zusammenarbeit zwischen Dozenten und Studierenden verbessern sollten.

Insgesamt half der Umstieg auf eine Microservice-Architektur Edredo, sein Ziel zu erreichen, hochmoderne virtuelle Klassenzimmer bereitzustellen und die Silos monotoner Online-Kurse aufzubrechen. Durch den einfachen Zugang zu den besten interaktiven Technologien ermöglichte die Plattform Dozenten und Institutionen, ein einzigartiges digitales Lernökosystem zu kuratieren und so ein personalisiertes und gemeinschaftliches Lernerlebnis zu fördern.
Die laufende Entwicklung von Edredo konzentriert sich darauf, einige dieser Dienste auf eine serverlose Architektur mit AWS Lambda umzustellen.

Das Folgende ist das sehr hochrangige Architekturdiagramm, das zeigt, wie die Kommunikation zwischen verschiedenen Anwendungskomponenten abläuft. Nach der Authentifizierung mit Firebase.

Edredo Architecture Building Process and Solution OpenSense Labs

OpenSense Labs Ansatz

Dafür haben wir den folgenden Ansatz gewählt:

  1. Mithilfe von entkoppeltem Drupal begannen sie, einige Teile der Website auf Drupal 9 zu aktualisieren, während andere Teile noch auf Drupal 7 liefen.
  2. Für die Authentifizierung wählten wir ein Drittanbieter-Tool, Firebase.
  3. Sobald eine Funktion vollständig in Drupal 9 bereit ist, werden die APIs auf der API-Routing-Ebene aktualisiert und eine kleine, gezielte Datenmigration durchgeführt.
  4. Das gesamte Update ist für den Endnutzer vollständig abstrahiert.

Um eine nahtlose Entwicklung und Aktualisierung zu gewährleisten, wählte Edredo einen hybriden Ansatz, indem sowohl Drupal 7 als auch Drupal 9 genutzt wurden. Dieser Ansatz ermöglichte es, dass die Website während des Upgrades funktionsfähig blieb.
Bei OpenSense Labs haben wir die Erwartungen des Kunden übertroffen, indem wir nicht nur die erforderlichen Dienstleistungen erbrachten, sondern auch zusätzliche Vorteile boten. Unser Ziel war es, ein hochwertiges Nutzererlebnis zu liefern.

Innerhalb von 64 Arbeitstagen konnten wir die erste Produktionsversion fertigstellen, die nicht nur dreimal mehr Nutzer als die vorherige Infrastruktur bediente, sondern auch optimal funktionierte.
OpenSense Labs nutzte JIRA und Slack intensiv für das Ticketing und andere Kommunikationszwecke.

Edredo Seamless Development and Upgrade OpenSense Labs

Ergebnisse

  1. Ein umfassendes Lernmanagementsystem wurde auf Drupal 9 mit einem Drupal-Backend und NextJS sowie Flutter (für Mobilgeräte) im Frontend aufgebaut.
  2. Verbesserte Zuverlässigkeit dank Microservice-Architektur
  3. Unendliche Skalierbarkeit auf Serverless-Architektur
  4. Bessere UX mit ANT Design.
  5. Unübertroffene SEO-Kompatibilität dank serverseitigem Rendering von NextJS.
  6. Die Migration von monolithischen zu Microservices erhöhte die Skalierbarkeit der Website, optimierte Ressourcen und verbesserte die Zusammenarbeit.
  7. Flutter ermöglicht die Entwicklung plattformübergreifender Apps, die sowohl auf Android- als auch auf iOS-Geräten laufen können. Die Flutter-Entwicklung ermöglichte es uns, die Projektkosten zu senken und eine skalierbare und pixelgenaue Plattform zu liefern.