Isolierte Testumgebungen in Azure, Teil 1 Azure DevTest-Labs nutzen

Anbieter zum Thema

DevTest-Labs ist ein Azure-Service für das einfache Erstellen, Verwalten und Benutzen von IaaS- und PaaS-Umgebungen, die sich zum Herumexperimentieren eignen. Dieser Beitrag geht darauf ein, wie sich die Testumgebungen konfigurieren und bereitstellen lassen.

Nach der erfolgreichen Bereitstellung wird die laufende VM zunächst im Abschnitt „My virtual machines“ angezeigt – und sofern die VM bei der Bereitstellung „Claimable“ gemacht wurde, außerdem unter „Claimable virtual maschines“.
Nach der erfolgreichen Bereitstellung wird die laufende VM zunächst im Abschnitt „My virtual machines“ angezeigt – und sofern die VM bei der Bereitstellung „Claimable“ gemacht wurde, außerdem unter „Claimable virtual maschines“.
(Bild: Drilling / Microsoft)

DevTest-Labs werden häufig verwendet, um Kursbesuchern und -besucherinnen ein Kosten- und Ressource-gedeckeltes Experimentieren mit virtuellen Maschinen zu ermöglichen. Das ließe sich auch mit anderen Azure-Diensten und -Konzepten (z. B. Azure Blueprints, Azure RBAC, Azure Policy) im Zusammenhang mit Ausgaben-limitierten Azure-Abonnements realisieren; der Dienst DevTest-Labs erleichtert allerdings den Aufbau einer Lab-Anbieter/Kursteilnehmer-Situation.

Unternehmen nutzen DevTest-Labs häufig, um ihren Entwicklungskräften isolierte Umgebungen für das Arbeiten mit virtuellen Maschinen zur Verfügung zu stellen. Denn Labs bieten vorkonfigurierte Artefakte für das Erstellen von VMs sowie ARM-Templates zum Einrichten von Umgebungen wie z. B. Azure-Web-Apps oder SharePoint-Farmen.

Was sind DevTest-Labs?

Konzeptionell unterscheidet der Dienst zwischen Lab-Besitzern, die ihrerseits vorkonfigurierte virtuelle Computer samt Tools und Software erstellen und Lab-Benutzern. Letztere können die vorkonfigurierten VMs nutzen oder eigene VMs und Umgebungen erstellen und konfigurieren, wobei die Lab-Nutzung mithilfe so genannter Lab-Policies nachverfolgt und gesteuert werden kann.

Die häufigsten Szenarien für den Einsatz von Azure DevTest-Labs sind VMs für Entwickler, allgemeine Testumgebungen sowie Labs für den konkreten Schulungsbetrieb. In diesem Kontext sorgt der Dienst dafür, dass sich sämtliche Ressourcen ausschließlich im Kontext des Labs nutzen lassen. Dies sorgt letztendlich nicht nur für Effizienz und Konsistenz, sondern kommt auch der Kostenkontrolle zugute.

Woraus bestehen Dev/Test-Labs?

DevTest Labs können benutzerdefinierte Images, Formeln, Artefakte und Vorlagen nutzen, um Labs, VMs und/oder Umgebungen erstellen und verwalten zu können. Eine große Anzahl direkt einsatzbereiter VM-Artefakte und ARM-Vorlagen zum Erstellen von Labs, Umgebungen oder Sandbox-Ressourcengruppen finden sich zudem im zugehörigen DevTestLab-Repository bei GitHub.

Lab-Besitzer können darüber hinaus auch benutzerdefinierte Images, ARM-Templates und Formeln zum Erstellen von Labs, VMs oder Umgebungen erzeugen. Außerdem können Lab-Besitzer Artefakte oder ARM-Vorlagen in einem privaten Git-Repository ablegen und die Repositories für Artefakte oder Vorlagen mit Ihren Labs verbinden. So können Lab-Benutzer direkt über das Azure-Portal darauf zugreifen.

Darüber hinaus ist es möglich, die gleichen Repositories mehreren Labs in der eigenen Organisation hinzuzufügen, was wiederum dank der Wiederverwendung und Freigabe die Konsistenz fördert. Für Lab-Benutzer, wie z. B. Entwickler in Ihrem Unternehmen ergeben sich damit folgende Möglichkeiten/Vorteile:

  • Erzeugen von Schulungs- oder Demo-Umgebungen für Windows und Linux oder Erzeugen von Sandbox-Ressourcengruppen. Beides erlaubt das „Erkunden“ von Azure unter Zuhilfenahme wiederverwendbarer ARM-Templates und Artefakte.
  • Erstellen von Entwicklungs- oder Testumgebungen mit CICD-Tools, Erstellen integrierter Entwicklungsumgebungen oder automatisierter Release-Pipelines, Integrieren von Bereitstellungspipelines in DevTest Labs zum bedarfsgesteuerten Erstellen von Umgebungen.
  • Testen von App-Versionen oder Hochskalieren von Last-Tests mittels Erstellen mehrerer Testagenten und -umgebungen.
  • Verwalten virtueller Computer und Umgebungen mithilfe der Azure CLI.

Lab-Besitzer können mit Hilfe von Lab-Richtlinien die Ressourcennutzung steuern. Lab-Richtlinien können beispielsweise die maximal zulässige Anzahl oder Größe virtueller Computer pro Benutzer oder Lab beschränken. Ferner können Lab-Besitzer Zeitpläne für ein automatisiertes Starten oder Herunterfahren von Lab-Computern erstellen oder ein definiertes Ablaufdatum für VMs festlegen sowie das komplette Löschen eines Labs erzwingen.

Im ersten Teil dieses Workshops versetzen wir uns in die Rolle des Lab-Besitzers und zeigen, wie sich ein DevTest-Labs-Lab, ein virtueller Computer und ein zugehöriger Benutzer im Azure-Portal einrichten lassen.

Ein Lab einrichten

Um den Workshop nachvollziehen zu können, muss man mindestens die Contributor-Rolle in einer Azure-Subscription besitzen. Ferner ist in der Subscription, in der sich das Lab befindet, die Rolle des Owners oder User-Access-Administrators erforderlich, um dem Lab einen Benutzer zuordnen zu können.

Der Assistent zum Erstellen eines DevTest-Labs.
Der Assistent zum Erstellen eines DevTest-Labs.
(Bild: Drilling / Microsoft)

Das Erstellen eines DevTest-Labs erfolgt im Azure -Portal über den Dienst „DevTest-Labs“ und einen Klick auf die entsprechende Schaltfläche. Die Einstellungen im Tab „Basics Settings“ sind wie üblich überschaubar, erforderlich sind eine Subscription, eine Resource Group, eine Location und ein Namen

Ferner ist es unter „Public environments“ möglich, den Lab-Benutzern einen Zugriff auf das DevTest Labs-Repository für öffentliche Umgebungen gewähren. Dieses enthält eine Liste von ARM-Vorlagen, mit denen Lab-Benutzerinnen und -Benutzer PaaS-Ressourcen in Labs erstellen können.

Die Einstellungen in den weiteren Registerkarten „Auto-shutdown“, „Networking“ und „Tags“ lassen sich den jeweiligen Bedürfnissen anpassen oder auf Default-Werten belassen. So ist es z. B. unter „Networking“ möglich, die Lab-Ressourcen über den Schalter „Isolate lab resources“ zu isolieren. DevTest Lab ist nämlich ein vertrauenswürdiger Microsoft-Dienst mit Managed Identity.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Dem Lab lassen sich rollenbasierte Zugriffssteuerungsberechtigungen (RBAC) erteilen, um eine Verbindung mit Azure-Diensten herzustellen, einschließlich Speicherkonto und Schlüsseltresoren, die das Lab erstellt und verwaltet. Mit dem Schalter werden das Lab-Speicherkonto und die die Schlüsseltresore vom ausgewählten Netzwerk isoliert.

Das Hinzufügen einer VM zum Lab auf Basis des zugehörigen DevTest-Labs-Repositories.
Das Hinzufügen einer VM zum Lab auf Basis des zugehörigen DevTest-Labs-Repositories.
(Bild: Drilling / Microsoft)

Nach der Bereitstellung wechseln wir über den Button „Go to resource“ unmittelbar zum DevTest-Lab. Für ein erstes Szenario wollen wir dem Lab eine VM hinzufügen. Dazu klicken wir ausgehend von der Übersichtsseite auf „Add“ und wählen dann im Dialog „Choose a base“ ein passendes Image aus der Image-Gallery aus, z. B. „Windows Server 2022 Datacenter: Azure Edition“.

Alle weiteren Schritte zeigt die hier eingehängte Bildergalerie. Im nächsten Teil des Labs verraten wir dann, wie Developer erstellte Labs beanspruchen und nutzen können.

Bildergalerie
Bildergalerie mit 7 Bildern

(ID:48961035)