Trello, Slack, Dropbox & Co. selbst hosten

16. November 2021

Internetbasierte Kollaborationstools wie z. B. Trello, Slack oder Dropbox sind – nicht erst seit der COVID-19-Pandemie – aus dem modernen Arbeitsalltag nicht mehr wegzudenken. Insbesondere Applikationen internationaler Grosskonzerne gelangen regelmässig in Kritik, weil kein griffiger Datenschutz gewährleistet ist.

Sensitive Daten verlassen die nutzende Organisation und werden oft auch ins Ausland transferiert. Ein Kontrollverlust, welcher eine Verletzung von Personenschutzrechten oder eine missbräuchliche Verwendung von Unternehmensdaten bedeuten kann.

Dabei existiert eine Vielzahl von Alternativen, welche Sie selbst (on premise) oder bei einem Hoster Ihrer Wahl, z. B. in der Schweiz, betreiben können.

Wir haben im Rahmen eines 2-tägigen Hackathons angepackt und ausprobiert, ob das geht. Um es gleich vorwegzunehmen: Ja, das geht, und man muss nicht einmal eine IT-Firma zu sein, um das zu können. Zugleich haben wir die Chance genutzt, unser Wissen bzgl. Virtualisierung und Cloud Computing mit konkreter Praxiserfahrung zu ergänzen.

APP-Hackathon

Der vorgestellte Prototyp entstand im Rahmen eines Hackathons am diesjährigen APP-Firmenseminar. Während zweier Arbeitstage entwickelten wir einen bunten Strauss an kreativen und innovativen Tools und Ergebnissen.

Mehr zu den Hintergründen des Hackathons sowie weitere spannende Resultate finden Sie hier.

Das Team

Luca Feiner, Dimitri Gebhard, Andrea Heiniger und Matthias Sauterel, alle mit sehr unterschiedlichen Backgrounds, haben zusammen mit Thomas Strösslin in einem 2-tägigen Hackathon in die Tasten gegriffen, ausprobiert, getestet, aus Fehlern gelernt und Erfolge gefeiert.

Benötigte Infrastruktur

Folgende Infrastruktur wurde für den Hackathon vorbereitet:

Benötigte Infrastruktur

Abbildung 1: Benötigte Infrastruktur

  • Ein WLAN-Router mit Internet-Verbindung
  • Als Hypervisor (siehe Infobox) dienen zwei Laptops.
  • Die Clients sind über WLAN im selben Subnetz wie die beiden Hypervisor verbunden.

Unser «Rechenzentrum» besteht aus zwei handelsüblichen Laptops, welche via Ethernet mit dem WLAN-Router und dem Internet verbunden sind. Auf beiden physischen Maschinen läuft Debian Linux, einmal mit dem Xen Hypervisor und einmal mit KVM.

Hypervisor

Ein Hypervisor, auch Virtual-Machine-Monitor (VMM) genannt, ist eine Software-Komponente, welche eine physische Hardware abstrahiert und sogenannten Gast-Betriebssystemen eine virtualisierte Hardware präsentiert. Insbesondere werden CPU, Arbeitsspeicher, Festplatten und Netzwerk-Geräte zur Verfügung gestellt. So können auf einer einzigen physikalischen Maschine mehrere virtuelle Maschinen mit unterschiedlichen Betriebssystemen gleichzeitig laufen.

Beide Virtualisierungslösungen sind ausgereifte und weltweit eingesetzt Open-Source-Systeme. Ihre Funktionalitäten sind ähnlich, die unterschiedliche Architektur ist in der folgenden Darstellung erkennbar:

Architektur von Xen und KVM Virtualisierungslösungen

Abbildung 2: Architektur von Xen und KVM Virtualisierungslösungen

Der Xen Hypervisor nutzt eine spezielle Virtuelle Maschine (VM), «Control Domain» oder «Dom0» genannt, welche den direkten Zugriff auf die Hardware verwaltet und den Gast-VMs virtuelle Geräte zur Verfügung stellt.

KVM (Kernel-based Virtual Machine) ist eine Linux-basierte Virtualisierungstechnik, welche auf Hardware mit Virtualisierungserweiterungen läuft. Der Linux-Kernel beinhaltet die Hypervisor Funktionalitäten und stellt den VMs die virtualisierte Hardware zur Verfügung.

Vorgehen

Als Vorbereitung installieren wir auf den Clients Putty Secure Shell und VcXsrv Windows X Server. Putty brauchen wir, um uns auf unseren virtuellen Maschinen einloggen zu können und Befehle auszuführen. Für Programme mit grafischer Benutzeroberfläche sorgt VcXsrv für die Darstellung und Benutzerinteraktion auf unseren Laptops.

Zur Verwaltung von VMs verwenden wir virt-manager, eine grafisches Benutzerinterface, welches verschiedene Virtualisierungssysteme wie z. B. Xen und KVM unterstützt. Wir erstellen mehrere VMs, konfigurieren CPU, Arbeitsspeicher, Storage und Netzwerk und installieren Betriebssysteme. Nach ein paar Versuchen können wir vollautomatisch VMs erstellen und mit Debian Linux ausstatten. Wenn Rechenleistung oder der Speicher nicht ausreicht, können die VMs flexibel mit mehr Leistung bestückt werden.

Selbstgehostete Kollaborationstools

Im heutigen Geschäftsalltag erleichtern zahlreiche Funktionalitäten die digitale Zusammenarbeit: Projektablage, KANBAN Boards, gemeinsames Zeichnen oder Editieren von Dokumenten, Chat, Videokonferenzen usw.

Für unseren Prototyp entscheiden wir uns für Nextcloud, eine Produktivitätsplattform, welche unter anderem eine Chat-Funktionalität analog zu Slack sowie eine Dateiablage ähnlich zu Dropbox abdeckt. Als zweite Software verwenden wir Wekan, ein KANBAN-Board ähnlich zu Trello. Da beide Werkzeuge schon sehr ausgereift sind, ist die Installation / Konfiguration relativ einfach. Einziger Stolperstein war, die zu unserem System passende Installationsanleitung zu finden.

Für Nextcloud verwenden wir die Anleitung von Computing for Geeks:

  • MariaDB Datenbank Server installieren
  • PHP und Apache Web Server installieren
  • Nextcloud 22 für Debian herunterladen
  • Nextcloud Web Installer ausführen

Im Falle von Wekan verwenden wir die gemäss Anleitung empfohlene, komfortable Installation eines App-Pakets:

  • Wekan Paket installieren
  • Wekan URL und Port konfigurieren
  • Wekan starten

Wir verwenden je eine eigene VM (siehe folgende Abbildung), die beiden Werkzeuge funktionieren daher komplett unabhängig voneinander.

Virtuelle Maschine (VM)

Abbildung 3: Virtuelle Maschine VM

Beide Werkzeuge können nach dem Erstellen von Benutzern komfortabel und intuitiv zur Kollaboration verwendet werden. Für eine produktive Nutzung müssten die Systeme noch in eine firmeninterne Benutzerverwaltung angeschlossen sowie mit einer verschlüsselten Verbindung ausgestattet werden.

Fazit: Ihre Daten unter Ihrer Kontrolle

Unser Experiment hat gezeigt: Wenn Sie mit vertraulichen, schützenswerten Informationen arbeiten und dennoch von den Vorteilen von Online-Kollaborationswerkzeugen profitieren möchten, können Sie möglicherweise sowohl Produktivität als auch Datenschutz steigern.

Dabei müssen Sie diese Werkzeuge nicht einmal selbst hosten. Sie können auch einen Dienstleister Ihres Vertrauens beiziehen. Mit dem geeigneten Servicemodell steuern Sie, wie viel Verantwortung Sie selbst wahrnehmen respektive dem Dienstleister übergeben: Die Spannweite reicht von "on premise", wenn Sie alles selbst machen, über Infrastructure oder Platform as a Service (IaaS und PaaS) bis zu Software as a Service (SaaS), das Rundum-Sorglospaket Ihres Dienstleisters:

Servicemodelle

Abbildung 4: Servicemodelle

Gerne begleiten wir Sie bei der Bedarfserhebung, Evaluation von geeigneten Werkzeugen, Definition des Betriebsmodells sowie der Auswahl eines Dienstleisters.

Möchten Sie mehr über dieses spannende Thema erfahren oder haben Sie selbst eine innovative Idee, die im Rahmen eines Design Thinking Workshops umgesetzt werden könnte? Wir freuen uns auf Ihre Kontaktaufnahme. 

  • Kategorie
    Fachbeiträge

Branchen

    Banken und Versicherungen
    Energie und Infrastruktur
    Gesundheitswesen und Pharma
    Handel, Transport und Logistik
    Industrie, Technologie und Dienstleistung
    Öffentliche Verwaltung

Dienstleistungen

Themen

Kontaktieren Sie uns