Tech Blog.

Thoughts, stories, ideas.

Open Source Software in der Cloud

7. January 2021

Open Source Software in der Cloud

Open Source und Cloud gehen Hand in Hand. Die Werkzeuge, die Open-Source-­Dienstleister und die Community dazu erarbeiten, sind divers und vielschichtig.

Ein Beitrag von Nicolas Christener, erschienen in IT Magazine 2020/12

Die Cloud-Angebote der gros­sen Anbieter basieren zu substanziellen Teilen auf Open-Source-Technologien. Sei es im Bereich der Virtualisierung, der Container-Angebote oder gar auf Ebene der Endbenutzer-Services – aus der Cloud ist Open Source Software nicht mehr wegzudenken. Quelloffene Software ist aber viel mehr als die Grundlage für den Aufbau einer Cloud-Plattform und bietet darüber hinaus Möglichkeiten, damit Firmen ihr Potenzial besser ausschöpfen können.

So divers und vielschichtig wie die IT sind auch die Werkzeuge, welche Open-Source-Dienstleister und die Community erarbeiten. Oft ist es nicht einfach, den Überblick zu behalten und in der Fülle an Angeboten die passende Wahl zu treffen. Einige Lösungen haben sich aber im Enterprise-Einsatz bewährt und gelten heute nicht nur in Insiderkreisen als Empfehlung – es ist also an der Zeit, einige Perlen aus der Masse herauszupicken, sie kritisch zu beleuchten und ihren Business-Nutzen zu prüfen.

Transparente Werkzeuge für jeden IT-Bereich

Eines haben heute fast alle Open-Source-Lösungen gemeinsam: Es sind oft keine reinen Community-Lösungen mehr. Hinter vielen Lösungen steht eine solide Firma, die Support-Leistungen auf Enterprise-Niveau anbietet sowie die Weiterentwicklung vorantreibt, und es gibt Partner, die bei der Evaluation, bei der Einführung sowie beim Betrieb unterstützen.

Durch den Zugang zum Quellcode sind die Werkzeuge transparent verifizierbar, es können unabhängige Code-Audits gemacht werden und der Vendor-Lockin reduziert sich auf ein absolutes Minimum. Zudem garantiert die Verfügbarkeit des Quellcodes auch den Betrieb auf der eigenen Infrastruktur – eine erzwungene Migration in die Cloud ist also keines der Risiken, mit denen zu rechnen ist.

Gitlab: DevOps-Pipelines für verteilte Entwicklungsteams

Linus Torvalds hat der Welt mit Linux nicht nur einen Betriebssystem-Kernel geschenkt, sondern mit Git auch gleich das wichtigste Code-Verwaltungswerkzeug zur verteilten Software-Entwicklung beigesteuert. Spätestens seit Microsoft die auf Git aufbauende Code-Hosting-Plattform Github gekauft hat, ist sich die Fachwelt einig, dass auch um Git momentan keinen Weg herumführt.

Mit Gitlab gibt es eine quelloffene Plattform, mit der Organisationen komplette DevOps-Pipelines On-Premises oder in der Cloud aufbauen und betreiben können. Die Lösung umfasst das eigentliche Code Hosting, aber auch Issue Tracking, agile Projektplanung, Automated Testing, Code Fuzzing und vieles mehr. Mit Gitlab kann, ohne dass der Code die eigene Infrastruktur verlässt, eine komplette DevOps-Pipeline implementiert werden, wodurch nicht nur die Qualität gesteigert, sondern auch die Time-to-Market reduziert werden kann. Die Lösung ist als komplett quelloffene Community Edition sowie als Open-Core-Variante mit spezifischen Enterprise-Erweiterungen verfügbar, deren Source Code nicht offen angeboten wird. Wer nach dem Entscheid von Atlassian, seine Lösungen nur noch in einem SaaS-Modell anzubieten, nach einer selbst gehosteten Entwicklungs- und Dev­Ops-Plattform Ausschau hält, sollte somit auch Gitlab in die Evaluation mit aufnehmen.

Hashicorp: Automation und Sicherheit in der Cloud

Hashicorp – erst 2012 von Mitchell Hashimoto und Armon Dadgar gegründet, ist heute bereits eine der schnellstwachsenden Technologiefirmen für Lösungen im Cloud-Umfeld. Da lohnt sich ein genauer Blick. Bekannt wurde Hashicorp vor allem dank Vagrant und Terraform, welche als Lösungen im Bereich von Infrastructure as Code (IaC) anzusiedeln sind. In menschenlesbarer Form kann mit Terraform eine Infrastrukturumgebung auf einer Cloud-Plattform beschrieben und mit einem einfachen «terraform apply» automatisch auf- und abgebaut werden.

Der dadurch erreichte Automatisierungsgrad, die Reproduzierbarkeit und insbesondere auch die Abstraktion der eigentlichen Cloud-Umgebung haben zu einer grossen Verbreitung geführt (es werden von AWS über Azure und ­Google bis hin zu On-Premises-Lösungen wie Vmware und Openstack alle für die Infrastruktur relevanten Plattformen unterstützt).

Mindestens so viel Aufmerksamkeit geniessen aber auch Consul und Vault, die insbesondere im Bereich der Sicherheit zu beliebten Werkzeugen vieler IT-Teams gehören.
Mit Vault lassen sich Secrets (API-Keys, Tokens, Verbindungsdaten wie Benutzernamen und Passwort etc.) speichern und automatisch rotieren sowie Zertifikate generieren und verwalten. Gerade in regulierten Branchen wie beispielsweise Banken, Versicherungen und Pharma oder in Bereichen mit erhöhten Sicherheitsanforderungen erfreut sich Vault grosser Beliebtheit.
Mit Consul hat Hashicorp zudem eine Lösung zur Implementierung von Service-Mesh-Architekturen im Angebot. Dieser relativ neue Ansatz, der oft als Schritt hin zu einem Sicherheitsmodell mit den kleinstmöglichen Zugriffsrechten (Zero Trust) dient, ist gerade auch bei Mischformen mit Workloads sehr beliebt, die sowohl On-Premises wie auch in der Public Cloud betrieben werden. Consul hilft dabei, die Verbindungen zwischen den einzelnen Diensten zu verschlüsseln und genau zu definieren, wo netzwerktechnisch Zugriffe möglich sind.

Die Hashicorp-Werkzeuge sind bereits weit verbreitet und helfen IT-Teams bei der Bewältigung neuer Herausforderungen im Cloud-Umfeld, gerade auch dort, wo Sicherheit und Vertrauen essenzielle Werte sind. Auch Hashicorp verfolgt einen Open-Core-Ansatz, bei dem die Enterprise-Varianten Erweiterungen enthalten, die in der quelloffenen Community Version nicht verfügbar sind. So sind zum Beispiel spezifische Funktionen im Bereich Governance & Policies, die primär in Enterprise-Umgebungen oder in regulierten Branchen Verwendung finden, Teil der Vault Enterprise Subscription.

Kubernetes: Container-Platt­form für gehobene Ansprüche

Weg von monolithischen Architekturen hin zu kleinen und einfach pflegbaren Einheiten, sogenannten Micro Services, ist ein zentrales Anliegen der Cloud-Native-Bewegung innerhalb der IT. Erst richtig möglich gemacht hat dies der Einsatz von Container-Lösungen zur einfachen Bündelung von Software-Stacks. Auch hier war ein Open-Source-Tool, nämlich Docker, ein wichtiger Meilenstein bezüglich Akzeptanz und Verbreitung. Mit Kubernetes hat Google der Welt ein Management-Werkzeug für das Betreiben von Containern in grösseren Infrastrukturen geschenkt und der Technologie endgültig zum Durchbruch verholfen.

Heute bieten eine Vielzahl von Firmen Lösungen und Services im Bereich von Kubernetes an, und längst ist die Container-Welt nicht mehr aus der modernen IT-Landschaft wegzudenken.

Als einer der Pioniere in diesem Umfeld bietet Red Hat mit Openshift eine sehr beliebte und weitverbreitete Kubernetes-Lösung für den Enterprise-Einsatz an. Suse hat mit der Übernahme von Rancher aber einen veritablen Coup gelandet und gehört daher ebenfalls zu den Anbietern, die man genauer prüfen sollte, wenn man für die eigene Infrastruktur eine Kubernetes-Umgebung plant.

Interessant ist auch ein Mix von On-Premises betriebenen Kubernetes-Workloads, etwa für die Entwicklungsumgebung und die Nutzung von Cloud-basierten Angeboten wie zum Beispiel EKS oder AKS (Kubernetes Services von AWS respektive Azure) für die produktiven Workloads. Hier positioniert sich insbesondere auch Rancher als Werkzeug für das Management solcher Konfigurationen.

In Kombination mit Gitlab können Organisationen einen modernen, aus Open-Source-Komponenten bestehenden Stack implementieren, der den grossen Cloud-Angeboten in nichts nachsteht und alles bietet, was heutige Entwicklerteams sich wünschen: Self Service, Self Hosted, offene Schnittstellen, Agilität und Flexibilität.

Nextcloud, Dateiablage und kollaboratives Arbeiten

Ablegen, Teilen und gemeinsames Editieren von Dateien ist ein Bereich, in dem sich Cloud-Lösungen bereits stark etabliert haben. Doch gerade wenn es um kritische Inhalte geht, sind viele Organisationen nicht bereit, Einbussen bezüglich Datenschutz hinzunehmen und die Dateien bei einem Drittanbieter zu speichern. Abhilfe schafft in diesem Bereich zum Beispiel die Lösung des gleichnamigen deutschen Herstellers Nextcloud.

Das Kollaborationswerkzeug besteht in seiner einfachsten Ausprägung aus einer Dateiablage, mit der Inhalte gespeichert und einfach geteilt werden können. Rollenbasierte Zugriffsrechte, externes Teilen via Passwort, Ablaufdatum für geteilte Inhalte, Verschlüsselung und Synchronisation sind nur ein kleiner Teil der Funktionen, welche diese komplett quelloffene Lösung auszeichnen.

Aufbauend auf diesen Kernfunktionen bieten sowohl Nextcloud wie auch unabhängige Anbieter umfassende Erweiterungen an, wodurch die Dateiablage um Chat, Videotelefonie und viele weitere Funktionen ergänzt werden kann.

Nextcloud kann komplett selber oder auch in einem SaaS-Modell betrieben werden und es gibt umfassende Support-Leistungen von verschiedenen Anbietern. Eine grosse Anzahl an Firmen und Organisationen haben ihre Strategie der digitalen Souveränität bereits erfolgreich mittels Nextcloud umgesetzt.

Sichere Echtzeitkommunikation mit Open Source Software

Der wachsende und durch Corona beschleunigte Home-Office-Trend hat insbesondere den praktischen Nutzen von Echtzeitkommunikationslösungen in vielen Organisationen aufgezeigt. Seither gehören Chat und Videocalls längst nicht mehr nur zum Repertoire von international tätigen Organisationen, sondern sind anerkannte Werkzeuge, welche die Zusammenarbeit generell erleichtern.

Da über solche Kanäle auch sehr sensitive Inhalte kommuniziert werden, haben auch hier viele Organisationen Bedenken, Drittanbietern ihre Daten anzuvertrauen – selbst gehostete Open-Source-Lösungen können auch hier eine Lösung darstellen.

Mattermost ist eine mit Slack zu vergleichende Chat-Plattform, welche die Kommunikation von Teams vereinfacht und es durch die simple Integration von Bots möglich macht, Informationen von Umsystemen in einer Plattform zentral zu sammeln. So können beispielsweise die Ergebnisse von automatischen Unit-Tests von Gitlab direkt in einen Entwicklerkanal auf Mattermost gepostet werden, um direkt Feedback zu einem Commit zu erhalten, oder Alarme aus dem Monitoring-System können in einem Pikett-Channel gepostet werden, um über Servicestörungen zu informieren – die Möglichkeiten sind praktisch unendlich. Natürlich gibt es passende Apps für Android und iOS, um auch unterwegs stets auf dem Laufenden zu sein.

Jitsi und Bigbluebutton sind Lösungen, die mit Zoom vergleichbar sind und Videokonferenzen mittels PC oder Smartphone ermöglichen. Beide Produkte können auch in andere Systeme integriert werden (z.B. in Mattermost), um Chat und Videokonferenzen aus einem Guss anbieten zu können.

Beide Lösungen sind komplett quelloffen und können sehr einfach selber betrieben werden. Verschiedene Non-Profit-Organisationen, darunter zum Beispiel der Verein CH Open oder die Stiftung Mercator, die sich der digitalen Souveränität verschrieben haben, offerieren zudem Gratisangebote rund um Jitsi und Bigbluebutton.

Support, Unterstützung und Zukunft

Die Schweiz verfügt über ein starkes Netzwerk an etablierten Enterprise-Dienstleistern rund um Open-Source-Technologien. Der lokale Kontakt und der professionelle Support, welche solche Firmen anbieten, haben dazu geführt, dass Open-Source-Lösungen heute weit verbreitet sind und auch im Bereich der Cloud digitale Souveränität, Unabhängigkeit und Transparenz möglich ist. Open Source ist damit längst nicht mehr etwas für Freaks, sondern ein wichtiger Bestandteil der Digitalisierungsstrategie vieler Organisationen geworden.

Dank dem Öffentlichkeitsprinzip «Public Money, Public Code» werden auch in immer mehr Behörden Prozesse und Cloud-Angebote der öffentlichen Verwaltung eine Realität – so können unter anderem im Kanton Bern Bürger ihr Baugesuch mittels der Open-Source-Lösung Caluma direkt digital in der Behörden-Cloud erfassen.
Die Transparenz und das Vertrauen, welche Open Source in diesem Bereich schafft, trägt viel zur Akzeptanz von Cloud-Lösungen bei und führt zudem zu kostengünstigen Beschaffungen, bei der eine Lösung nicht mehr nur von einem Anbieter lizenziert wird, sondern ein effektiver Markt unter den Anbietern entstehen kann, die gemeinsam an der gleichen Codebasis arbeiten.

Open Source, offene Schnittstellen und offene Daten sind und bleiben der Motor der Digitalisierung und werden in Zukunft nicht nur wichtiger werden, sondern sich als Standard etablieren.