Wikipedia:Technik/Cloud

WikiMedia Cloud

Die WikiMedia Cloud ist ein Netzwerk neben dem Normalbenutzern zugänglichen Angebot, das für technische Anwendungen zu allen Wikis Daten und eine Plattform für Werkzeuge bereitstellt. Auf diesem Weg können freiwillige Entwickler und hauptamtliche WikiMedia-Mitarbeiter sowie Außenstehende mannigfaltige Direktnutzungen und auch Bearbeitungen der Wiki-Inhalte vornehmen, die nicht über den manuellen interaktiven Webbrowser abgewickelt werden.

KomponentenBearbeiten

Einige wesentliche für manche Wikipedianer sichtbare Komponenten sind:

  • Tools (vormals: „Labs Tools“), in der „Toolforge“
  • Dumps der Wiki-Datenbanken (bereinigt um nicht-öffentliche Daten)
  • BETA-Cluster

Das Netzwerk wurde seit 2017 nach und nach aufgebaut und im Frühjahr 2020 in den produktiven Einsatz überführt.

Der frühere Name „Labs“ für alles war der zunehmenden Differenzierung nicht mehr gewachsen und verdeutlichte die Unterschiede zwischen den Bereichen kaum.[1]

  • Hinzu kommt, dass das Kurzwort „Labs“ die Bedeutung und den Beigeschmack von „Experimentierfeld“ oder „Spielwiese“ hat, während es sich um robuste und langjährig eingeführte dauerhafte Anwendungen und Dienste handelt.
  • Unterschiedliche Domains ermöglichen eine stringentere Abgrenzung von Cookies und andere Verbesserungen der Sicherheitsaspekte, und auch die Auslastung bei starker Inanspruchnahme ist besser steuerbar, wenn von vornherein mehrere Server auf unterschiedlichen Domains die Anfragen verarbeiten. Die neue URL-Struktur kennt auch spezifische Subdomains für jede Werkzeugfamilie, wodurch noch trennschärfere Konfigurationen für starke Belastungen ermöglicht werden.

VPSBearbeiten

Diese Abkürzung meint „Virtual Private Server“. Freiwillige wie auch hauptberufliche Entwickler, die diesen Weg wählen, betreiben gewissermaßen einen Webserver für sich allein. Physisch ist das allerdings nur eine Anwendung, die auf einem Rechner der WMF läuft. Über Fernsteuerung wird dieser „Server“ kontrolliert und konfiguriert.

Im Unterschied dazu werden alle Werkzeuge der „Toolforge“ auf einem gemeinsamen derartigen VPS betrieben. Die Benutzergruppen zu den Werkzeugen haben jeweils ein von den Angehörigen der Benutzergruppe betriebenes Konto und ein zugehöriges Benutzerverzeichnis.

Nachstehend einige bekannte VPS-Anwendungen:

DomainsBearbeiten

Die Cloud verwendet in erster Linie die nachfolgenden Domains:

  • .wmflabs.org – seit 2012; alte URL sollen weiterhin unterstützt werden
  • .toolforge.org – seit 2018; Domain für alle klassischen Werkzeugkästen (die nicht VPS sind)
  • .wmfcloud.org – reservierte Domain für zukünftige weitere neue Organisation

Bisher gab es nur eine einzige Subdomain tools.wmflabs.org – über diese mussten sämtliche Zugriffe auf Werkzeuge abgewickelt werden.

  • Über .wmflabs.org hat bereits jede VPS-Anwendung eine eigene Subdomain.
  • In .toolforge.org erhält nunmehr jeder Werkzeugkasten eine eigene Subdomain.

Die Zuweisung eigener Subdomains hat mehrere Vorteile für die Performance:

  • Jeder Subdomain kann eine eigene IP-Adresse zugeteilt werden, also jedem Werkzeugkasten.
  • Die physischen Server können explizit den Werkzeugkästen zugeteilt werden; also die besonders stark nachfragenden Werkzeuge können einen eigenen Hardware-Server erhalten, oder es teilen sich zwei Werkzeuge eine reale Maschine. Alle selten benutzten oder inzwischen deaktivierten Werkzeuge können auf einem Server für den Rest und die Grundlast abgearbeitet werden.
  • Wenn ein Werkzeug immer den identischen physischen Server benutzt und häufig frequentiert ist, dann könnte es auch als Dämon konfiguriert werden und effizienter (permanent) arbeiten, als wenn das Werkzeug auf verschiedensten Maschinen für jede Anfrage neu gestartet wenden muss.

Da Cookies üblicherweise pro Subdomain geschrieben werden und unter .toolforge.org jeder Werkzeugkasten eine eigene Subdomain verwendet, können Werkzeuge nicht mehr gegenseitig ihre Cookies mitlesen. Bei tools.wmflabs.org teilten sich alle Werkzeuge dieselbe Subdomain und auch alle Cookies.

DatenbankenBearbeiten

In der Cloud werden auch Datenbanken betrieben, die die Inhalte der echten Wikis abbilden.

  • Es handelt sich dabei grundsätzlich um öffentliche Inhalte. Das bedeutet, dass folgende Tabellen und Datensätze der echten Wiki-Datenbanken versteckt werden:
    • Tabellen mit geschützten Benutzerinformationen, wie über die Beobachtungsliste und Konto-Einstellungen, E-Mail-Adresse und dergleichen; die Login-Informationen und die Passwort-Verifikation erfolgen ohnehin über einen separaten Server;
    • Zugriffsdaten, die nur Checkusern zugänglich sein dürfen;
    • Durch Administratoren und Oversighter versteckte Eintragungen.
  • Einige Datenbanken enthalten außerdem nur die Meta-Informationen, also nur das Versionslog und die Bearbeitungskommentare zu einer Seite, nicht aber die eigentlichen Inhalte; außerdem die Informationen über interne und externe Verlinkungen.

Die Dumps werden ebenfalls von den Cloud Services bereitgestellt.

Zusätzlich kann jeder Bot, jedes Werkzeug für eigene Zwecke private Datenbanken im eigenen Nutzerbereich anlegen; diese möglicherweise über ein Werkzeug oder allgemein öffentlich machen.

DatenschutzBearbeiten

Siehe: Datenschutz.

Unterschied zur APIBearbeiten

Die API ist Teil jeder (auch privaten) Installation der MediaWiki-Software. Sie ist eine reine Software-Schnittstelle, die von den Entwicklern der sonstigen Wiki-Software integriert mitgeliefert wird.

Hingegen ist die Cloud eine separate Hardware-Infrastruktur, also ein Netzwerk von Servern, und wird den berechtigten Akteuren durch die WMF zur Verfügung gestellt; außerdem eine Abrufmöglichkeit für bereinigte vollständige öffentliche Wiki-Datenbanken.

Die Abfrage der API dagegen erfolgt über die normale Domain des Wiki-Projektes. Sie verwendet keine zusätzlichen Datenbanken über den normalen HTML-Zugang für Browser hinaus.

Weitere InformationenBearbeiten

Wikitech: Cloud Services Introduction – Technische Infrastruktur (englisch)
Phabricator – Workboard: #Cloud-Services

AnmerkungenBearbeiten

  1. wikitech:Help:Labs labs labs (englisch)