Eigene Software-Entwicklungen

Wie früher ein Schmied sich sein Werkzeug selbst herstellen musste um seinen Aufträge abzuarbeiten, läuft es heutzutage auch in der IT Branche. Oft schaffen sich die IT’s ihre Werkzeuge in Form von Scripten, zum Beispiel zur Automatisierung, oder kleine andere Programme um den Alltag etwas effizienter zu bewältigen. Gerade wenn oder nach dem die Arbeitslast besonders hoch ist/war oder wieder eine sehr aufwendige Routineaufgabe auf mich zu kam, fing ich an, kleine Tools zu schreiben um die eigene Arbeit effizienter zu gestallten und mich in erster Linie zu entlasten. Dabei entfalten die Skripte gerade bei wiederkehrenden Routineaufgaben ihr Potenzial zum Beispiel beim Datensammeln oder Aufbereiten zu übersichtlichen Reports.

Nach und nach sammelten sich die Tools an oder es entstanden weitere Anforderungen gesammelte Daten dynamisch auszuwerten oder weiter zu verarbeiten. Im Ergebnis lief esdas dann immer auf eine Webanwendung hinaus, die alles vereinte und den anderen Kollegen die Daten ebenfalls zur Verfügung stellt.

Damals entwickelte ich eine Oberfläche um die Laufzeiten der Backupscripte automatisiert und übersichtlich dazustellen um beispielsweise Überschneidung der Backupzeiten zu erkennen. PHPNema 1 war geboren welches sich dann weiterentwickelte und später um Ansprechpartnerverwaltung, Knowledgebase (heute nennt man sowas ein WIKI) und Inventarisierung erweitert wurde. PHPNema stand damals für „PHP basierter Netzwerkmanager“. Natürlich war das damals alles mit PHP und meinen anfänglichen Programmierkünsten noch nicht ausgereift, wodurch es immer etwas mehr pflege benötigte. Trotz dessen erfüllte es seinen Zweck und ersparte jeden Tag viel eigene Arbeitszeit.

Beim späteren Arbeitgeber SurfboxX IT-Solutions entstand PHPNema 2 mit der Entwicklung eines eigenen Ticketsystems basierend auf Bootstrap mit modernem Responsive Design für die mobile Anwendung ganz nebenbei. Später kamen dann weitere Module automatische Dokumentation/Inventarisierung von Servern, Serverwartungen (automatisierter Import von Logfiles, Auslastungen etc.), Rechnungsmodul und Lagerverwaltung hinzu. Die Möglichkeiten die ein selbstentwickeltes System bot wirkten schier unendlich und so wurde es über Jahre stets weiterentwickelt und angepasst. Gerade das Wartungsmodul für die Wartung von Servern war eine große Hilfe da der personelle Aufwand pro Server von knapp 60 Minuten auf etwa 10 Minuten reduziert werden konnte. Das manuelle Sammeln und aufbereiten der gesammelten Daten schaffte da die größte Zeitersparnis.

Für AIDA hatte ich die Entwicklung von so einem umfassenden Tool nicht vor, weil damals aufgrund der großen Applikationsauswahl kein Bedarf bestand und Eigenentwicklungen nicht so gern gesehen werden. Doch dann kam es irgendwann anders un der der Tag als es mit den ersten Automatisierungscripten losging ließ nicht lange auf sich warten…

Reporting – Erste SOX-Daten (Sarbanes-Oxley Act) sammelnde Script entstanden in Powershell und wurden dann per Mail an die entsprechenden Mitarbeiter versendet.

Sophos – Später dann, fand ich eine Möglichkeit die SOPHOS Instanzen der Schiffe anzuzapfen um diese dann in eine MySQL-Datenbank zu importieren und zentral in unserem eigenen Sophos Dashboard dazustellen. Von dem Zeitpunkt an hatten wir täglich den Überblick über die USB- und Virenscan-Aktivitäten, ohne uns jede Instanz manuell ansehen zu müssen, was unsere Reaktionszeit auf Virenvorfälle deutlich verkürzte. Auch bei den statischen SOX-Reports sollte es nicht lange bleiben und so wanderten die Reports allmählich mit in das Dashboard.

WSUS – Mindestens einmal pro Jahr mussten dann Informationen zu eingesetzten PC-Hardware, Windows Betriebssystemen mühsam gesammelt und in Word aufbereitet werden. Über Powershell konnte ich eine Lösung finden um auf die Daten der WSUS-Server zuzugreifen und automatisiert aufzubereiten. Fragen wie, wie oft haben wir noch Windows XP oder alte PC im Einsatz konnten dann per Knopfdruck beantwortet werden.

Active Directory – Durch den fehlenden, zeitgleichen Überblick über alle Active-Directories der Schiffe brachte mich auf die Idee, auch die Active-Directories anzuzapfen und über PHP im Dashboard darzustellen. Die gewonnenen Daten zeigten uns ganz schnell einige Baustellen zur Standardisierung der Active-Directory Accounts. Seit letztem Jahr werden nun auch Active-Directory-Accounts und Gruppen über das Dashboard für alle Standorte/Schiffe ausgerollt, was bei einem Faktor von 13 schwimmenden Standorten schon einen großen Nutzen und Zeitersparnis bringt, abgesehen davon, dass unterschiedliche Nutzername aufgrund von Tippfehler von nun an der Vergangenheit angehörten.

VMWare vSphere Dashboard – Eine ganz große Errungenschaft war dann das zentrale VMWare vSphere Dashboard, welches ich entwickelte. Über ein Drittanbieter Tool werden die vSphere Umgebungen täglich automatisiert ausgelesen und in meine Datenbank importiert. Im Ergebnis haben wir einen aktuellen, kompletten Überblick über die vSphere-Landschaften der Schiffe und können so pro-aktiv handeln. Überalterte und vergessene Snapshots gehörten von nun an der Vergangenheit an. Auch das Rollout neuer virtueller Maschinen wird dadurch vereinfach weil auch die Konfiguration bestehender virtueller Maschinen per Mausklick angezeigt werden.

Die gesammelten Informationen schafften immer wieder neue Reports und Erkenntnisse die unsere Entscheidungen beeinflussen, weil uns gewissen Dinge nicht bewusst waren.

Wie du siehst, fängt es meisten mit einer kleinen Idee an die dann Stück für Stück wächst 😉