Seite auswählen

Millionen von Menschen auf der ganzen Welt greifen auf die Web-Eigenschaften der OpenStack Foundation (OSF) zu, um mehr über die offene Infrastruktur zu erfahren. Diese Nutzungsstufe erfordert eine Plattform und Toolsets, die schnell, flexibel und erschwinglich sind – und hier kommt Open Source ins Spiel. Darüber hinaus integrieren wir natürlich Open Source-Technologien, da wir für eine Open Source-Software-Grundlage arbeiten alles, was wir tun, einschließlich Webentwicklung.

Überlegungen zur Webentwicklung

Wenn wir über Webentwicklungstechnologien nachdenken, müssen wir berücksichtigen, wie wir unsere Software-Lebenszyklen verwalten. Die gesamte Softwareentwicklung umfasst eine Art Lebenszyklusmanagement mit der Möglichkeit, den Code zu planen, zu analysieren, zu entwerfen und zu implementieren. Unser Webentwicklungsteam arbeitet normalerweise im laufenden Betrieb, oft unter engen Fristen, und mit anderen Abteilungen. Das bedeutet, dass unsere Anforderungen und unser Workflow flexibel genug sein müssen, um schnelle Iterationen, Aktualisierungen und Korrekturen zu ermöglichen. Ich würde lieber schnell etwas herausschieben und, falls nötig, wieder hineingehen und die Dinge nachträglich pixelgenau machen.

Unser Team muss auch alle an der Website beteiligten Stakeholder berücksichtigen, einschließlich unserer talentierten Marketingteams, die mit Git-Workflows nicht vertraut sind. Das hat uns, wie viele andere auch, dazu veranlasst, ein Content Management System (CMS) zu verwenden, damit diese Profis Updates vornehmen können, ohne Git verwenden zu müssen.

Aufbau einer CMS-agnostischen Webarchitektur

Um diesem Bedürfnis nach Flexibilität gerecht zu werden, haben wir uns traditionell auf ein Open-Source-CMS, SilverStripe, verlassen . Unsere Anforderungen sind jedoch schnell über das System hinausgewachsen. Daher haben wir eine eigenständige API erstellt und statische Microsites mit React JavaScript-Komponenten verwendet, um Daten in benutzerdefinierte Präsentationsebenen zu ziehen. Wir verwenden dieses System in allen Bereichen, von mobilen Apps über Websites bis hin zu digitalen Schildern. Dies ist als Jamstack- Architektur bekannt geworden. Wir fanden, dass dieses Modell so erweiterbar war, dass wir unsere Daten überall hin verschieben konnten, während wir CMS-unabhängig waren.

Bei der Einführung dieses API-gesteuerten Workflows haben wir festgestellt, dass unsere Daten an vielen verschiedenen Orten verwendet und auf viele verschiedene Arten dargestellt wurden. In unseren sieben Web-Eigenschaften teilen wir alles von Grafiken bis hin zu dynamischen Inhalten. Ein Standard-CMS kann dies nicht ohne viel benutzerdefinierte Entwicklungsarbeit zusammen mit Cron-Jobs oder kostspieligen Datenbankabfragen tun.

Wenn die Dinge API-gesteuert sind, können Sie über eine Vielzahl von Plattformen auf all diese verschiedenen Datensätze zugreifen und gleichzeitig Ihre Infrastruktur weitgehend vor großen Verkehrsspitzen schützen. Beispielsweise arbeitete das OSF mit Tipit , dem digitalen Design- und Entwicklungspartner des OSF, zusammen, um eine vollständig Open-Source-End-to-End-Event-Management-Software zu entwickeln. Unsere Veranstaltungsdaten werden auf Webseiten, mobilen Apps und Digital Signage dargestellt. Es sind dieselben Daten, die von einem einzigen Ort aus verwaltet werden, jedoch mit unterschiedlichen Präsentationsebenen, Formaten und Plattformen.

Open Source Identity Access Management

Ein Eckpfeiler für die Umstellung auf eine dezentrale Jamstack-Architektur ist die Notwendigkeit, Identitäts- und Zugriffsrechte festzulegen. Wenn Sie JavaScript verwenden, um Dinge in einer API aufzurufen, müssen Sie möglicherweise eine Authentifizierung und Autorisierung durchführen. Daher mussten wir den Identitätsanbieter von jeder einzelnen Implementierung trennen. Hierfür gibt es zwei Konzepte: Identität (authN) und Identitätszugriffsverwaltung (authZ). Der Identitätsanbieter bestätigt, wer Sie sind, während die Zugriffsverwaltung bestätigt, welche Rollen und Berechtigungen Sie für verschiedene Aufgaben benötigen. Eine der ersten Anforderungen bei der Entwicklung der Event-Management-Software war die Einrichtung eines eigenständigen Identitätsanbieters.

Geben Sie OpenStackID ein , eine OpenID Connect with oAuth2 SSO-Lösung. OpenStackID war ursprünglich eine sicherere Möglichkeit für Benutzer, sich bei Openstack.org anzumelden und ihre Profile zu verwalten. Selbst wenn die Anzahl der von uns verwalteten Websites und Ereignis-Apps zunimmt, entsteht eine nahtlose Authentifizierungserfahrung für Benutzer. Mit dem Abschnitt für die Zugriffsverwaltung können wir eigenständige reaktionsbasierte Apps erstellen, die mithilfe des Identitätsanbieters bestimmen, ob ein bestimmter Benutzer die Rechte hat, die gewünschten Aktionen in dieser bestimmten Anwendung auszuführen.

Eine Sache, die allen durch den Kopf geht – insbesondere in einer globalen Open Source-Community – ist die Privatsphäre. Dies ist ein wichtiger Faktor bei der Erstellung unserer Web- und Ereigniseigenschaften. Mit OpenStackID können sich Benutzer bei ihrem OpenStackID-Konto anmelden und Anwendungsberechtigungen über die OAuth 2-Konsole festlegen. Wenn sie entscheiden, dass ihre App nicht mehr mit ihrer OpenStackID verknüpft werden soll, können sie einfach Berechtigungen entfernen.

Zum Beispiel haben wir Benutzer für unsere Veranstaltungen, die nicht möchten, dass ihre persönlichen Daten mit ihrer Anwesenheit auf unseren Konferenzen in Verbindung gebracht werden. Bei der Einrichtung der Plattformen werden alle personenbezogenen Daten sicher auf dem OpenID-Server verwaltet und nicht zwischen Anwendungen geteilt, es sei denn, der Benutzer aktiviert dies strikt. Darüber hinaus teilen wir niemals Dinge wie die Ereignisse, an denen ein Benutzer teilnimmt, oder Teile seines Benutzerprofils, es sei denn, es ist vollständig anonymisiert oder sie erlauben es ausdrücklich, um mit den Four Open oder unserer Community-Philosophie in Einklang zu bleiben .

Bessere Webinfrastruktur mit Open Source

Durch die Berücksichtigung unserer Überlegungen und die Umstellung auf eine flexiblere Implementierung eines CMS konnten unsere Teams effektiver zusammenarbeiten. Am wichtigsten ist, dass wir weiterhin unseren Community-Werten folgen, indem wir dank Open Source-Technologie hervorragende Datenschutz- und Sicherheitsoptionen bieten.

Wenn Sie an unserem Ansatz interessiert sind, lesen Sie den Quellcode der OSF Foundation-Website . Sie können auch auf die folgenden Quellcode-Repos zugreifen