gridscale und Libcloud: Eine persönliche Erfahrung

Datum: 19.09.2019

My Story gridscale and LibcloudHeute möchte ich dir Apache und seine einheitliche Python-basierte API vorstellen, die sie für die Zusammenarbeit mit Cloud-Anbietern bereitstellen. Eine der Neuerungen der aktuellen Version (Stand 29. Juli 2019) ist, dass Libcloud nun auch gridscale unterstützt wird.

gridscale ist Teil von Libcloud

Libcloud ermöglicht es, dass mehr User unsere API benutzen können ohne unsere API komplett zu verstehen, dies bieten wir zusätzlich zu unserer eigenen Python-basierten internen Bibliothek an.

Eine der praktischsten Funktionen, die Libcloud bietet, ist, dass man den gleichen Code von allen großen IaaS-Anbietern verwenden kann. Man muss nur den Namen des Anbieters ändern und schon kannst du zu gridscale orchestrieren.

Was ist Apache?

Apache ist die weltweit größte Open-Source-Stiftung. Es ist eine gemeinnützige Organisation, zu der jeder beitragen kann. Sie zeigen sich für Projekte wie Maven , Tomcat oder Samza verantwortlich.

Was ist Libcloud?

Libcloud per se ist eine einheitliche Python-basierte API. Es ist in der Lage, die Unterschiede in der Bereitstellung der Infrastruktur in der Cloud beiseite zu legen und bietet nur einen Workflow. Es wird ein paar kleine Anpassungen geben, aber sie sind geringfügig, sodass du nicht den gesamten Code, den du gerade für die Orchestrierung zu Azure verwendet hast, überdenken und refaktorieren musst und nun noch ein paar Stunden damit verbringst, Code zu produzieren, der für gridscale geeignet ist. Willkommen in der Welt der agnostischen Cloud-Programmierung.

Die (meine) Story

Als ich im Dezember 2018 als Werkstudent zu gridscale kam, war Python eine ganz neue Welt für mich, die ich erkunden konnte. Ich habe viel Gutes über die Sprache gehört und das war für mich die perfekte Gelegenheit, mich damit auseinanderzusetzen. Ich dachte, die Aufgabe ist wie für mich geschaffen.

Es dauerte ein paar Wochen, um die Sprache zu lernen, die Libcloud-Dokumente zu lesen und mehr über den Python zu erfahren. Als ich immer mehr Implementierungen von Libcloud von anderen Anbietern überprüfte, verstand ich den Code und brachte meine eigene Implementierung zum Laufen. Problem: So stolz wie ich auf mich selbst war, habe ich einfach zu viele Funktionen implementiert, anstatt mich darauf zu konzentrieren, einen Core-Build richtig zum Laufen zu bringen.

Meine Kollegen im Dev-Teams halfen mir und erinnerten mich daran, dass ich immer in die Dokumentation schauen sollte, wenn ich mich verloren fühle. Nachdem ich die unnötigen Funktionen losgeworden bin, habe ich die Kernfunktionen richtig zum Laufen gebracht. Mit Hilfe von Ingo habe ich den Rest der Funktionen kodiert und die Tools und das Wissen gesammelt, um etwas Tolles zu schaffen und schließlich den Pull-Request gestellt, damit unsere Arbeit in die offizielle Libcloud-Distribution aufgenommen wird.

Hier ist ein kleines Beispiel, wie man sofort loslegen kann:

Wenn ich dein Interesse geweckt habe, findest du die Dokumentation hier.

Danksagung

Ich möchte mir die Zeit nehmen und ein paar Leuten danken, die mich bei diesem Projekt so sehr unterstützt haben. Ingo Becker, Backend-Entwickler bei gridscale.

Besonderer Dank geht an Kami aka. Tomaz Muraus für den letzten Schliff des gridscale-Treibers. Ich danke dir.


Sydney Weber

Sydney Weber | Research & Development
Sydney ist das neuste Mitglied im Bereich Research & Development bei gridscale. Vor ca. 3 Jahren wurde in ihm das Feuer und die Leidenschaft für die Programmierung entfacht. Nach einer abgeschlossenen Ausbildung im Bereich Informatik, will er nun weiter nach den Sternen greifen und studiert Informatik an der FH Bonn-Rhein-Sieg. Sein größter Traum wäre es als Game Developer zu arbeiten.

Zurück zur Übersicht