Kagenmi - stock.adobe.com

Python vereinfacht die VM-Verwaltung

Für einen Virtualisierungs-Administrator ist es leicht, Python mit seiner interaktiven Shell zu verwenden. Beginnen Sie mit der einfachen Programmiersprache.

Im Zeitalter von DevOps erwarten Unternehmen von System-Administratoren wie selbstverständlich zumindest grundlegende Programmierkenntnisse. Wer sie noch nicht hat, sollte sie sich zulegen. Denn ein Administrator, der Code schreiben kann, ist wertvoller als einer, der diese Technik nicht beherrscht.

Warum Python für die Verwaltung?

Einfach ausgedrückt: Python ist einfach zu nutzen.

Python gehört zu den am meisten verwendeten Programmiersprachen. Wie auch bei JavaScript handelt es sich eigentlich um eine relativ alte Programmiersprache, die im Ansehen steigt, weil mehr und mehr Lösungen, Einsatzzwecke und Features dafür zur Verfügung stehen.

Die meisten Anbieter unterstützen für ihr Produkt irgendeine Art von Schnittstelle für Python. Und selbst wo das nicht so ist, steht Representational State Transfer (REST) zur Verfügung, mit dem Python ebenfalls umgehen kann. Was auch immer Sie mit Curl tun können: Python kann es auch. Und noch mehr.

Python ist eine interpretierte Sprache. Das bedeutet, dass eine Kompilierung nicht notwendig ist (sie steht aber dennoch zur Verfügung). Code wird zeilenweise interpretiert. Starten Sie die Shell, so arbeitet diese als interaktiver Interpreter mit den Möglichkeiten Lesen, Auswerten, Ausgeben, Wiederholen. Wenn Sie einen Befehl eingeben, reagiert der Interpreter sofort. Einfacher kann man Code nicht schreiben.

Ein weiterer Grund, der für Python spricht, besteht in den vielfältigen Quellen für kostenlose APIs, die für die Interaktion mit beliebigen Gegenübern genutzt werden können, von OpenStack über Amazon Web Services (AWS) bis zu Twitter.

Was Sie für Python können müssen

Zur Nutzung von Python benötigen Sie die Fähigkeit zum deduktiven Denken. Auch Mathematik ist wichtig. Beide Aspekte sind Grundlagen aller Programmiersprachen. Sie sollten auch über ein Verständnis für abstrakte Konzepte verfügen, wie etwa Logik, Datenstrukturen, Arrays und Listen. Mindestens sollten Sie wissen, was Ganzzahlen, Kommazahlen und Zeichenketten sind.

Wo anfangen?

Falls Sie die Zeit erübrigen können und Lust verspüren, sich das Programmieren mit Python selber beizubringen, indem Sie Bücher wälzen und Tutorials nachprogrammieren, können Sie auf einen Python-Kurs problemlos verzichten.

In vielen Fällen müssen Sie für anliegende Aufgaben noch nicht einmal eigenen Code schreiben, weil das schon jemand vor Ihnen getan hat. Suchen Sie einfach im Web, kopieren Sie den Code und ändern Sie ihn nach Ihrem eigenen Bedarf – es sei denn, der Code wäre urheberrechtlich geschützt.

Eine gute Liste englischsprachiger Ressourcen finden Sie auch auf der Python-Website.

Python installieren

Eine der Herausforderungen an Python sind Linux-Distributionen, die mit Python in Version 2 ausgeliefert werden. Diese Version erreicht allmählich ihr Lebenszeitende. Allerdings sind einige Linux-Utilities zwingend auf Python 2 angewiesen, so dass ein Wechsel auf Version 3 Ihr System nachteilig beeinflussen könnte. Bei Nutzung von Python 3 stellen Sie sicher, dass Ihr Code auch in Zukunft noch verwendet werden kann, trotzdem sollten Sie die Implikationen eines Upgrades nicht unterschätzen und verstanden haben.

In der Abbildung 1 sehen Sie, wie ein Alias – python3 – auf /usr/bin/python3 eingerichtet wurde.

Installation mit Python Version 2 und Version 3.
Abbildung 1: Installation mit Python Version 2 und Version 3.

Dieses duale System ist ein wenig anfällig für schwer zu findende Bugs, weil es das irrtümliche Vertauschen der beiden Umgebungen sehr einfach macht.

Je nachdem, welche Version von Python und pip Sie verwenden (mit pip installieren Sie Python APIs), können diese sich an unterschiedlichen Orten befinden:

ls -d /usr/bin/python*

/usr/bin/python            /usr/bin/python2-config  /usr/bin/python3m

/usr/bin/python2           /usr/bin/python3         /usr/bin/python-config

/usr/bin/python2.7         /usr/bin/python3.5

/usr/bin/python2.7-config  /usr/bin/python3.5m

Für dieses Problem gibt es mehrere Lösungsansätze. Einer ist es, die Umgebungsvariable auf PYTHONPATH zu setzen. Auch können Sie pip3 und python3 eingeben, wenn Sie Version 3 verwenden möchten.

Mit Ubuntu ab Version 16 werden Sie vermutlich keine Probleme mehr haben, anders als bei CentOS 6.8 und früheren Versionen.

Einige einfache Beispiele für Python

Python ist keine typisierte Sprache. Das bedeutet, dass Sie in Python eine Variable verwenden können, ohne ihren Datentyp vorab festgelegt haben zu müssen. Dadurch wird das Programmieren einfach.

Im folgenden Beispiel speichert die Variable a einen Ganzzahlwert. In der ersten Zeile wird der Wert von a festgelegt. In der zweiten Zeile wird der Wert von a abgefragt und das System zum Ausgeben dieses Wertes aufgefordert. Er entspricht natürlich dem Wert, der in der vorausgehenden Zeile festgelegt wurde.

>>> a = 2

>>> a

2

Auch Funktionen können in Python eingesetzt werden. Wie Sie eine solche Funktion definieren, zeigt das folgende Beispiel. Auch wenn Sie es von anderen Programmiersprachen gewohnt sein mögen: Nutzen Sie keine Klammer und kein Semikolon.

>>> def twice(a):

...     return a * 2

...

>>> twice(a)

4

Berücksichtigen Sie den Codeschnipsel von weiter oben: Wir hatten a den Wert 2 zugewiesen. Mit twice definieren wir nun eine Funktion, die den Wert verdoppeln soll, der als Ganzzahl gespeichert wurde. Dafür nutzen wir ebenfalls den Buchstaben a, diesmal allerdings als Parameter. An dieser Stelle ist es wichtig, dass Sie das Konzept des Gültigkeitsbereichs verstanden haben: Das a innerhalb der Funktion ist nicht dasselbe a wie das außerhalb der Funktion. Wenn Sie diese Gültigkeitsbereiche nicht berücksichtigen, können Sie tagelang sogar nach einfachen Fehlern suchen.

Auch Frameworks sind für Programmiersprachen hilfreich. Um zum Beispiel mit dem Betriebssystem zu kommunizieren, können Sie einfach schreiben

import os

Daraufhin können Sie andere Aktionen ausführen, wie etwa das Ausgeben der Inhalte eines Verzeichnisses:

os.listdir("/tmp")

Sie könnten auch eine Variable nutzen, um denselben Befehl universeller zu schreiben:

>>> dir = "/tmp"

>>> os.listdir(dir)

Python unterstützt Objekte. Für die meisten Aufgaben benötigen Sie diese Unterstützung aber gar nicht. Python verfügt über eine Vielzahl an Möglichkeiten, die auf Anfänger kompliziert wirken, dazu gehören sicherlich Funktionen wie Lambdas oder Dictionary-Objekte (die nichts anderes sind als Name-Wert-Paare).

Wenn Sie Python verwenden wollen, fangen Sie mit einfacheren Dingen an und bauen Sie Ihr Wissen mit der Zeit auf. Nutzen Sie Editoren für Python, denn diese helfen Ihnen bei der Fehlersuche schon zur Entwicklungszeit statt erst zur Laufzeit – das macht das Programmieren deutlich einfacher als mit der Verwendung von vi und Bash. Die interaktive Python Shell ist tatsächlich die beste Möglichkeit zum Schreiben von Code, denn Sie können damit Ihren Code Abschnitt für Abschnitt implementieren.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

 

Nächste Schritte

Warum Sie Python für SDN lernen sollten

Virtualisierungs-Administratoren müssen offen sein

Was hat für System-Administratoren oberste Priorität haben sollte

Erfahren Sie mehr über IT-Berufe und Weiterbildung