Kalawin - stock.adobe.com

Microsoft Dev Box: Entwicklungs-Workstation in der Cloud

Mit Dev Box stellt Microsoft einen Cloud-PC zur Verfügung, mit dem Entwickler ähnlich wie bei Windows 365 von überall auf ihre Programme zugreifen können.

Mit Dev Box stellt Microsoft eine Cloud-Entwicklungsumgebung zur Verfügung. Mit dieser Plattform können vorkonfigurierte, containerisierte Entwicklerarbeitsplätze in der Cloud erstellt und verwaltet werden. Dadurch lassen sich Arbeitsumgebungen schneller einrichten, ohne lokale Ressourcen zu beanspruchen.

Mit dem Cloud-PC können Entwickler aus der Ferne programmieren und haben dabei Remote-Zugriff auf alle benötigten Tools. Die Bereitstellung der Dev Boxen erfolgt über Microsoft Azure. Dadurch können Entwickler auch auf weitere Funktionen von Azure zugreifen.

Microsoft Dev Center
Abbildung 1: Das Dev Center ist die zentrale Anlaufstelle für die Bereitstellung von Dev Boxen in Microsoft Azure.

Da es sich bei Dev Boxen um virtuelle PCs auf Basis von Windows 10 oder Windows 11 handelt, können Entwickler oder Administratoren alle Tools installieren, die auch auf herkömmlichen PCs unterstützt werden. Die Installation von Anwendungen kann automatisiert oder manuell erfolgen.

Microsoft Dev Box und Dev Center

Die Dev Box entspricht in ihrer Grundstruktur der Bereitstellung und Nutzung von Windows 365 Enterprise. Die Einrichtung erfordert etwas Erfahrung mit Microsoft Azure. Im Gegensatz zu Windows 365 Business können virtuelle PCs nicht einfach gebucht werden und sind sofort einsatzbereit. Dev Box erfordert zunächst eine grundlegende Einrichtung und eignet sich daher vor allem für Umgebungen mit vielen Entwicklern.

Dev Box in Dev Center anlegen
Abbildung 2: Im Dev Center in Azure können Dev Boxen angelegt und mit Entwicklungsprojekten verknüpft werden.

Um eine Dev Box zu erstellen, richten Administratoren zunächst Dev Center in Azure ein. Hier können Images für verschiedene Workstations hinterlegt werden. Die Templates beinhalten verschiedene Entwicklungsumgebungen und Verbindungen zu den jeweiligen Repositories.

Verschiedene Entwicklungs- und Konfigurationsumgebungen verwenden

Ein weiteres Einsatzgebiet von Dev Box sind Szenarien, in denen Entwickler unterschiedliche Konfigurationen und Entwicklungsumgebungen benötigen. In diesem Fall können sich die Entwickler einfach mit der jeweiligen Dev Box verbinden, die der benötigten Konfiguration entspricht und in der die für den aktuellen Anwendungsfall benötigten Tools und Anwendungen installiert sind. Anstatt mit verschiedenen Computern arbeiten zu müssen, ermöglicht es die Cloud-Struktur, dass für jedes Anwendungsszenario die passende Dev Box zur Verfügung steht. Diese kann der Entwickler nutzen, bis er wieder in einem anderen Szenario arbeitet.

Images für Microsoft Dev Box anlegen
Abbildung 3: Im Azure Dev Center können Administratoren Images für Dev Boxen anlegen oder eigene Images erstellen.

In diesem Fall kann er sich wieder mit einer anderen Dev Box verbinden. Dies bietet eine vielfältige und flexible Einsatzmöglichkeit, bei der nicht ständig neue Anwendungen oder komplette Arbeitsplätze installiert werden müssen. In einem solchen Szenario können für unterschiedliche Entwicklungsprojekte verschiedene Sets von Dev Boxen eingerichtet werden. Die Verbindung erfolgt über Remote Desktop Protocol (RDP). Zudem werden alle Daten sicher in der Cloud gespeichert, so dass das Risiko von Datenverlust oder Diebstahl gering ist. Hinsichtlich der Sicherheitsanforderungen können Administratoren die vielfältigen Sicherheitstechnologien von Azure anbinden sowie Richtlinien implementieren, die die Sicherheit der Dev Boxen und gleichzeitig die Sicherheit des Quellcodes gewährleisten.

Visual Studio 2022 mit Microsoft Dev Box

Dev Box ist mit Azure AD/Entra ID verbunden. Dadurch können Authentifizierungsanfragen direkt an Azure AD/Entra ID weitergeleitet werden. Dies ermöglicht auch die Umsetzung von Single Sign-On (SSO), bei denen sich Benutzer einmal an der Dev Box anmelden und dann automatisch mit den Rechten des Kontos arbeiten. Dies funktioniert auch mit Visual Studio und anderen Entwicklungsumgebungen. Hinzu kommt das Rollenmodel in Azure zur Zuweisung von Berechtigungen.

Im oben genannten Szenario, in dem Entwickler mit mehreren Dev Boxen an verschiedenen Projekten mit unterschiedlichen Konfigurationsszenarien arbeiten, können auch Einstellungen, die identisch sind, synchronisiert werden. Die Benutzerprofile in Windows 11 sind auf verschiedenen Dev Boxen verfügbar. Benötigt ein Entwickler eine neue Dev Box, ist diese schnell verfügbar. Durch das Roaming Profile stehen parallel alle benutzerdefinierten Einstellungen schnell bereit.

Abrechnung von Microsoft Dev Box

Microsoft Dev Box wird über ein Abonnement abgerechnet. Die Preise variieren stark, da sie von der Hardwarekonfiguration abhängen sowie von der Nutzungsdauer. Unternehmen müssen mit Kosten von rund 100 Euro pro Monat rechnen. Bei umfangreicheren Konfigurationen mit mehr Speicherplatz und Speicherkapazität können die monatlichen Kosten deutlich höher sein. Entwickler, die Microsoft Dev Box verwenden, benötigen außerdem eine Windows 10/11 Enterprise-Lizenz und ein Azure AD/Entra ID P1-Abonnement.

Die Kosten können ein Problem darstellen. Allerdings bietet Microsoft auch eine Abrechnung nach Zeit an. In einem solchen Szenario sind die Kosten deutlich geringer, wenn Entwickler die Dev Box nicht dauerhaft nutzt. Für Tests können sie zudem eine Testversion von Azure verwenden.

Nachteile der Microsoft Dev Box

Bei der Nutzung von Microsoft Dev Boxen sind einige Nachteile zu beachten, die sich vor allem auf Kosten, Abhängigkeiten und mögliche Performance-Einbußen beziehen. Die Nutzung von Cloud-Entwicklungsumgebungen verursacht laufende Kosten, die von der Nutzungsdauer und den genutzten Ressourcen abhängen. Dies kann insbesondere bei längerfristigen Projekten oder intensiver Nutzung zu erheblichen Kosten führen.

Zudem entsteht eine starke Abhängigkeit von der Verfügbarkeit der Cloud-Dienste. Bei Ausfällen oder Verbindungsproblemen kann dies zu Unterbrechungen der Entwicklungsarbeit führen. Darüber hinaus können Leistungsunterschiede zwischen lokalen Entwicklungsumgebungen und Cloud-basierten Dev Boxen auftreten. Das kann sich insbesondere bei ressourcenintensiven Aufgaben in Form von Latenz oder geringerer Performance bemerkbar machen. Auch die Integration in bestehende lokale Infrastrukturen und Workflows kann Herausforderungen mit sich bringen, da Anpassungen oder Änderungen erforderlich sein können, um einen reibungslosen Betrieb zu gewährleisten. Diese Faktoren müssen bei der Entscheidung für oder gegen den Einsatz von Microsoft Dev Box abgewogen werden.

Microsoft Dev Box und Dev Center testen

Über das Microsoft Developer Portal steht Entwicklern nach der Anmeldung an Azure AD/Entra ID Dev Box zur Verfügung. Die Verbindung erfolgt per RDP. Die Bereitstellung der Dev Boxen erfolgt wiederum im Azure-Portal. Dazu ist zunächst ein Dev Center notwendig. Die Einrichtung ist nicht trivial und erfordert die Anpassung verschiedener Ressourcen in Azure. Dazu gehören Projektgruppen, virtuelle Netzwerke und die Anpassung der Berechtigungen. Daher ist für den Einsatz von Dev Boxen durchaus einiges Wissen in Azure notwendig.

Dev Box in Microsoft Azure Dev Center erstellen
Abbildung 4: Eine neue Dev Box im Microsoft Azure Dev Center erstellen.

Die Bereitstellung von Dev Box erfolgt über Azure Dev Center Images. Hierüber stehen zum Beispiel standardmäßig Cloud-PCs mit Windows 11 Enterprise, Visual Studio 2022, Microsoft 365 Apps (Word, Excel, PowerPoint) und anderen Tools zur Verfügung. Natürlich können vor der Bereitstellung von Images auch eigene integrierte Entwicklungsumgebungen (IDE) und Tools eingebunden werden. Sobald auf Basis eines vorbereiteten Azure Dev Center Image eine Dev Box bereitgestellt ist, können Entwickler auch eigene Apps in Windows installieren, genauso wie auf herkömmlichen PCs. Die einzelnen Schritte dazu beschreibt Microsoft in der Schnellstartanleitung zur Inbetriebnahme von Dev Box.

Alternativen zu Microsoft Dev Box: AWS Cloud9 und CodeReady

Bei der Suche nach Alternativen zu Microsoft Dev Boxen gibt es verschiedene Dienste, die unterschiedlichen Bedürfnissen und Anforderungen gerecht werden.

Eine beliebte Alternative ist die AWS Cloud9-Entwicklungsumgebung, die eine integrierte Cloud-IDE und eine flexible Plattform für Entwickler bietet. Sie eignet sich besonders für Anwender, die bereits AWS-Dienste nutzen. Google Cloud Shell ist eine weitere Option, die eine schlanke, browserbasierte Shell-Umgebung zur Verfügung stellt, ideal für Entwickler, die mit Google Cloud Services arbeiten.

Unternehmen, die mehr Kontrolle über ihre Entwicklungsumgebungen wünschen, können eine selbst gehostete Lösung wie Gitpod oder OpenShift Dev Spaces von Red Hat in Betracht ziehen. Diese ermöglichen die Umsetzung von DevOps-Praktiken und die Verwaltung von Entwicklungsumgebungen auf der eigenen Infrastruktur. Eine weitere Option sind Visual Studio Codespaces, die eine ähnliche Funktionalität wie Microsoft Dev Box bieten, aber eng mit Visual Studio und anderen Microsoft-Produkten integriert sind.

Erfahren Sie mehr über Softwareentwicklung

ComputerWeekly.de
Close