微软Dev Box——你在Azure上的开发工作站

微软Dev Box——你在Azure上的开发工作站

Build 2022以开发者为中心,提供了新的工具,使其在混合工作的世界中更容易编写代码。Dev Box承诺将使你的开发环境更容易管理。

设置一个新的开发PC可能需要时间。我们都有过这样的经历。我的最新设备在2月份到货,我确信我需要的东西还没有到,即使有一长串的应用程序和工具,我也是用它们来指导安装。每一个新项目和每一项新技术,清单都会变得更长。

这是一个蚕食开发者生产力的问题,尤其是在开始一个新项目时。你需要安装哪些工具,它们将如何与你的正常工具集互动?一台为.NET开发而调整的机器与一台在PyTorch中构建机器学习模型的机器不太可能需要相同的东西。然后是底层硬件。如果我在为Office构建JavaScript插件,我就不需要64GB的内存和高端GPU,而对于正在构建和测试计算机视觉代码的机器来说,这种规格是很有可能的。

[也在InfoWorld上:开发者对GitHub Copilot的反应]

开发人员需要快速和灵活,而这通常需要最新的硬件和所有的功能和口哨。每一点力量都能让我们更容易地提供无错误的代码,准确地完成所需的任务。但是,无论电脑有多快,安装和配置项目工具链,从IDE到项目库和Git都需要时间。

我们怎样才能确保开发人员在被分配到一个项目后就能立即开始工作呢?微软和它的GitHub子公司已经思考这个问题有一段时间了,我们现在正处于两个关键趋势的交汇点:将我们想要的工具和服务容器化的能力以及远程桌面安装的能力。

托管在Azure上,由Windows 365管理

在Build 2022中,微软宣布了Microsoft Dev Box,这是一种在Azure托管的Windows虚拟机中构建开发环境的方式,这样开发人员就可以快速打开一个预配置的系统,并开始工作,而不必改变底层PC。Dev Box建立在微软为在云端管理企业桌面而开发的工具之上,包括Windows 365和其Endpoint Manager系统管理工具的各种组件。

微软现有的管理Windows 365云PC服务是其虚拟桌面平台,提供托管的Windows 10和Windows 11安装,可以通过与企业内部和移动硬件相同的Intune云设备管理平台进行管理,同时还有Endpoint Manager套件的其他部分。将Windows放在云端是提供Dev Box等工具的第一步,因为你现在能够配置和提供可按需启动的虚拟桌面图像。

随着Windows 365已经支持远程和混合工作,提供可在任何PC或平板电脑上使用的特定任务环境,以及熟悉的生产力软件和自定义业务线工具,然后将其扩展到支持开发人员,是非常有意义的。新的Windows功能将允许设备启动到Windows 365环境,或使用你用于Windows内置虚拟桌面工具的相同工具快速切换到该环境。有了快速的宽带和现代远程工具,延迟被保持在最低限度,使远程虚拟桌面与本地虚拟桌面没有区别。

然而,目前,你只能使用一个单独的远程桌面工具来访问Windows 365和Windows Dev Box环境。这是一个与Windows捆绑在一起的熟悉的远程桌面的新版本,只能够连接到管理的云环境。这有点令人困惑。它不在Windows商店中,但有相同的图标和名称。如果你使用远程桌面来管理你的开发服务器并与Azure资源一起工作,你最终将需要两个不同的版本,目前。

对于用户来说,开发箱将只是门户上的一个链接。点击该链接,它将在远程桌面中打开(或提示下载)。这将启动一个虚拟机,运行一个预先配置的图像。一旦启动,开始工作所需的所有工具都会在那里。用户将获得比一般用户在Windows 365中获得的更多权限,允许他们根据需要安装工具。重要的是要记住,连接到Dev Box的设备的能力和虚拟环境之间没有关系;我可以在周末从家里用一个旧的iPad检查一些代码,我的性能和我办公室里的工作站一样(在这个混合工作的年代,可以在任何地方)。

在虚拟机图像下,将有一个为项目提供适当资源的主机。它可能是一个带有vGPU的虚拟机,也可能是一个足以运行编辑器并连接到CI/CD(持续集成和持续交付)系统以运行构建的虚拟机。作为一个架构师或项目负责人,你可以定义谁得到什么资源,让你对项目所需的工具进行预算。管理工具显示了正在使用的资源,所以你可以根据需要调整需求,帮助保持项目的预算。当用户不连接时,开发盒可以自动休眠,以保持计算成本降到最低。

每个任务和工具链的开发箱

管理员和架构师可以将应用程序预装到图像上,这样每个开发箱都有一个完整的工具链,可以随时使用。镜像可以存储到需要的时候,所以有可能建立一个适合一系列不同任务的开发箱库,甚至有测试环境来尝试新工具。

扫描二维码关注公众号,回复: 14418684 查看本文章

Dev Box的一个更有趣的方面是能够为一个用户分配一个以上的盒子。你可能有一个配置了数据科学工具和服务的Dev Box,用于建立和训练机器学习模型。当它正在训练一个模型时,你可以打开另一个配置为使用该模型的API构建和测试一个应用程序的盒子。切换是通过你用来连接到开发箱的同一门户来处理的。连接到同一资源库的两个相同的开发箱可以显示新库或新组件对你的代码的影响,而不影响你的主分支。

值得注意的是,Dev Box 并不是GitHub 的 Codespace 的一个版本,尽管没有理由不把 Dev Box 连接到 Codespace 上--而且有很多很好的理由可以这样做Codespace是一个用于构建和测试云原生应用程序的容器化环境,虽然它与云托管的编辑环境相连,但它更像是能够从任何地方针对你的运行时平台进行编码,而不使用生产资源。

微软正在采用一些Codespaces概念,并将其作为Build大会上宣布的另一套新的开发者工具的一部分。Azure部署环境是为部署基础设施建立模板的一种方式,为开发者提供了一个可以由平台工程师管理和监控的代码自助服务目标。你可以为应用程序生命周期的不同阶段建立多个部署环境,例如,开发和测试,以及不同的安全和网络模型,以便只有生产环境可以访问互联网或企业的VLAN。

与Dev Box一样,部署环境也可以被安排。你可以在上午9点启动一个,在你编写代码时进行测试,并在晚上7点大家回家时关闭它。预定的可用性可以帮助改善工作/生活的平衡,让开发人员收拾好东西,知道一切都将在早上准备好。由于这些环境都在云中运行,甚至是Dev Box,他们只需要一个网络连接就可以看到他们的远程桌面,无论他们在哪里。现在是夏天,那就在沙滩上写代码吧?有了Dev Box和Azure部署环境,没有理由不这样做。

相关的:

猜你喜欢

转载自juejin.im/post/7126030983941324807
Dev
今日推荐