Container, Conferencing ...

13 vielversprechende Open-Source-Projekte

30.03.2016 von Simon Hülsbömer
Beinahe täglich entstehen neue Software-Produkte auf Open-Source-Basis für Desktop- und Mobile-Umgebungen. Wir haben die verheißungsvollsten der vergangenen Monate zusammengetragen.

Rocket.Chat

Diese Web-Chat-Plattform ermöglicht es Communities und Unternehmen, einen eigenen Chat-Service einzurichten. Rocket.Chat verfolgt einen modularen Ansatz - die Anwender können sich ihr Chatsystem selbst zusammenbauen und nur die Module einsetzen, die sie benötigen - seien es Emoji-Unterstützung, Video- und Audio-Conferencing oder Screen Sharing. Die Software gibt es sowohl als Desktop-App für Mac OS X, Windows und Linux, als auch als mobile App für iOS und Android. Sogar Firefox OS wird unterstützt. Wer will, kann Rocket.Chat dank des Open-Source-Ansatzes auch selbst weiterentwickeln.

Mattermost

Eigentlich nur eine weitere Kommunikations-App für Unternehmen, vergleichbar mit Slack. Das Besondere an Mattermost ist jedoch, dass die Entwickler vorher Spiele auf HTML5-Basis für Facebook geschrieben haben und Mattermost ursprünglich als Spieleportal für Nutzer außerhalb des Facebook-Kosmos' gedacht war. Das führt zu einer sehr guten Bedienbarkeit und einem intuitiven Interface. Nachrichten und Dateien lassen sich quer über alle Geräteklassen verschicken und teilen - alles innerhalb einer geschlossen Infrastruktur. Mattermost ist vollständig kompatibel zu Slack und funktioniert auch mit für Slack geschriebenen Drittprogrammen. Mattermost gibt es in zwei Varianten - einer kleineren Version für bis zu 50 Nutzer und einer größeren für hunderte oder sogar tausende Clients.

Hubl.in

Video-Conferencing-Tools wie WebEx und GoToMeeting sind in vielen Büros zum Standard geworden. Diese Lösungen setzten jahrelang auf proprietären Desktop-Anwendungen auf, die neuen technischen Möglichkeiten von Web-Browsern läuten nun aber eine Trendwende ein. Hubl.in ist solch ein neues Browser-Tool, entwickelt von Linagora, die unter anderem auch für die Collaboration-Plattform OpenPaaS verantwortlich zeichnen. Es startet Videokonferenzen ohne Plugin und direkt im Browser und setzt auf WebRTC auf. So ermöglicht Hubl.in die dezentrale Kommunikation zwischen mehreren Browsern - die Daten werden dabei nicht über den Dienst gestreamt, sondern direkt zwischen den Clients. Das verbessert auch die Sicherheit.

MXNet

Die Deep-Learning-Bibliothek MXNet kommt von DMLC, die auch CXXNet, Minerva und Purine2 entwickelt haben. MXNet setzt Erfahrungen aus diesen drei Projekten um, indem es symbolisches und imperatives Programmieren 'on the fly' verbindet. Im Kern verwendet MXNet dafür einen dynamischen Abhängigkeitsplaner, der beide Entwicklungsarten parallel ermöglicht.

Eine zusätzliche Programmebene zur Graph-Optimierung sorgt dafür, dass die Software schnell und speichereffizient arbeitet - sie skaliert über mehrere Grafikprozessoren und Maschinen hinweg. Wenn gewünscht, funktioniert sie sogar als Bilderkennungs-Tool auf dem Smartphone. Weil DLMC das Thema Machine Learning treiben möchte, beinhaltet MXNet auch eine Sammlung von Vorlagen und Guidelines, um eigene Deep-Learning-Systeme zu entwickeln.

Bazel

Unternehmen jeder Größe wissen, dass sie neue Software so schnell und ressourcenschonend wie möglich entwickeln müssen, um mit der technischen Entwicklung Schritt halten zu können. Mustergültig wird das von Google umgesetzt. Deshalb hat der Konzern auch Bazel veröffentlicht, ein Subset des Google-eigenen Software-Entwicklungssystems.

Bazel soll den Entwicklungsprozess beschleunigen und die Verlässlichkeit der Software mittels eines gemeinsam genutzten Code Repository verbessern. Testing und Releases werden automatisiert, indem sowohl eine parallele Programmierung als auch Caching angewandt wird, um die Rechengeschwindigkeit zu erhöhen. Dadurch eignet sich Bazel besonders für multilinguale und plattformübergreifende Softwareprojekte mit großen Code-Datenbanken, die ein intensives Testverfahren durchlaufen müssen. Den Nachweis seiner Tauglichkeit hat das Framework in der Google-Praxis bereits erbracht. Bazel läuft unter Linux und OS X, nicht aber unter Windows.

React Native

Mobile-Entwickler stehen vor einer schwierigen Entscheidung: Sollen Sie native Apps für Android, iOS oder ein anderes mobiles Betriebssystem bauen oder lieber auf eine Cross-Plattform-Lösung setzen? Native Apps sind schneller und für die Anwender besser zu bedienen - der Nachteil ist ihre Beschränkung auf eine Plattform. Also muss die gleiche Anwendung immer mindestens zweimal komplett neu geschrieben werden - einmal für iOS, einmal für Android -, um zumindest den Großteil der Mobilnutzer auch zu erreichen.

React Native kommt mit eigenem Entwicklerframework, um direkt plattformübergreifend arbeiten zu können.

Abhilfe schaffen Cross-Plattform-Tools, die Apps auf mehreren Systemen lauffähig machen - meist mit Hilfe von JavaScript. Leider performen die migrierten Apps meist sehr schlecht und bieten auch keine zufriedenstellenden Benutzeroberflächen.

Das - von Facebook unterstützte - Open-Source-Projekt React Native bietet nun einen neuen Ansatz: Entwickler programmieren direkt im JavaScript-gestützten React-Framework, um die Apps in nur einem Arbeitsschritt gleichermaßen nativ für iOS und Android anzulegen.

Kontena

Docker-Container mischen den Entwicklermarkt gewaltig auf - das Container-Management ist aber nach wie vor ein Problem für viele Unternehmen. Hier kommt Kontena ins Spiel - die Software soll die Entwicklung von Containern schneller machen und ihren Einsatz erleichtern. Dazu bietet die Lösung unter anderem Multi-Host-Networking, Multi-AZ-Orchestrierung und -Bereitstellung sowie VPN-Zugang zu Backend-Containern. Kontena lässt sich in jeder beliebigen Cloud-Infrastruktur installieren, ist vollständig Open Source und soll bald neben Docker auch Windows-Container, CoreeOS rkt und weitere unterstützten.

Nulecule

Die Open-Container-Initiative von Docker mag gutes Applikations-Packaging bieten, aber innerhalb jeder Instanz einer Multicontainer-Anwendung die Abhängigkeiten und Beziehungen der Assets untereinander zu verwalten, kann äußerst komplex werden.

Hier wartet das von Red Hat unterstützte Nulecule mit einer Lösung auf: Mittels eines holistischen Ansatzes sollen sich Container-Assets Instanz-übergreifend besser verwalten lassen. Anstatt wie sonst üblich für jede laufende Containerinstanz einzeln ein Management anzubieten, skaliert Nulecule über eine gesamte Anwendung inklusive aller Abhängigkeiten und Metadaten.

Nulecule verfolgt einen ganzheitlichen Ansatz.

InSpec

Wer auf DevOps setzt, sich sieht häufig mit kniffligen Compliance-Protokollen konfrontiert, die den Entwicklungsprozess verlangsamen und Software-Entwickler frustrieren. InSpec will die Compliance-Testing-Prozesse vereinfachen und Compliance zum integralen Bestandteil des Development Lifecycle machen.

Das Open-Source-Framework ist dazu gedacht, Anforderungen an Compliance, Security und Policies von Beginn an festzulegen. Dafür wartet InSpec mit einer Menge Features auf - darunter Compliance-Tests, Metadaten-Tags für die Priorisierung von Aufgaben und ein Kommandozeilen-Fenster, um Tests schnell auszuführen. Anwender schreiben ihre Befehle in einer eigenen, auch maschinenlesbaren Programmiersprache. InSpec flaggt sogleich alle Auffälligkeiten bezüglich Security, Compliance und Policy. Und weil das Framework lokal auf dem zu prüfenden Knotenpunkt läuft, lässt sich InSpec auf jedem Node in jeder Infrastruktur einsetzen.

Hygieia

Nicht nur die großen IT-Player investieren in Open-Source-Lösungen. Die US-Bank Capital One hatte nach einem guten DevOps-Dashboard gesucht, aber keines gefunden, das sie zufriedenstelle konnte. Also baute man kurzerhand eine eigene Software - Hygieia, ein DevOps-Dashboard fürs Enterprise, das als Open-Source-Projekt bei GitHub veröffentlicht wurde.

Capital One setzte das Tool während der Software-Entwicklung ein, um Projektteams und -verantwortlichen einen schnellen und einfachen Überblick über den gesamten DevOps-Prozess zu geben. Anstatt wie die meisten anderen Dashboards nur einen Teil des Prozesses abzudecken, bietet Hygieia eine Gesamtübersicht mit zwei verschiedenen Anzeigen: "Widget View" und "Pipeline View". Der Widget View ist für detailliertere Informationen zu den Einzelkomponenten wie aktuelle Sprints, Integration, Code- und Security-Analyse oder auch Testergebnisse und Umgebungsstatus. Mit dem Pipeline View können sich die Nutzer auf Details zu jedem Abschnitt des Lebenszyklusses der einzelnen Komponenten konzentrieren - von der Entwicklungs-, über die die Test- bis hin zur Ausrollphase.

Glucosio

Als Open-Source-Entwickler Benjamin Kerensa im Mai 2015 mit Diabetes Typ 2 diagnostiziert wurde, musste er feststellen, dass es keinerlei Open-Source-Werkzeug am Markt gab, um den Blutzuckerspiegel oder andere Werte, die für Diabetiker wichtig sind, nachzuhalten. Also scharte Kerensa ein kleines Entwicklerteam um sich und veröffentlichte nur wenige Monate später das Diabetes-Monitoring-Programm Glucosio.

Diabetiker können ihre Werte in die App eingeben und den Blutzuckerspiel so nachverfolgen - die App hilft dabei, regelmäßig die Werte zu prüfen und gibt zudem hilfreiche Tipps in bestimmten Situationen. Wer will kann sogar mithelfen die Diabetes-Forschung zu unterstützen, indem er Kerensa und seinem Team seine demografischen Daten oder seinen Krankheitsverlauf anonymisiert mitteilt. Glucosio ist derzeit bereits in 20 Sprachen verfügbar und wird laut Download-Statistik weltweit genutzt. Noch in Planung ist eine kostenlose API für Diabetes-Forscher, über die diese auf die Daten der Nutzer zugreifen können, die einer Weiterverwendung zugestimmt haben.

Glucosio unterstützt Diabetiker in verschiedenen Lebenslagen.

Vault

HashiCorp ist ein Unternehmen aus San Francisco, das bislang für die portable Entwicklungsumgebung Vagrant bekannt ist. Das neue Projekt Vault ist hingegen ein Tool, "um Geheimnisse sicher zu verwalten", wie der Anbieter schreibt. Es geht um Passwörter, Zertifikate, Arbeitnehmerdaten und andere schützenswerte Informationen. Vault ver- und entschlüsselt diese Daten, ohne sie zu speichern - die Parameter legen die Security-Verantwortlichen im Unternehmen fest. Entwickler können verschlüsselte Daten speichern, ohne dafür eine eigene Engine zu schreiben.

Vault kann sogar "Secrets on demand" für AWS- und SQL-Datenbanken erzeugen und diese automatisch wieder vernichten, wenn ihre Gültigkeit abgelaufen ist. Die Software bietet ein vereinheitlichtes Zugangs-Interface, strenge Kontrollmechanismen und ausführliche Audit-Logs - die Nutzer können somit sicher sein, dass ihre sensiblen Daten auch wirklich geschützt sind.

RancherOS

RancherLabs hat eine hocheffiziente Methode entwickelt, um Container-Anwendungen auszuführen: ein Betriebssystem im Minaturformat, das sich auf Container spezialisiert hat - ohne Schnickschnack. Die 20 Megabyte große Linux-Distribution wurde eigens programmiert, um Docker-Container zu verwalten. Die Idee ist der von CoreOS ähnlich - mit einem wichtigen Unterschied: Alles in RancherOS läuft als Docker-Container - sogar das Betriebssystem selbst.

RancherOS führt Docker direkt auf dem Linux-Kernel aus und liefert auch alle vom Nutzer verwendeten Systemdienste als Docker-Container aus - das Ergebnis sind dann zwei parallele Instanzen des Systems. Das "System-Docker" initialisiert alle Systemdienste wie udev, DHCP oder auch die Konsole - alle innerhalb eigener Container. Das "User-Doker" erstellt einzelne kleine User-Container innerhalb eines großen Containers. Auch Updates werden in RancherOS mittels Containern ausgeliefert. Das Betriebssystem kann auch Container-Management-Plattformen jeder Größe - wie beispielsweise Rancher system von Rancher Labs - hosten.

Dieser Beitrag basiert in weiten Teilen auf einem Artikel unserer US-Schwesterpublikation InfoWorld.