© saicle/Shutterstock.com
PHP Magazin
Automatisierung administrativer Aufgaben für Softwareentwickler

Automatisierung administrativer Aufgaben für Softwareentwickler

Die Automatisierung täglicher Arbeitsabläufe ist für Administratoren keine neue Aufgabe. Auch der geneigte Softwareentwickler wird schon das eine oder andere Mal in die Verlegenheit gekommen sein, für einfache Aufgaben der täglichen Routine eine programmatische Lösung zu bauen, jedoch war die Notwendigkeit hierfür meist eher im lokalen Entwicklungsumfeld des Programmierers zu finden. Doch was, wenn es serverübergreifend wird?

Steffen Hartmann


In Zeiten, in denen die Grenzen zwischen Entwickler und Administrator fließend werden und Schlagworte wie DevOps die Runde machen, ist es für jeden Entwickler wichtig, Wege für die system- bzw. serverübergreifende Automatisierung von Aufgaben zu finden und zu verstehen, was für die meisten Administratoren ihr täglich Brot ist. Die Liste der Frameworks, die für genau diesen Zweck herangezogen werden können, ist lang und unübersichtlich. Bei der genauen Beschäftigung mit der Materie muss man enttäuscht feststellen: die eierlegende Wollmilchsau ist nicht dabei. Außerdem sind viele dieser Frameworks groß und mächtig und daher für den Entwickler, dessen Hauptaufgabe sicherlich das Entwickeln von Software bleiben soll, nur mit enormem Aufwand zu erlernen und zu warten.

Eines dieser Frameworks, das unserer Ansicht nach aus der Masse hervorgestochen ist, heißt Fabric. Es ist einfach zu erlernen und zu verstehen. Es ist kompakt, aber kein stumpfes Messer, und es ist ohne oder mit geringem zusätzlichem Aufwand auf fast jedem System einsetzbar. Es ist allerdings nicht in PHP, sondern Python geschrieben. Was dem einen Leser jetzt die Tränen in die Augen und in Gedanken schon dazu treibt, das Lesen dieses Artikels an genau dieser Stelle wegen Hochverrats abzubrechen, sieht der andere hoffentlich als Chance. Es ist schließlich die Möglichkeit, einen Blick über den Tellerrand zu werfen und dies gleich in doppelter Hinsicht: beim Automatisieren von Arbeitsabläufen und das auch noch in einer „fremden“ Programmiersprache – wer bis an diese Stelle gekommen ist, der sei willkommen. Viel Spaß beim Lesen.

Die Vorstellung von Fabric überlasse ich der zugehörigen Readme-Datei, weil damit auch schon alles gesagt ist, was man an diesem Punkt wissen muss: „Fabric is a Python library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.“

Die Reise in die Welt von Fabric beginnt – wie meist – mit der Installation. Dann werden wir uns über ein klassisches „Hello-World“-Beispiel zu einem realen Problem vortasten, um anschließend einen tieferen Blick in die Möglichkeiten und Funktionen zu riskieren.

Installation

Für die Installation von Fabric sind nur wenige Abhängigkeiten notwendig, und die meisten benötigten Pakete sind bei den bekannten Linux-Distributionen vorinstalliert. Benötigt wird:

Pythonsetuptools (eine Python-Library für Paketmanagement / Installation … wir nennen es PEAR)Python SSH (eine SS2-Library für Python)PyCrypto...

PHP Magazin
Automatisierung administrativer Aufgaben für Softwareentwickler

Automatisierung administrativer Aufgaben für Softwareentwickler

Die Automatisierung täglicher Arbeitsabläufe ist für Administratoren keine neue Aufgabe. Auch der geneigte Softwareentwickler wird schon das eine oder andere Mal in die Verlegenheit gekommen sein, für einfache Aufgaben der täglichen Routine eine programmatische Lösung zu bauen, jedoch war die Notwendigkeit hierfür meist eher im lokalen Entwicklungsumfeld des Programmierers zu finden. Doch was, wenn es serverübergreifend wird?

Steffen Hartmann


In Zeiten, in denen die Grenzen zwischen Entwickler und Administrator fließend werden und Schlagworte wie DevOps die Runde machen, ist es für jeden Entwickler wichtig, Wege für die system- bzw. serverübergreifende Automatisierung von Aufgaben zu finden und zu verstehen, was für die meisten Administratoren ihr täglich Brot ist. Die Liste der Frameworks, die für genau diesen Zweck herangezogen werden können, ist lang und unübersichtlich. Bei der genauen Beschäftigung mit der Materie muss man enttäuscht feststellen: die eierlegende Wollmilchsau ist nicht dabei. Außerdem sind viele dieser Frameworks groß und mächtig und daher für den Entwickler, dessen Hauptaufgabe sicherlich das Entwickeln von Software bleiben soll, nur mit enormem Aufwand zu erlernen und zu warten.

Eines dieser Frameworks, das unserer Ansicht nach aus der Masse hervorgestochen ist, heißt Fabric. Es ist einfach zu erlernen und zu verstehen. Es ist kompakt, aber kein stumpfes Messer, und es ist ohne oder mit geringem zusätzlichem Aufwand auf fast jedem System einsetzbar. Es ist allerdings nicht in PHP, sondern Python geschrieben. Was dem einen Leser jetzt die Tränen in die Augen und in Gedanken schon dazu treibt, das Lesen dieses Artikels an genau dieser Stelle wegen Hochverrats abzubrechen, sieht der andere hoffentlich als Chance. Es ist schließlich die Möglichkeit, einen Blick über den Tellerrand zu werfen und dies gleich in doppelter Hinsicht: beim Automatisieren von Arbeitsabläufen und das auch noch in einer „fremden“ Programmiersprache – wer bis an diese Stelle gekommen ist, der sei willkommen. Viel Spaß beim Lesen.

Die Vorstellung von Fabric überlasse ich der zugehörigen Readme-Datei, weil damit auch schon alles gesagt ist, was man an diesem Punkt wissen muss: „Fabric is a Python library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.“

Die Reise in die Welt von Fabric beginnt – wie meist – mit der Installation. Dann werden wir uns über ein klassisches „Hello-World“-Beispiel zu einem realen Problem vortasten, um anschließend einen tieferen Blick in die Möglichkeiten und Funktionen zu riskieren.

Installation

Für die Installation von Fabric sind nur wenige Abhängigkeiten notwendig, und die meisten benötigten Pakete sind bei den bekannten Linux-Distributionen vorinstalliert. Benötigt wird:

Pythonsetuptools (eine Python-Library für Paketmanagement / Installation … wir nennen es PEAR)Python SSH (eine SS2-Library für Python)PyCrypto...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang