Auf der Suche nach einer Lösung, wie sich das Aufsetzen einer neuen Entwicklungsumgebung vereinfachen lassen könnte, sind wir in Azure auf die „DevTest Lab“ gestoßen.
Dieses „Lab“ ist ein Pool, in dem relativ einfach virtuelle Maschinen (VM) erstellt werden können. Die Kosten für die VMs lassen sich beliebig skalieren. Es muss nur für die genutzten Ressourcen bezahlt werden und die VMs können automatisiert an bestimmten Uhrzeiten wieder heruntergefahren werden.
Mit dem monatlichen Azure Kredit, der in der Visual Studio Subscription hinterlegt ist, kann der Service ohne Verpflichtungen ausprobiert werden. Dafür wird zu Beginn eine „DevTest Lab Ressource“ benötigt. Diese Ressource dient als Container für einen Pool an VMs. Innerhalb des Labs unter "My virtual machines" können dann neue VMs hinzugefügt werden. Beim Erstellen einer neuen VM wird als erstes ein „Base Image“ ausgewählt. Diese Basis enthält bereits ein Operation System und ausgewählte Software. In der Azure Gallery gibt es Base Images für BizTalk Server 2013, 2016, SQL Server, Redhat und weitere Unix-Versionen.
Leider enthalten die BizTalk Server Base Images keinen vorinstallierten BizTalk-Server, sondern nur das Installationsmedium. Für einen BizTalk-Clusterknoten, der eine außerhalb liegende SQL-Datenbank nutzt, ist das ausreichend. Für den Anwendungsfall, in dem wir eine „One box“ erstellen möchten, brauchen wir auf der VM neben BizTalk auch noch SQL Server.
Um die One Box schneller zu erstellen, ist es sinnvoll, das „MSSQL Server Base Image“ aus der Gallery zu nutzen, weil dort der SQL Server bereits vorinstalliert ist. Nachdem das Base Image ausgewählt wird, bietet der Assistent die Möglichkeit, weitere Artifacts der VM hinzuzufügen. Dort kann aus einer Vielzahl von Programmen ausgewählt werden. Für die Entwickler VM sind Programme wie Notepad++, 7-Zip und Chrome sinnvoll. Neben diesen gibt es auch verschiedene IDEs, die automatisiert als Artefakte hinzugefügt werden können. Die Artefakte werden beim ersten Start der VM direkt installiert.
Unter dem Punkt „Advanced settings“ ist es möglich, das VM Netzwerk im Detail zu konfigurieren. Für diese One Box ist die Standard-Einstellung der „shared open IP address“ allerdings ausreichend.
Mit der Erstellung der VM fügt Azure eine neue Ressourcen Gruppe hinzu, in der sich auch ein Load Balancer, ein Availabiltiy Set, Storage Account und Netzwerk Komponenten befinden. Die VMs kommen in der Standard Version mit einer 128GB großen VHD, die dem Storage Account hinzugefügt wird. Über einen „Connect“-Button ist es möglich, eine RDP-Verbindung aufzubauen. Danach muss das BizTalk-Setup aus der Visual Studio Subscription heruntergeladen, installiert und konfiguriert werden. Damit ist die One Box für den BizTalk-Entwickler einsatzbereit.
Alternativ kann man auch BizTalk Installation und Konfiguration automatisiert durchlaufen lassen, z.B. mit packer.io anzusehen. Das Tool soll eine vollständige Konfiguration von Programmen ohne manuelle Eingaben ermöglichen. Damit können zudem auch die Installations- und Konfigurationseinstellungen in einer Versionskontrolle wie TFS oder Git verwaltet werden. Auch die getrennten Konfigurationen für alle Stages ist damit verfügbar. Damit wird das Ausrollen eines kompletten Systems ermöglicht.