Self-Hosted Open-Source?

post-thumb

Von Sebastian Benderoth


Unternehmen haben meist eine Vielzahl digitaler Tools und Plattformen im Einsatz. Viele der eingesetzten Applikationen werden heute als Software-as-a-Service angeboten und verrechnet. Anwendungen werden dabei auf den Server- bzw. Cloud-Infrastukturen der jeweiligen Hersteller oder Drittanbieter betrieben.

SaaS Anwendungen bieten einige Vorteile für Unternehmen. Man muss sich z.B. nicht mehr um den Betrieb, Updates und die Pflege der Anwendungen kümmern und kann die Auswahl der Leistungen oft am individuellen Bedarf oerientieren. Die Softwarehersteller bzw. SaaS-Anbieter sollten zudem ein natürliches Interesse daran haben, ihren Kunden einen soliden Leistungsumfang und moderne Technologie zu bieten, so dass diese nicht zum Wettbewerber abwandern. Davon profitiert der einzelne Kunde in der Regel implizit.

Auf der anderen Seite kann die starke Adaption von SaaS Anwendungen auch Nachteile bringen. Potentiell kann der unternehmensweite SaaS-Einsatz etwa zu ungewollten Abhängigkeiten führen, z.B. wenn wichtige Unternehmensprozesse zu stark an die Besonderheiten eines Anbieters ausgerichtet werden. Aber auch dann, wenn unternehmenskritische Daten mit einer Anwendung verwaltet werden und diese letztlich z.B. in international verteilten Rechenzentren gespeichert und verarbeitet werden - somit faktisch außerhalb der eigenen Einflussnahme liegen. Natürlich können ebenso Lizenzkosten eine Belastung darstellen, insbesondere dann, wenn eine Abhängigkeit geschaffen wurde.

So ist es grundsätzlich sinnvoll, wenn Unternehmen von Fall zu Fall kritisch prüfen, welche Optionen es bei digitalen Lösungen für eine Problemstellung existiert. Welche Kosten entstehen? Welche Abhängigkeiten werden geschaffen? Welche Risiken müssen betrachtet werden?

Nicht jeder Betrieb kennt nun die Möglichkeiten im Einsatz von Open-Source Lösungen. Einige leistungsfähige Open-Source Anwendungen können, ähnlich wie bei einer proprietären oder Closed Source Anwendung, als gehostete Services wahrgenommen werden. D.h. dass der Betrieb und die Bereitstellung von Dritten sichergestellt wird. Zudem gibt es jedoch oftmals die Möglichkeit, die Anwendung auf eigenen Servern (oder Cloud-Infrastrukturen) nach eigenen Kriterien einzurichten und zu betreiben. Das ‘Self-Hosting’ kann im Hinblick auf die unternehmensseitgen Anforderungen oder grundlegende Aspekte wie Sicherheit und Datenschutz interessant sein.

Open-Source und Self-Hosting

Open-Source Anwendungen sind quelloffen, d.h. der zugrundeliegende Source-Code ist einsehbar und kann grundsätzlich auch erweitert / verändert werden. Open-Source Anwendungen werden häufig von der Entwickler-Community unterstützt und weiterentwickelt. Viele Lösungen sind frei erhältlich, wobei das nicht immer so sein muss oder auch mit Einschränkungen und lizenzbezogenen Rahmenbedingunen verbunden sein kann. Über die Lizenz, betriebsseitige Optionen und die damit verbundenen Bedingungen für den konkreten Einsatz sollte man sich also jeweils informieren, bevor man Anwendungen unternehmensweit einsetzt.

Ein prominentes Beispiel: Wordpress

Das eigene Hosting von Open-Source Anwendungen ist übrigens keineswegs neu. Wordpress, das betagte und weit verbreitete CMS / Blogsystem, ist ein gutes Beispiel für solche Anwendungen. Man kann heutzutage wählen, ob man Wordpress eingerichtet und gehostet als Service wahrnimmt oder ob man sich selbst um die Einrichtung auf der eigenen bzw. gemieteten Infrastuktur kümmern möchte.

Wordpress kennen viele Personen und Unternehmen. Andere Applikationen sind nicht so bekannt.

Welche Anwendungen gibt es?

Es gibt zahlreiche Anwendungen, die sich für das Self-Hosting eignen und eine solide Funktionalität bereitstellen. Die Liste ist lang und umfasst viele verschiedene Anwendungsbereiche. An dieser Stelle soll ein exemplarischer Einblick gegeben werden, um eine Idee zu vermitteln …

  • CMS / Blogging: Ghost, Wordpress und ebenso viele sehr gute static site generators
  • Groupware / Filesharing: Nextcloud, ownCloud
  • Collaboration: Mattermost
  • Identity / Accessmanagement: Keycloak
  • Dashboards: Metabase, Grafana
  • Analytics: Umami, Plausible Analytics
  • Ideation / Feedback: Fider
  • Mockup / Prototyping: Penpot
  • Workflow / Integration: n8n, Airbyte
  • NoCode / LowCode: NocoDB, BudiBase
  • Errortracking: z.B. GlitchTip

… und viele mehr.

Vorteile und Nachteile beim Self-Hosting von Anwendungen

Vorteile:

Vorteile liegen vor allem im Bereich der Anpassbarkeit an die eigenen Bedürfnisse und der Tatsache, dass die Daten auf der eigenen Infrastuktur vorgehalten werden. Man kann sich etwa eine Cloud-Instanz in einem deutschen Rechenzentrum mieten und dort eine Anwendung installieren und einrichten, so dass Sicherheitsaspekte und auch Backupstrategien individuell beantwortet werden können. Dies ist natürlich auch gerade im Hinblick auf Datenschutz und Compliance ein wichtiges Thema. Insbesondere dann, wenn personenbezogene Daten von Kundenseite auch eine Rolle spielen.

Als Vorteil wäre auch zu nennen, dass bei vielen Projekten eine hilfsbereite Community von Anwendern und Entwickler existiert, die häufig sehr hilfsbereit. Hier werden nicht nur Antworten generiert, sondern ebenfalls lässt sich das Netzwerk möglicherweise um interessante Kontakte erweitern.

Nachteile:

Nachteile existieren ebenso. Die Aufwände für Setup, Updates und Wartung betreffen nicht alleine die Anwendung selbst, sondern sind auch im Hinblick auf die zugrundeliegende Infrastruktur samt aller involvierten Komponenten zu sehen. Dies mündet nicht nur in Kosten, sondern erfordert auch Expertise. Gleichzeitig ist es nicht immer einfach, die individuell richtige Anwendung zu wählen. Auch, weil Open-Source-Projekte im Vergleich zu großen Softwareherstellern häufig über deutlich geringere Marketingmöglichkeiten verfügen und so nicht jede Information leicht zugänglich auffindbar ist. Wie gut eine Anwendung dokumentiert ist, spielt hier also auch eine Rolle bei der Auswahl. Risiken bleiben übrigens bei Open-Source Anwendungen nicht aus. Immer wieder kommt es vor, dass ein vielversprechendes Projekt irgendwann nicht mehr weiterentwickelt wird oder dass Sicherheitslücken existieren. Hier sollte man sich stets informieren und informiert halten.

Fazit

Als Anwender und Unternehmen sollte man sich stets über die Vor- und Nachteile bei der Wahl der digitalen Tools informieren. Für einige Anwendungsbereiche existieren neben den bekannten SaaS-Lösungen auch oft kompetetive Open-Source Äquivalente. Wenn unternehmenskritische Daten oder sensible Daten verarbeitet werden, sollte man genau prüfen, welche Lösung sich am besten eignet. Abhängigkeiten und Risiken lassen sich minimieren, wenn Anwendungen auch innerhalb der eigenen Infrastuktur betrieben werden können. Hierzu ist jedoch wichtig, sich über die nötige Kompetenz und enstehende Kosten zu informieren. Kommerzielle Anbieter balancieren verschiedene Interessen bei der Weiterentwicklung von Services & Anwendungen aus, so dass individuelle Sonderwünsche in der Regel nicht direkt berücksichtigt werden. Open-Source Anwendungen können hier mehr Flexibilität bieten, wenn es um die Anpassbarkeit und Integration in die Unternehmensprozesse geht. Die Auswahl einer passenden Lösung für Ihr Unternehmen sollte immer auf Basis einer guten Informationslage und entlang relevanter Kriterien geschehen.