Mittlerweile hat es sich herumgesprochen, dass der Charme bei der Bereitstellung von Ressourcen in der Cloud neben der Flexibilität, der Skalierbarkeit und der Verfügbarkeit auch der ist, dass man nur die tatsächlich genutzten Ressourcen bezahlen muss. Das kann man sich zu Nutze machen und die nicht benötigten Ressourcen in der Nacht, oder am Wochenende automatisiert herunterfahren. So lassen sich beträchtliche Summen sparen.

Wenn man Ressourcen in den modernen Cloud Rechenzentren (Microsoft Azure) betreibt, dann sollte man auch sein bisheriges Betriebskonzept an die neu gewonnene Flexibilität anpassen. Die Zeiten in der jeder Server 24/7 in Betrieb sein musste sind nicht zwingend zeitgemäß. Natürlich gibt es solche, die immer zur Verfügung stehen müssen, aber teilweise kann auf den Dauerbetrieb verzichtet werden. Wenn man bereit ist neue Wege zu beschreiten, sich Alternativen gegenüber öffnet und damit beginnt das “alte Denken” über Bord zu werfen, dann erschließen sich neue Möglichkeiten, die man bisher nicht kannte.

Kostenvergleich on Premise vs. Cloud

Oftmals werde ich von Kunden gefragt, ob eine Migration eines lokalen Rechenzentrums in die Cloud tatsächlich Kosten einspart. Meist ist meine Antwort darauf ein “kommt darauf an”. Wenn man das bestehende Datacenter 1 zu 1 in der Cloud abbildet, dann hat man tendenziell einen finanziellen Nachteil. Der Vorteil ergibt sich erst dann, wenn man umdenkt und Alternativen zur bisherigen Bereitstellung sucht. So kann Plattform as a Service (PaaS) dabei helfen die Kosten drastisch zu reduzieren. Oftmals können die Dienste automatisch skaliert werden und deshalb für den Normalbetrieb mit geringerer Größe auskommen. Lastspitzen können durch die Skalierbarkeit abgefangen werden. Bei der Bereitstellung von Infrastructure as a Service (IaaS) kann die Skalierung genauso genutzt werden. In diesem Artikel wollen wir jedoch primär darauf eingehen, dass virtuelle Maschinen im Zweifel nicht 24 Stunden täglich laufen müssen, sondern vielleicht auch in der Nacht und am Wochenende heruntergefahren werden können. In Azure kostet uns diese Maschine dann nämlich nichts mehr. Lediglich der belegte Festplattenplatz wird weiterhin verrechnet.

Beispielrechnung

Ein Server läuft bisher 24/7, obwohl er eigentlich nur zu den Bürozeiten (Montag bis Freitag zwischen 08:00 und 19:00 Uhr) benötigt wird. Würde der Server in der nicht benötigten Zeit heruntergefahren werden, dann würde er keine Kosten mehr verursachen.

Zum Vergleich ziehen wir eine Azure VM D3v2 (4 Cores, 14 GB RAM, 200 GB) mit Windows Betriebssystem heran.

Betrieb in Vollzeit
24 Std. * 7 Tage * 52 Wochen = 8.736 Std. / Jahr
à 3.956,53 € / Jahr 

Betrieb bei Bedarf
11 Std. * 5 Tage * 52 Wochen = 2.860 Std. / Jahr
à 1.295,29 € /Jahr 

Wie Sie sehen ist hier ein riesiges Einsparpotential vorhanden. Wenn der Server heruntergefahren wird, können die Compute Betriebskosten um ca. 2/3 reduziert werden. Da freut sich der Controller. Auch automatisiertes Downsizing, d.h. außerhalb der Betriebszeiten werden die Server herunterskaliert, führt zu einer geringeren finanziellen Belastung. Zudem bleiben die Dienste aber weiterhin erreichbar, wenn auch nicht unter voller Performance.

Wie kann ich die virtuellen Maschinen in Azure automatisch herunterfahren und starten?

Jetzt habe ich schon viel darüber gesprochen welches finanzielle Potential dahinter steckt seine Server herunterzufahren, wenn sie nicht benötigt werden, aber wie geht das? Die Lösung dafür heißt “Azure Automation”. Mit Hilfe sogenannter Runbooks, können wiederkehrende Tasks automatisiert werden. Ein solcher Task kann in diesem Fall das terminierte Stoppen, oder Starten von Virtuellen Maschinen sein.

Seit Kurzem gibt es in der Preview die Möglichkeit sich die manuellen Schritte abnehmen zu lassen. Das folgende Tool “Start/Stop VMs during off-hours” unterstützt dabei die VMs einer, oder mehrerer Ressourcengruppen automatisiert zu starten und zu stoppen. Die Einrichtung ist denkbar einfach.

  1. Wir fügen eine Ressource “Start/Stop VMs during off-hours” hinzu.
    Start Stop VMs during off-hours
  2. Danach legen Sie den OMS Workspace an
    Neuen OMS Workspace erstellen
  3. Der Automation Account wird dafür benötigt das Skript auszuführen.
    Automation Account erstellen
  4. Schließlich muss noch der Zeitplan hinterlegt werden. Ab diesem Zeitpunkt wird das Skript täglich zu dieser Zeit ausgeführt.
    Paramaeter eingeben

Ab sofort werden die virtuellen Maschinen in der Ressourcengruppe “aConTechFast-RG” täglich um 08:00 Uhr gestartet und um 19:00 Uhr wieder gestoppt.

Im Hintergrund werden “normale” Automation Runbooks erstellt, die über Schedules initialisiert werden. So bleiben auch nach der Erstellung alle Möglichkeiten der Feinjustierung erhalten.

Azure Automation

Fazit

Azure Automation bietet neben der Möglichkeit virtuelle Maschinen hoch- und herunterzufahren noch zahlreiche weitere Möglichkeiten der Automatisierung wiederkehrender Aufgaben. Können wir Sie dabei unterstützen Ihre Umgebung zu automatisieren? Dann kommen Sie gerne auf uns zu.