Multi-Tenancy in Seafile

Multi-Tenancy in Seafile

Mit Multi-Tenancy ist es möglich, Seafiles File Sharing Funktionen in einer Seafile Professional Server Instanz mehreren Organisationen anzubieten. Die Organisationen oder Tenants (englisch für Mieter) teilen sich die Ressourcen des Servers, sind aber organisatorisch isoliert. Datei- und Ordnerfreigaben sind an Angehörige der gleichen Organisation möglich; Freigaben an Angehörige anderer Organisationen, wie es bei der Multi-Institutions Funktion möglich ist, ist bei Multi-Tenancy nicht möglich. In diesem Artikel beschreiben wir Zielgruppe, Einsatz und Verwaltung des Multi-Tenancy Features von Seafile.

Zielgruppe von Seafile in Multi-Tenancy

Multi-Tenancy richtet sich an Hosting Provider, die in einer Server Instanz mehrere Kunden verwalten wollen. Gegenüber einer “ein Kunde, ein System”-Politik bietet Multi-Tenancy Vorteile bei Installation, Wartung und Lizenzverwaltung.

Gerade für Hosting Anbieter, die ein “eigenes” File Sharing Produkt anbieten wollen, ist Multi-Tenancy attraktiv. Die Weboberfläche von Seafile als auch die Clients lassen sich weitgehend modifizieren und durchgehend an das eigene Design anpassen. Der individuellen Gestaltung steht somit ebenso wenig im Weg wie der Erfüllung von Corporate Design Richtlinien. Auch für solche Hosting Anbieter, die Seafiles Sync & Share Funktionen in Ihre bestehenden Webangebote integrieren wollen, ist Multi-Tenancy einen Blick wert. Ein bestehendes E-Mail Produkt, nur um ein Beispiel zu nennen, kann mittels Web API problemlos um Seafiles File Cloud Funktionen erweitert werden.

Mit Multi-Tenancy lässt sich auch das aufwändige Handling der Seafile Lizenzdateien vereinfachen. Das Multi-Tenancy System arbeitet mit einer einzigen Seafile Lizenzdatei unabhängig der gehosteten Organisationen. Anders als bei kundenindividuellen Installationen lassen sich so Schwankungen in der Nutzeranzahl besser ausgleichen und erfordern nicht zwangsläufig einen Austausch der Lizenzdatei.

Anders herum bietet sich Multi-Tenancy nicht für solche Fälle an, in denen Kunden eine individuelle, an Ihre Anforderungen angepasste File Cloud benötigen (z.B. Anwendung der Corporate Colors, Einbettung des Firmenlogos). Der Look von Seahub, dem Web-Interface von Seafile, lässt sich zwar sehr weitgehend individualisieren, Logo, Schriftarten, Color Code sowie Hintergrundbild des Logins werden aber auf Systemebene festgelegt und sind nicht für jeden einzelnen Tenant individuell anpassbar. Gleiches gilt, wenn der Kunde auf eine technische Separierung der Datenhaltung besteht.

Multi-Tenancy im Einsatz

Abgesehen von Benutzerrestriktionen, die sich aus der Software Lizenz ergeben, kennt ein Seafile Multi-Tenancy System keine Limits bezüglich der gehosteten Organisationen. (Wenn die Anzahl der aktiven Nutzer die Nutzer gemäß Lizenzdatei überschreitet, verweigert der Seafile Server den Start.) Eine ausreichend performante Plattform vorausgesetzt, kann eine Seafile Instanz Duzende oder auch Hunderte Organisationen mit Tausenden Nutzern managen.

Grundsätzlich gilt: Der System Administrator (System Admin) legt eine Organisation neu an und weist die organisationsspezifischen Limits (z.B. Quota, Benutzer) zu. Der erste Benutzer der Organisation ist der Administrator der Organisation (Org Admin). Seine Rolle ist die fortlaufende Benutzeradministration in der von ihm verantworteten Organisation.

Die fortlaufende Verwaltung der Organisation kann über Seahub, die graphische Benutzeroberfläche von Seafile, oder per API erfolgen. Mit der Erweiterung der APIs im Seafile Professional Server 6.3 stehen nun auch alle notwendigen Aufrufe zur Verfügung, um die Verwaltung eines Multi-Tenant Systems in bestehende Verwaltungstools zu integrieren und eine nutzungsabhängige Abrechnung zu realisieren.

Verwaltung per Web API

Auf Organisations- sowie auf Benutzerebene stehen dem System Administrator POST, GET, PUT und DELETE Calls zur Verfügung. Auf Organisationslevel hat er damit Zugriff auf die folgenden Funktionen:

  • Mit dem POST Call wird eine neue Organisation und deren Org Admin angelegt. Mit dem POST Call übergibt der System Admin außerdem Disk Quota in MB und das Benutzerlimit.
  • Mittels GET Call werden Status Informationen der Organisation abgerufen, darunter gesetzte Quota, Quota Usage, registrierte aktive Nutzer und die ID des Org Admins.
  • Nutzungsparameter der Organisation wie Benutzerlimit und Disk Quota lassen sich über den PUT Call modifizieren. Ebenfalls per PUT kann der Aktivitätsstatus oder der Name einer Organisation geändert werden.
  • Die Löschung einer Organisation erfolgt per DELETE Call.

Durch die Programiersprachenunabhängigkeit der API-Calls sind die Hürden für die Integration der Tenant-Verwaltung und Abrechnung innerhalb bestehender Strukturen gering. Mitsamt der analogen Aufrufe auf Benutzerebene bieten sich Hostern somit umfangreiche Möglichkeiten, unterschiedliche Abrechnungsmodelle umzusetzen. Klassische, benutzerbasierte Preismodelle lassen sich ebenso umsetzen wie speicher- oder traffic-basierte Preismodelle.

Multi Tenancy in Seafile

Verwaltung über Seahub

Über die graphische Benutzeroberfläche Seahub kann der System Admin einer neu angelegten Organisation nur eine Quota für den Datenspeicher zuweisen. Ein Benutzerlimit kann er nicht definieren.

Der System Admin kann kein Nutzer in der Organisation anlegen oder diese verwalten. In der Benutzerverwaltung kann er fortlaufend die registrieren Nutzern pro Organisation und deren Speicherbedarf überwachen.

Aktivierung von Multi-Tenancy

Die Aktivierung von Multi-Tenancy ist durch Parameter-Anpassungen in den Konfigurationsdateien seafile.conf und seahub_settings.py ohne Klimzüge gemacht. Das Seafile Manual enthält die Details. Nur der Vollständigkeit halb sei hier nochmals erwähnt: Multi-Tenancy ist ein exklusives Feature des Seafile Server Professional Edition. (Der Featurevergleich von Community und Professional Edition stellt die weiteren funktionalen Unterschiede zwischen den Editionen übersichtlich dar.)

Wenn File Cloud, dann Seafile!

Seafile ist die leistungsfähigste File Cloud am Markt. Mit Multi-Tenancy, Customizing-Möglichkeiten und leistungsfähiger API ist es die Lösung der Wahl für die Erweiterung bestehender Webservices um Sync & Share Funktionen.

Das datamate Team steht für eine detaillierte Beratung gerne zur Verfügung. Auch eine beschränkte Testlizenz können wir auf Nachfrage zur Verfügung stellen.

geschrieben von

Ralf Dyllick-Brenzinger