Suchen

Neue Programmiersprache für Dateiaustausch-Plattform Go soll ownCloud auf die Sprünge helfen

| Redakteur: Stephan Augsten

Trotz zahlreicher Verbesserungen an der Performance ist die Skriptsprache PHP den Anforderungen von ownCloud nicht mehr gewachsen. Auf Basis von Go wird die Dateiaustausch-Plattform nun von Grund auf neu entwickelt.

Firmen zum Thema

Auf Basis der Programmiersprache Go wird ownCloud Infinite Scale von Grund auf neu entwickelt.
Auf Basis der Programmiersprache Go wird ownCloud Infinite Scale von Grund auf neu entwickelt.
(Bild: fiveyears.jpg / fiveyears.jpg / Renee French / CC BY 3.0 / CC BY 3.0)

PHP war für ownCloud lange das Werkzeug der Wahl und hat sich laut dem Hersteller stetig weiternentwickelt: „Im Laufe der Zeit ist PHP durch zahlreiche Anpassungen, etwa die Objektorientierung, den einheitlichen Zugriff auf Datenbanken, einen integrierten Webserver oder eine bessere Speicherverwaltung immer leistungsfähiger geworden.“ PHP-Beschleuniger und -Compiler hätten das Tempo der Skript-Ausführung weiter erhöht.

Trotz dessen erfülle PHP nicht mehr die Anforderungen für die Entwicklung einer modernen Content-Collaboration-Applikation: „[...] all diese Verbesserungen können nicht darüber hinwegtäuschen, dass PHP Limitierungen insbesondere hinsichtlich der erzielbaren Performance und Skalierbarkeit aufweist“, heißt es seitens ownCloud.

Für die derzeitige Neu-Entwicklung der Dateiaustauschplattform ownCloud Infinite Scale vertraut ownCloud nun auf Go und die dahinter stehende Open-Source-Gemeinschaft. Aus den bisherigen Erfahrungen mit Go hat ownCloud nun eine Liste der größten Vorteile zusammengestellt:

Cross-Plattform: Go läuft nativ auf allen Betriebssystemen. Das Tool-Set von Go bringt hervorragende Werkzeuge für das Cross-Kompilieren mit, das heißt, die schnelle und unmittelbare Bereitstellung der Applikation für viele verschiedene Plattformen.

Geschwindigkeit: Für Go wird kein Skript-Interpreter und keine virtuelle Laufzeitumgebung benötigt. Das macht Go ähnlich schnell wie zum Beispiel die Programmiersprache C, die normalerweise für besonders hohe Leistungsfähigkeit eingesetzt wird.

Nebenläufigkeit: Go bietet von Haus aus die Möglichkeit, mehrere Berechnungen parallel durchzuführen, wie ownCloud-CTO Felix Böhm hervorhebt: „Das macht es für Entwickler leichter, rechenintensive Operationen zu parallelisieren und damit eine performante Applikation zu entwickeln.“

Syntax: Go ist sehr einfach zu lernen und hat viele Parallelen mit der weit verbreiteten Programmiersprache C. Entwicklerinnen und Entwickler können von ihrem bisherigen Tool-Stack einfach ein- oder umsteigen.

Ökosystem: Die Sprache wurde 2009 von Google-Teams präsentiert, ist ein Open-Source-Projekt und profitiert vom Engagement der Community. Viele Tools für Cloud-native Projekte sind in Go geschrieben, etwa die Container-Lösungen Docker und Kubernetes. Allein dies mache ownCloud attraktiv für eine weltweite Entwickler-Community, meint Böhm.

Go kann auf viele weitere Features zurückgreifen, etwa auf automatische Speicherbereinigung und eine direkte, flexible Implementierung von Objektorientierung. Go-Anwendungen sind performanter und verbrauchen deutlich weniger Serverressourcen – damit sinken sowohl die Hardwarekosten als auch der Energieverbrauch. Ein weiterer Vorteil für ownCloud ist der Verzicht auf eine spezielle Datenbank: ownCloud Infinite Scale speichert die Metadaten von Dateien direkt mit den Daten im jeweiligen Storage-Modul.

(ID:46877280)