Wolkig mit Aussicht auf Gopher

Go Cloud: Portierbare Cloud-Anwendungen mit Go

Dominik Mohilo

© Shutterstock / blueringmedia (wings),

© Reneé French (CC BY 3.0 DE), © SuS Media

Die Google Cloud Next 2018 hatte wirklich für jeden Entwicklertypus etwas parat, so auch für ambitionierte Nutzer der Programmiersprache Go. Durch das Projekt Go Cloud möchte der Suchmaschinenriese die Golang zur Sprache der Wahl machen, wenn es um die Entwicklung von portierbaren Cloud-Anwendungen geht.
 

Kubernetes, Istio, Docker – sie alle haben etwas gemeinsam. Richtig, sie sind für die Entwicklung in der Cloud. Gemeint ist allerdings, dass sie alle in Go geschrieben sind, Googles designierter C-Alternative. Auch viele große Unternehmen (etwa Netflix) setzen auf die Golang, man kann also mit Fug und Recht behaupten, dass Google mit Go eine Programmiersprache geschaffen hat, die sich langsam aber sicher auf dem Markt etabliert. Bei Tiobe und dem PYPL-Index schlägt sich das mit soliden Platzierungen in den Top 20 nieder.

Einen weiteren Schub in Sachen Beliebtheit könnte das vor Kurzem angekündigte Projekt Go Cloud werden. Google plant damit, Go als Sprache der Wahl für die Entwicklung von Cloud-Anwendungen zu etablieren. Dazu stellt man in Mountain View Tools und eine Bibliothek für das Entwickeln von Anwendungen auf Googles Open Cloud zur Verfügung.

Go Cloud – Das steckt im Projekt

Go Cloud besteht aus einer Reihe von generischen und offenen Cloud APIs, die es Entwicklern leichter machen sollen, portierbare und einfachere Cloud-Anwendungen zhu schreiben. Außerdem – wie das so oft bei solchen Projekten der Fall ist – soll Go Cloud als Basis für ein ganzes Ökosystem aus weiteren portierbaren Cloud-Bibliotheken fungieren, die auf besagten generischen APIs aufsetzen.

Der Vendor-Lock-in droht allerdings nicht, auch wenn die Tools vor allem auf die Open Cloud von Google zugeschnitten sind: das Team der Golang verspricht, dass Go-Cloud-Anwendungen zu jedem Cloud-Anbieter migriert werden können. Zudem sind auch Multi- oder Hybrid-Cloud-Architekturen erstellbar, womit auch auf lange Sicht die Flexibilität gesichert sein soll.

Initial sind von Haus aus Blob Storage, Zugriff auf MySQL-Datenbanken, die Runtime-Konfiguration und ein HTTP-Server verfügbar. Letzter ist für Request Logging, Tracing und Health Checking konfiguriert, Unterstützung für die Google Cloud Platform und AWS sind ebenfalls an Bord. Zukünftig soll dann mithilfe der „Gommunity“ der native Support für weitere Cloud-Anbieter integriert werden.

Der Code-Generator Wire nimmt ebenfalls einen zentralen Platz im Go-Cloud-Projekt ein. Er erstellt lesbaren Code, der nur solche Cloud SDKs importiert, die auch wirklich Verwendung finden. Man spart sich so Kompilierzeit und hält seine Binarys klein, außerdem umgeht man unangenehme Nebeneffekte von init()-Funktionen.

Ausblick

Das Projekt befindet sich aktuell noch ganz am Anfang, also in der Alphaphase. Man muss also darauf achten, dass es in zukünftigen Versionen des APIs möglicherweise zu Breaking Changes kommen wird. Für die Zukunft geplant sind mehr anbieterneutrale generische APIs für verschiedene und oft genutzte Services. Wie oben erwähnt soll das Projekt Go Cloud auch die Basis für weitere Cloud-Bibliotheken sein, die über mehrere Clouds hinweg funktionieren.

Weitere Informationen wie genau die Go Cloud funktioniert, gibt es einerseits auf dem Blog der Golang. Andererseits kann man sich auch direkt bei GitHub über das Projekt informieren, dort gibt es auch ein Tutorial. Eine Mailing-Liste existiert ebenfalls.

Verwandte Themen:

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: