Automatisierung von Admin-Aufgaben
Wir IT-Administratoren arbeiten in zwei verschiedenen Welten. Die eine Welt ist unser Zuhause, die Technik. Wir müssen Dienste bereitstellen, effiziente Lösungen etablieren und streben nach Innovationen. Die andere Welt ist die Welt der Anwender. Dort werden Bedürfnisse laut, Wünsche werden geäußert und eine einfache Zusammenarbeit wird gefordert.
Um in der immer komplexer werdenden IT-Landschaft weiterhin als fähiger Business Partner im Unternehmen agieren zu können, müssen Prozesse standardisiert und automatisiert werden.
Die Admin Aufgaben automatisieren, Parameter zur Ausführung zulassen und das anderen Personen zur Verfügung zu stellen, so wünscht man sich einen "Service Katalog". Doch so schwer ist das nicht. Mit Microsoft PowerShell lassen sich nahezu alle Tasks automatisieren und mittels admins-buddy ist das Ausführen, Überwachen und Steuern von Jobs möglich.
Eine typische Aufgabe eines Administrators in einem Unternehmen ist: Erstelle eine virtuelle Maschine in der VMware vSphere Umgebung mit dem Namen „SRV01“.
In PowerShell (+VMware PowerCLI Modul) sieht das wie folgt aus:
new-vm -name $VMname -template $VMtemplate -VMHost $VMhost -datastore $VMdatastore -location $VMlocationfolder -OSCustomizationSpec $VMoscustspec
Die Parameter, welche vorher definiert werden müssen sind:
$VMname: Name der virtuellen Maschine
$VMtemplate: Name des VMware Templates
$VMhost: ESXi Host
$VMdatastore: Datastore
$VMlocationfolder: Name des Ordners
$VMoscustspec: Customization Specification (deutsch „Anpassungsspezifikation“)
Nicht all diese Parameter können und müssen durch denjenigen bestimmt werden, der diesen Automatismus nutzen will. Der Anforderer weiß unter Umständen nicht, ob der Name den er gewählt hat eventuell bereits vergeben ist. In diesem Fall wird der Anwender Anforderungen an die CPU, Arbeitsspeicher, Betriebssystem oder Festplattengröße mitgeben.
set-vm -vm $VMname -NumCpu $VMnumCPU -MemoryGB $VMramGB -notes $VMnotes -confirm:$false
Je nach Unternehmen und Anwender könnte vielleicht sogar das Netzwerk der neuen virtuellen Maschine im Vornherein bestimmt werden (meist ist das eher nicht der Fall).
Get-NetworkAdapter -vm $VMname | Set-NetworkAdapter -NetworkName $VMvlan -Confirm:$false -StartConnected:$true
Natürlich ist es nicht mit diesen wenigen PowerShell Zeilen nicht getan. Letztendlich sollten aber nur Parameter hostname, vCPU, memory, disksize, template, vLAN ausgewählt werden können. Den Rest entscheidet der Automatismus.
In der Web-GUI sieht das übersichtlich aus:
Genau diese Ressource „VMware: Create virtual machine“ steht in der Library zur Verfügung und kann kostenfrei genutzt werden.
Dieses Beispiel besteht hat in der Realität einen größeren Umfang und ist von Unternehmen zu Unternehmen unterschiedlich. Es verdeutlich jedoch, dass die Automatisierung von Admin Aufgaben sehr rasch einen enormen „return on invest“ bedeuten wird.
Die Frage, die man sich eher stellen sollte, ist "was soll und was sollte nicht automatisiert werden?".
Daher die Überlegungen:
- Wie lange dauert es, bis die Aufgabe des Administrators automatisiert ist?
- Besteht die Aufgabe eventuell aus mehreren Automatismen?
- Wie oft muss der Automatisierungsjob angestoßen werden, bis sich der Aufwand lohnt?
- Gibt es Gefahren bei der Ausführung des Automatismus und wie können diese verhindert werden?
Dauert eine regelmäßige Tätigkeit (täglich) länger als zwei Minuten, dann automatisiere es. Dauert eine wöchentliche Tätigkeit länger als 15 Minuten, automatisiere es.
Befähigt es andere? Ja? Automatisiere es!
„befähigen"?
Als Administrator kann man häufig was, was andere (Admins) nicht können. Sei es, weil die Berechtigungen oder die Kenntnisse fehlen. Ermöglicht man andere das zu tun, was sie sonst nicht in können oder dürfen und das dann noch standardisiert, ohne Fehler und dokumentiert? Dann nichts wie los!
automate IT tasks easily and efficiently
Empower others to get things done