MIDRANGE 02/2018

26 MIDRANGE MAGAZIN · 02/2018 SONDERTEIL 30 JAHRE AS/400 Der Blick in die Zukunft Infrastructure as Code (IaC) Seit Jahren wird in der IT strikt zwischen den beiden Bereichen der Infrastruktur und der Softwareentwicklung unterschieden. Das fängt bei der Ausbildung an und zieht sich durch das gesamte Berufsleben. Sozusagen als Abschluss des Sonderteils und als Blick in die Zukunft auf das Thema IaC soll dieser Artikel einen ersten Einblick vermitteln, was IaC bedeutet und was sich dadurch alles verändern könnte. D ie Zeiten, in denen Server per Hand installiert und konfiguriert wurden, sind schon länger vorbei. Mit Hilfe von Automatisierungstools wie Red Hats Satellite werden Server heute über das Netz installiert und provisio- niert. Für die Installation der Software haben viele Systemadministratoren ihre eigene Bash-/Powershell-Skript- Sammlung und sparen sich somit wert- volle Zeit. Der Grundstein für Infrastuc- ture as Code ist hiermit schon gelegt. Fügt man weitere Prozesse aus der Softwareentwicklung und der Cloud- Technologie hinzu, kommt man sehr schnell zu einer kompakten Lösung, um Infrastruktur zu installieren und zu konfigurieren. Doch damit ist die Auf- gabe noch nicht getan, schließlich muss die Infrastruktur dokumentiert und re- gelmäßig gewartet werden. Und nicht zu vergessen: Bei einem Hardwareaus- fall muss das System in möglichst kur- zer Zeit wiederhergestellt werden! Doch gehen wir zunächst auf die Rol- le des Softwareentwicklers ein bzw. auf die Rolle des ominösen „DevOPs Guy“. Dieser neue Bereich ist ein erstes Zei- chen für die Auswirkungen von IaC auf die Informatik. Die Aufgabe von DevOps ist es, Prozesse für den Aufbau und die Verwaltung von Infrastruktur im Pro- grammcode abzubilden. Dabei wird auf die Techniken und Paradigmen der Soft- wareprogrammierung zurückgegriffen. Zu den Techniken zählen Versionsver- waltungssysteme, Patchmanagement, agiles Arbeiten, CI/CD (Continous In- tegration und Continous Development) und das Testing. Bei der Entwicklung des Programmcodes achtet die DevOps- Person insbesondere auf Prinzipien wie KISS (keep it small and simple) und DRY (don’t repeat yourself). Dadurch wird ge- währleistet, dass der Code nicht unnötig komplex wird, was es anderen Entwick- lern erleichtert, den Code zu verstehen und weiterzuentwickeln. Mit Hilfe von DevOps kann man sich also gegen die traditionelle Rolle des allmächtigen Ad- ministrators schützen, denn der Code ist durch die Versionsverwaltung für alle zugänglich und Veränderungen werden durch festgelegte Prozesse kontrolliert durchgeführt. Durch diese Veränderungen kommen jedoch auch neue Herausforderungen auf Baremetal-Ebene hinzu. Um flexibel und skalierbar zu bleiben, wird hier auf Virtualisierungslösungen gesetzt, denn vor allem im Bereich Skalierbarkeit sind Cloud-Lösungen unschlagbar. Dabei werden nicht nur einzelne Server virtua- lisiert, sondern die gesamten Netzwerke. Über Schnittstellen zur Cloud API kann so die gesamte Infrastruktur als Code ab- gebildet werden. Aber wozu dieser ganze Aufwand? Die Antwort lautet: Hochver- fügbarkeit und effektive Lastenvertei- lung. Mit einem hohen Automatisie- rungsgrad können Lastspitzen erkannt und zusätzliche Compute Ressourcen (CPU & Arbeitsspeicher) allokiert und zu einem gewissen Zeitpunkt für andere Dienste wieder freigegeben werden. Ein Webshop ist hierfür ein gutes Beispiel. Die Anzahl der aktuellen Nutzer eines Webshops lässt sich einfach überwachen und in gewissen Zeiträumen vorhersa- gen. So gibt es beispielsweise an einem Wochenende mehr Nutzer der Webseite als unter der Woche. Für diese Zeiten können weitere Webserver in der Cloud- Umgebung erstellt und provisioniert werden. Und das ohne Eingreifen des zuständigen Administrators. Um dieses Szenario nachzubilden, muss die Anwendung jedoch einige Anforderungen erfüllen. Dazu muss sie unter anderem stateless sein und eben- so failsafe. In modernen Cloud-Anwen- dungen muss stets mit einem Fehler im Code gerechnet werden – dieser Fehler darf jedoch nicht zu einem Totalausfall führen. Es gibt bereits in den Entwick- lungsprozess integrierte Anwendungen wie zum Beispiel Netflix’ Chaos Monkey (www .github.com/Netflix/SimianArmy/ wiki/Chaos-Monkey) , die sicherstellen, dass das System bei einem Ausfall von Teilkomponenten weiterhin läuft. Denn mit Hilfe von IaC lassen sich fehlerhafte Systemkomponenten schnell austauschen. Das erspart nicht nur dem Administrator mitten in der Nacht Panikanfälle bei einer Meldung des Monitoring-Systems, sondern sorgt auch für zufriedene Kunden. Tobias Löb ó www.netzlink.com

RkJQdWJsaXNoZXIy NDM3NDQ=