Zum Hauptinhalt wechseln

 Subscribe

Im letzten Monat bei Microsoft Build haben wir mehrere neue Features in Microsoft Dev Box geteilt – ready-to-code, cloudbasierte Arbeitsstationen, die für Entwickleranwendungsfälle und Produktivität optimiert sind. Aus neuen Integrationen in Visual Studio, einer Vorschau der Anpassung von Konfigurations-as-Code und unserem eigenen internen Rollout von Dev Box gab es viel zu teilen, und die Antwort auf diese Neuigkeiten war großartig. Heute freue ich mich, eine weitere Ankündigung zu teilen – Microsoft Dev Box ist jetzt allgemein verfügbar.

Screenshot of Dev Box instances running in the Developer Portal.

Unsere Reise zu devoptimierten virtuellen Desktops

Wir haben zuerst Microsoft Dev Box bei Microsoft Build 2022 angekündigt, aber unsere Reise hat dort nicht begonnen. Seit mehr als sieben Jahren haben wir uns darauf konzentriert, die Produktivität und Zufriedenheit der Entwickler mit der Leistungsfähigkeit der Cloud zu verbessern. Im Jahr 2016 haben wir Azure DevTest Labs eingeführt, einen Dienst, der es Entwicklungsteams ermöglicht, templatisierte virtuelle Computer (VMs) für eine Vielzahl von Entwicklungs- und Testanwendungsfällen zu erstellen.

Im Laufe der Jahre haben wir vielen Kunden geholfen, benutzerdefinierte Lösungen auf DevTest Labs zu entwickeln, um ihre Kernfunktionen zu erweitern. Ein Anwendungsfall, der besonders beliebt war, ist die Verwendung von DevTest Labs zum Erstellen persistenter, vorkonfigurierter Entwicklungsumgebungen. Das Erstellen dieser benutzerdefinierten Lösungen über DevTest Labs ist jedoch schwierig, was erhebliche Anstrengungen erfordert, um zusätzliche Governance- und Verwaltungsfunktionen zu erstellen. Kunden wollten eine schlüsselfertige Lösung.

Bereitstellung schneller Self-Service-Entwicklungsumgebungen in der Cloud

Als Reaktion darauf haben wir Visual Studio Codespaces im Jahr 2019 eingeführt – vorkonfigurierte, container- und Linux-basierte Entwicklungsumgebungen, die Entwickler in Sekunden direkt von Visual Studio Code aus drehen konnten, sodass Entwickler unterwegs schnell und einfach an ihren Apps arbeiten können.

Entwickler lieben Codespaces für ihre Geschwindigkeit und Mobilität, und der Dienst ist heute noch als GitHub Codespaces vorhanden. Für die Softwareentwicklung sind jedoch alle Möglichen von Tools erforderlich. Zunächst haben wir Codespaces entwickelt, um Visual Studio Code und GitHub zu unterstützen, aber Kunden haben schnell nach Unterstützung für andere integrierte Entwicklungsumgebungen (INTEGRATED Development Environments, IDEs), Quellcodeverwaltung und Tools gefragt.

Im ersten Schritt haben wir mit der Erweiterung von Codespaces begonnen, um unterstützung für Visual Studio einzuschließen. Dies ergab jedoch mehr Herausforderungen als erwartet – hauptsächlich rund um unternehmensfähiges Management und Governance. Das, kombiniert mit der Tatsache, dass Entwickler Zugriff auf alle ihre Tools in ihrer Cloudumgebung wollten, machte uns bewusst, dass wir für die Bereitstellung benötigten:

  • Unternehmensfähige Sicherheits-, Compliance- und Kostenverwaltungsfunktionen.
  • High-Fidelity- und cloudbasierte Leistung mit integrierten Integrationen von Entwicklungstools.
  • Self-Service-Zugriff auf vorkonfigurierte, projektspezifische Ressourcen.

Im Wesentlichen musste die Lösung eine entwickleroptimierte Virtualisierungslösung sein. Microsoft bietet Windows 365 bereits an – Bereitstellung von Cloud-PCs, sicheres Streaming Ihres personalisierten Windows-Desktops, Ihrer Apps, Einstellungen und Inhalte von der Microsoft Cloud auf jedes beliebige Gerät. Kritisch ist Windows 365 vollständig in Microsoft Intune integriert, wodurch IT-Administratoren ihre Cloud-PCs zusammen mit ihren physischen Geräten verwalten können. Das war genau das, wonach wir gesucht haben, daher haben wir uns entschieden, Windows 365 als Grundlage für unsere neue Lösung zu verwenden.

Transformieren der Entwicklungsarbeitsstation

Mit der unternehmensweiten Verwaltung wurde die zugrunde liegende Hardware als nächstes berücksichtigt. Während high-powered Compute ein offensichtlicher Bedarf war, haben wir bald erkannt, dass der Speicher auch die Entwicklerleistung erheblich beeinträchtigen kann. Große Builds belasten viel Speicherlaufwerke, was zu einem Engpass wird, wenn Lese- oder Schreibgeschwindigkeiten nicht mit dem Build schritthalten können. Um dies zu berücksichtigen, haben wir beschlossen, premium Solid-State Drivers (SSDs) in unser Produkt aufzunehmen. Die wichtigsten Herausforderungen von Entwicklungsarbeitsstationen wurden jedoch noch nicht behoben– lange Bereitstellungszeiten und Konfigurationsfehler, die durch komplexe Projekte und Toolsets verursacht werden.

Die Lösung dieser Probleme würde einen grundlegenderen Wandel in der Funktionsweise unserer dienstverwalteten Konfigurationen und bereitstellung erfordern. Entwickler arbeiten an allen Arten von Projekten, von denen viele bestimmte Tools erfordern. Für diese Entwickler würde eine deckende, rollenbasierte Konfiguration erfordern, dass sie Zeit damit verbringen, ihre Arbeitsstation anzupassen und zusätzliche Tools zu installieren, sobald sie bereitgestellt wurde. IT-Administratoren und Entwickler benötigten gleichermaßen eine Möglichkeit, mehrere, maßgeschneiderte Konfigurationen zu erstellen und Entwicklern die Möglichkeit zu bieten, eine neue Arbeitsstation bei Bedarf aufzubauen, die bereit für den Code für ihr aktuelles Projekt wäre.

Unser erster Schritt war die Integration unserer Lösung in den Azure Compute Gallery, die eine skalierbare Möglichkeit zum Freigeben von Basisimages und zum Verwalten von Bildversionen bietet. Anschließend richten wir eine neue Verwaltungsebene ein, mit der Teams ihre Bilder und Netzwerkkonfigurationen nach Projekt organisieren können. Jetzt könnten Entwicklerleiter und IT-Administratoren mehrere Arbeitsstationskonfigurationen für ein einzelnes Projekt einrichten. Administratoren könnten sogar die Azure-Region definieren, in der jede Arbeitsstation bereitstellen würde, um eine High-Fidelity-Erfahrung für Entwickler auf der ganzen Welt sicherzustellen.

Durch die Vorkonfiguration von Arbeitsstationen wie diesem haben wir die Notwendigkeit beseitigt, dass Entwickler jedes Mal, wenn sie eine neue Arbeitsstation benötigten, an die IT wenden müssen. Und da wir mehrere Arbeitsstationskonfigurationen für ein einzelnes Projekt zur Verfügung stellen konnten, wurden Entwickler nicht in eine einzelne Konfiguration gesperrt – sie könnten eine maßgeschneiderte Arbeitsstation auswählen, es drehen und schnell mit dem Codieren beginnen. Wir haben sogar Entwickler ein spezielles Entwicklerportal gegeben, das schnellen, einfachen Zugriff auf ihre projektbasierten Arbeitsstationen bietet. Entwickler können dieses Portal auch verwenden, um Umgebungen für jede Phase der Entwicklung mithilfe von Azure-Bereitstellungsumgebungen schnell bereitzustellen, auch allgemein verfügbar.

Ankunft bei Microsoft Dev Box

So haben wir uns bei Microsoft Dev Box gelandet – cloudbasierte Arbeitsstationen, die für Entwickleranwendungsfälle und Produktivität optimiert sind. Dev Box kombiniert entwickleroptimierte Funktionen mit der unternehmensfähigen Verwaltung von Windows 365 und Microsoft Intune. Und während wir daran arbeiten, Dev Box zu verbessern, haben wir weiterhin mit anderen Teams bei Microsoft zusammenarbeiten. Zuletzt haben wir eng mit dem Visual Studio-Team zusammengearbeitet, um integrierte Integrationen hinzuzufügen, die die Visual Studio-Erfahrung in Dev Box optimieren. Darüber hinaus führen wir die Anpassung von Configuration-as-Code aktiv in Dev Box ein, die Dev-Leads bietet, um Dev-Boxen um bestimmte Aufgaben herum zu konfigurieren und ihnen das Verbinden der Dev Box-Bereitstellung mit ihrem vorhandenen Git-Fluss zu ermöglichen.

Diagram showing how different roles interact with the Dev Box service, including developers, dev leads, and IT admins.

Aber bevor wir Dev Box gestartet haben, wollten wir sicherstellen, dass es wirklich unternehmensfähig war. Bei Microsoft ist es üblich, unsere Dienste intern zu testen, bevor sie freigegeben werden. In diesem Fall bedeutete das Stresstests von Dev Box mit Produkten mit Repos, die Hunderte von Gigabyte groß sind. Dies war eine herausfordernde, aber nützliche Erfahrung, und unsere Erkenntnisse haben uns geholfen, den Weg zur allgemeinen Verfügbarkeit zu beschleunigen. Bereits gibt es mehr als 10.000 Ingenieure, die Dev Box bei Microsoft verwenden, und wir haben heute mehrere Kunden, die Dev Box in Produktionsumgebungen verwenden.

Optimale Nutzung von Dev Box mit flexiblen Preisen

Von unserer ersten Arbeit mit Kunden haben wir viel über ihre Nutzungsmuster und die Anwendungsfälle gelernt, die es unterstützen kann. Dev Box eignet sich hervorragend als Vollzeitdesktop-Ersatz oder für die spezielle Teilzeitverwendung. Sie können eine leistungsstarke Dev Box für einen besonders rechenintensiven Vorgang oder eine zweite Maschine drehen, um ein Experiment oder einen Machbarkeitsnachweis zu isolieren.

Zunächst planten wir das Aufladen für Dev Box basierend auf einem reinen Verbrauchsmodell – Kunden würden nur für Dev Box bezahlen, wenn sie ausgeführt wurde, und nicht mehr. Obwohl dies für die Teilzeit-Dev Box-Verwendung hervorragend funktioniert hat, hat ein solches Modell eine Menge Variabilität für Administratoren hinterlassen, die eine standardisierte monatliche Kosten für die Vollzeitnutzung bezahlen wollten.

Um unterschiedliche Anwendungsfälle zu berücksichtigen, haben wir einen vorhersagbaren monatlichen Preis für die Vollzeitnutzung von Dev Box eingeführt, während verbrauchsbasierte, kostenpflichtige Preise bis zu einem monatlichen Preislimit beibehalten werden. Dieses Modell schlägt ein Gleichgewicht zwischen den Extremen des vollen Verbrauchs oder der Nur-Abonnement-Preise, um sicherzustellen, dass Entwickler ihre Ausgaben sowohl für Vollzeit- als auch Teilzeitanwendungsfälle optimieren können.

Erste Schritte mit Microsoft Dev Box

Dev Box hat die Entwicklerarbeitsstationen bei Microsoft bereits von starren, langlebigen Desktops in projektspezifische, einsatzbereite Arbeitsstationen in der Cloud transformiert. Wir freuen uns, dass mehr Entwickler die Herausforderungen physischer Arbeitsstationen hinter sich lassen, um sich auf das Schreiben des Codes zu konzentrieren, nur sie können schreiben. Um zu sehen, was Dev Box für Ihr Team tun kann, besuchen Sie unsere Website, oder starten Sie heute einen Machbarkeitsnachweis.

Wenn Sie bereits mit der Verwendung von Dev Box begonnen haben, freuen wir uns, Sie zu hören. Bitte übermitteln Sie ihr Feedback , damit wir Dev Box weiterhin zur besten Option für die Produktivität der Entwickler machen können.

  • Explore

     

    Let us know what you think of Azure and what you would like to see in the future.

     

    Provide feedback

  • Build your cloud computing and Azure skills with free courses by Microsoft Learn.

     

    Explore Azure learning


Join the conversation