© Nadya C/Shutterstock.com
Windows Developer
Azure VMs als Teil der Anwendung provisionieren

Nur ein weiteres Stück Software

Viele Entwickler nutzen bereits virtuelle Maschinen in Azure als Entwicklungsumgebung oder zu Testzwecken. Oftmals werden diese Maschinen aber noch manuell angelegt und eingerichtet. Dieser Artikel beschreibt den Infrastructure-as-Code-Ansatz, das heißt, wie diese Maschinen als Teil des Deployments über den TFS beziehungsweise Azure DevOps automatisch deployt werden, und gibt einen Ausblick, wie die Desired-State-Configuration-(DSC-)Technologie funktioniert und für die vollautomatische Einrichtung von VMs genutzt werden kann.

Boris Czerwinski, Bernd Pehlke


Vielleicht erinnert sich der ein oder andere noch an die gute alte Zeit, in der man für Projekte haufenweise virtuelle Maschinen aufgesetzt hat. Dafür brauchte man zum Beispiel einen SQL-Server, Webserver oder Application-Server. Eventuell auch noch zusätzliche Maschinen für eine komplette Umgebung, wie Domaincontroller, Mailserver sowie eine Application-Maschine, auf der zahlreiche Dienste und Web Services liefen.

Am Ende hatte man nach einigen Projekten eine Reihe von virtuellen Maschinen und hat irgendwann noch mehr erzeugt, weil man sich gar nicht mehr erinnern konnte, dass bereits eine ähnliche schon mal existiert hat. Das Ganze lief auch relativ manuell ab, oft brauchte man noch CDs für das Betriebssystem und die restliche Software. Wenn man gut war, hatte man irgendwann Images mit Grundausstattungen, sogenannte Golden Images.

Installiert wurden die virtuellen Maschinen meist auf einem Bürorechner mit sehr viel Arbeitsspeicher. Nur wer gut ausgestattet war, hatte vielleicht irgendwo ein Server-Rack stehen.

Die moderne Zeit

Heutzutage ist vieles einfacher geworden. Man benötigt keine eigenen Rechner, sondern man geht einfach in die Cloud. Man braucht auch keine CDs mehr, um umständlich die Maschinen selbst zu bestücken. Die sind relativ einfach mit dem, was man benötigt, über das Azure Portal zusammenzukonfigurieren.

Doch auch in dieser neuen Welt gibt es Probleme, die gelöst werden müssen. So wollen Entwickler beispielsweise nicht jede virtuelle Maschine manuell zusammenklicken, sondern möchten eine Vorlage haben. In typischen Anwendungsfällen möchte man sie auch nur in einer Build-, Deploy- und Teststrecke erzeugen, nutzen und danach wieder löschen. Die Vorlage möchte man auch gleich mit dem Rest seines Codes versionieren. Idealerweise gibt es auch dafür bereits fertige Lösungen.

ARM-Templates

Vielen Entwicklern, die bereits im Kontext der Azure-Cloud entwickelt haben, wird der Ausdruck Azure-Resource-Manager-(ARM-)Vorlagen bereits ein Begriff sein. Mit diesen JSON-basierten Vorlagen kann man eigentlich alle Ressourcen, die man in Azure manuell anlegt, automatisiert erstellen lassen. Viele haben das vielleicht schon mal gemacht, nachdem das Development-System aufgebaut wurde. Man kann es sich automatisch in einem Gesamtskript zusammenfügen. Mit einigen Variablen versehen kann man nun sehr leicht automatisiert Test- und Produktivsysteme aufsetzen.

Das kann man nun auch für virtuelle Maschinen machen und sich Templates erstellen. So kann man schnell Testsy...

Windows Developer
Azure VMs als Teil der Anwendung provisionieren

Nur ein weiteres Stück Software

Viele Entwickler nutzen bereits virtuelle Maschinen in Azure als Entwicklungsumgebung oder zu Testzwecken. Oftmals werden diese Maschinen aber noch manuell angelegt und eingerichtet. Dieser Artikel beschreibt den Infrastructure-as-Code-Ansatz, das heißt, wie diese Maschinen als Teil des Deployments über den TFS beziehungsweise Azure DevOps automatisch deployt werden, und gibt einen Ausblick, wie die Desired-State-Configuration-(DSC-)Technologie funktioniert und für die vollautomatische Einrichtung von VMs genutzt werden kann.

Boris Czerwinski, Bernd Pehlke


Vielleicht erinnert sich der ein oder andere noch an die gute alte Zeit, in der man für Projekte haufenweise virtuelle Maschinen aufgesetzt hat. Dafür brauchte man zum Beispiel einen SQL-Server, Webserver oder Application-Server. Eventuell auch noch zusätzliche Maschinen für eine komplette Umgebung, wie Domaincontroller, Mailserver sowie eine Application-Maschine, auf der zahlreiche Dienste und Web Services liefen.

Am Ende hatte man nach einigen Projekten eine Reihe von virtuellen Maschinen und hat irgendwann noch mehr erzeugt, weil man sich gar nicht mehr erinnern konnte, dass bereits eine ähnliche schon mal existiert hat. Das Ganze lief auch relativ manuell ab, oft brauchte man noch CDs für das Betriebssystem und die restliche Software. Wenn man gut war, hatte man irgendwann Images mit Grundausstattungen, sogenannte Golden Images.

Installiert wurden die virtuellen Maschinen meist auf einem Bürorechner mit sehr viel Arbeitsspeicher. Nur wer gut ausgestattet war, hatte vielleicht irgendwo ein Server-Rack stehen.

Die moderne Zeit

Heutzutage ist vieles einfacher geworden. Man benötigt keine eigenen Rechner, sondern man geht einfach in die Cloud. Man braucht auch keine CDs mehr, um umständlich die Maschinen selbst zu bestücken. Die sind relativ einfach mit dem, was man benötigt, über das Azure Portal zusammenzukonfigurieren.

Doch auch in dieser neuen Welt gibt es Probleme, die gelöst werden müssen. So wollen Entwickler beispielsweise nicht jede virtuelle Maschine manuell zusammenklicken, sondern möchten eine Vorlage haben. In typischen Anwendungsfällen möchte man sie auch nur in einer Build-, Deploy- und Teststrecke erzeugen, nutzen und danach wieder löschen. Die Vorlage möchte man auch gleich mit dem Rest seines Codes versionieren. Idealerweise gibt es auch dafür bereits fertige Lösungen.

ARM-Templates

Vielen Entwicklern, die bereits im Kontext der Azure-Cloud entwickelt haben, wird der Ausdruck Azure-Resource-Manager-(ARM-)Vorlagen bereits ein Begriff sein. Mit diesen JSON-basierten Vorlagen kann man eigentlich alle Ressourcen, die man in Azure manuell anlegt, automatisiert erstellen lassen. Viele haben das vielleicht schon mal gemacht, nachdem das Development-System aufgebaut wurde. Man kann es sich automatisch in einem Gesamtskript zusammenfügen. Mit einigen Variablen versehen kann man nun sehr leicht automatisiert Test- und Produktivsysteme aufsetzen.

Das kann man nun auch für virtuelle Maschinen machen und sich Templates erstellen. So kann man schnell Testsy...

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