将 Azure DevOps Services 与 Azure DevOps Server 进行比较

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

产品/服务 Azure DevOps Services 提供可缩放、可靠且全局可用的托管服务。 我们的 24/7 运营团队监视云产品/服务,该服务由 99.9% 的服务级别协议(SLA)提供支持,并在全球本地数据中心提供。

本地 产品/服务 Azure DevOps Server 基于 SQL Server 后端构建。 客户通常需要将数据保留在其网络内时,通常会选择本地版本。 或者,当他们想要访问与 Azure DevOps Server 数据和工具集成的 SQL Server Reporting Services 时。

这两种产品/服务提供相同的 基本功能和服务,但 Azure DevOps Services 提供了更多优势:

  • 简化服务器管理
  • 提供对最新功能的即时访问
  • 增强与远程站点的连接
  • 从资本支出(服务器和硬件)过渡到运营支出(订阅)

若要确定云还是本地产品/服务是否最符合需求,请考虑以下主要差异。

Azure DevOps Services 与 Azure DevOps Server 之间的主要差异

Azure DevOps Services 和 Azure DevOps Server 提供类似的核心功能,但以下列表显示了特定功能方面的主要差异:

  • 部署: Azure DevOps Services:基于云的、托管和管理Microsoft。 Azure DevOps Server:由组织管理的本地解决方案。
  • 可伸缩性: Azure DevOps Services:高度可缩放,可通过 Internet 连接从任何位置访问。 Azure DevOps Server:可伸缩性仅限于组织基础结构和服务器容量。
  • 身份验证: Azure DevOps Services:使用Microsoft帐户或Microsoft Entra ID。 Azure DevOps Server:使用 Windows 身份验证和 Active Directory(AD)域凭据。
  • 数据控制 Azure DevOps Services:数据存储在安全的 Azure 数据中心。 Azure DevOps Server:组织完全控制其数据和基础结构。
  • 用户管理: Azure DevOps Services:支持将 Microsoft Entra 组添加到 Azure DevOps Services 组。 Azure DevOps Server:通过向各种 Azure DevOps 组添加 AD 组授予访问权限。
  • 进程自定义: Azure DevOps Services:使用 Web UI 和 REST 终结点自定义选项的继承进程模型。 Azure DevOps Server:提供用于自定义的继承模型和本地 XML 进程模型。
  • 分析和报告 Azure DevOps Services:提供仪表板、分析服务、Power BI 集成和 OData 支持。 Azure DevOps Server:提供仪表板、SSRS 报表和可配置的轻型图表。
  • 与 SQL Server 集成: Azure DevOps Services:不支持与 SQL Server Analysis Services 集成以便进行报告。 Azure DevOps Server:支持与 SQL Server Analysis Services 的集成。

这些差异可以帮助你确定最适合组织需求的平台。 如果使用 Azure DevOps Server 并考虑迁移到 Azure DevOps Services,请参阅 迁移概述

伸缩性

随着业务的发展,可能需要纵向扩展 Azure DevOps 实例。 此缩放可能涉及添加更多用户、增加存储容量或提高性能来处理更大的工作负荷。 你可能还需要集成其他工具和服务来支持更复杂的工作流,并确保跨大型团队无缝协作。 无论使用的是云中的 Azure DevOps Services 还是本地 Azure DevOps Server,Azure DevOps 都提供了各种选项和配置,可帮助你高效缩放。

Azure DevOps Services

Azure DevOps Services 提供两个选项用于界定和缩放数据:组织和项目。 Azure DevOps Services 中的组织会获取自己的 URL(例如 https://dev.azure.com/fabrikamfiber),并且它们始终只有一个项目集合。 组织可以在集合中具有许多项目。

在 Azure DevOps Services 中创建组织,无论在何处在 Azure DevOps Server 中创建集合。 请考虑下列情形:

  • 每个组织购买用户: 付费用户只能访问付款所在的组织。 对于需要访问多个组织的用户,Visual Studio 订阅是一个有吸引力的选项。 Visual Studio 订阅者可以免费添加到任意数量的组织。 我们还探索了提供对分组到单个实体中的多个组织的访问权限的其他方法。
  • 单独管理组织: 目前,必须一次管理一个组织,如果有多个组织,这可能会很麻烦。

有关详细信息,请参阅 在 Azure DevOps 中规划组织结构。

Azure DevOps Server

Azure DevOps Server 提供三个选项用于界定和缩放数据:部署、项目集合和项目。

  • 部署: 最简单的情况是服务器。 但是,它们可能更为复杂,例如:

    • 两服务器部署,其中 SQL 位于单独的计算机上
    • 具有多个服务器的高可用性场
  • 项目集合: 充当用于安全、管理和物理数据库边界的容器。 它们还用于对相关项目进行分组。

  • 项目: 封装各个软件项目的资产,包括源代码、工作项等。

有关详细信息,请参阅 在 Azure DevOps 中规划组织结构。

身份验证

比较 Azure DevOps Services 和 Azure DevOps Server 时,请务必了解每个平台的身份验证处理方式的差异。

Azure DevOps Services

使用 Azure DevOps Services,可以通过公共 Internet(例如) https://contoso.visualstudio.com进行连接。 可以使用Microsoft帐户凭据或Microsoft Entra ID 凭据进行身份验证,具体取决于组织设置。 Microsoft Entra ID 还允许启用多重身份验证、IP 地址限制等功能。

建议将组织配置为使用 Microsoft Entra,而不是Microsoft帐户。 此方法在许多方案中提供了更好的体验,并提供了更多增强安全性选项。

有关详细信息,请参阅 关于使用 Microsoft Entra ID 访问 Azure DevOps Services。

Azure DevOps Server

使用 Azure DevOps Server,可以连接到 Intranet 服务器(例如 https://tfs.corp.contoso.com:8080/tfs)。 使用 Windows 身份验证和 Active Directory (AD) 域凭据进行身份验证。 此过程是无缝的,你永远不会遇到登录体验。

数据控制

许多实体在考虑迁移到云时寻求有关数据保护的信息。 我们致力于保护 Azure DevOps Services 项目的安全。 我们有技术功能和业务流程来维护这一承诺。 还可以采取措施来保护数据。 有关详细信息,请参阅 数据保护概述

用户管理

在 Azure DevOps Services 和 Azure DevOps Server 中管理用户和组时,每个平台都有不同的方法和工具,以确保适当的访问和组织。

Azure DevOps Services

在 Azure DevOps Services 中,可以通过 将 Microsoft Entra 组添加到 Azure DevOps Services 组来提供对用户组 的访问权限。 如果使用 Microsoft 帐户而不是 Microsoft Entra ID,则必须 单独添加用户

还必须 为组织中的每个用户分配访问级别 。 Azure DevOps Services 在登录时验证 Visual Studio 订阅者。 可以在没有 Visual Studio 订阅的情况下免费为五个用户分配基本访问权限。

若要为更多用户提供基本访问权限或更高访问权限, 请设置计费 并为 更多用户付费。 否则,所有其他用户都会收到利益干系人访问权限。

Microsoft Entra 组提供对用户组的访问权限,并在首次登录时自动分配访问级别。 对于使用 Microsoft 帐户登录的组织,必须向每个用户显式分配访问级别。

Azure DevOps Server

在 Azure DevOps Server 中,通过将 Active Directory (AD) 组添加到各种 Azure DevOps 组(例如单个项目的参与者组)来授予用户对部署的访问权限。 AD 组成员身份保持同步,因此当用户在 AD 中添加或删除时,他们会自动获取或失去对 Azure DevOps Server 的访问权限。

所有用途都在荣誉系统上。 若要根据用户的许可证设置访问级别,请在管理页上指定其 访问级别 。 例如,仅分配未经许可的用户利益干系人访问权限。

具有 Azure DevOps Server 客户端访问许可证(CAL)的用户可以具有基本访问权限。 Visual Studio 订阅者可以具有“基本”或“高级”访问权限,具体取决于其订阅。 Azure DevOps Server 不会验证这些许可证或强制实施合规性。

在 Azure DevOps Services 和 Azure DevOps Server 中,可以通过将用户 分配到访问级别来管理对功能的访问权限。 所有用户都必须分配到单个访问级别。 在云和本地产品/服务中,你可以免费访问无限数量的利益干系人的工作项功能。 此外,无限数量的 Visual Studio 订阅者可以免费访问所有基本功能。 只需为需要访问权限的其他用户付费。

流程自定义

可以根据支持的流程模型,以不同的方式自定义工作跟踪体验:

Azure DevOps Services

Azure DevOps Services 使用 继承 过程模型,该模型支持 WYSIWYG(你看到的内容是你获取的内容)自定义。 通过此模型,可以轻松通过用户界面直接自定义工作项类型、状态和字段,而无需编辑 XML 文件。 可以创建和修改流程以适应团队的工作流,确保这些工具符合特定的项目要求。 这种灵活性使管理和适应开发过程中的更改更加轻松。

Azure DevOps Server

使用 Azure DevOps Server,可以在继承进程模型和本地 XML 进程模型之间进行选择。

  • 继承过程模型: 此模型支持 WYSIWYG(你看到的是你获取的内容)自定义,使你可以通过用户界面直接自定义工作项类型、状态和字段。 此方法简化了自定义过程,并确保更改立即反映在项目中。

  • 本地 XML 进程模型: 此模型支持通过导入或导出工作跟踪对象的 XML 定义文件进行自定义。 它提供了一种强大而灵活的方法来定义和管理流程。 但是,它可能会导致各种问题,例如:

    • 现有项目的流程不会自动更新,需要手动干预才能应用更改。
    • 管理 XML 文件的复杂性可能会导致错误和不一致。
    • 维护和排查自定义问题可能很困难,尤其是在大型或复杂环境中。

为了帮助你避免问题,始终禁用自定义进程模板和 witadmin.exe 工具。 此方法可确保使用每个 Azure DevOps Services 升级自动更新所有项目。 产品团队正在努力使流程自定义更加轻松且更具可持续性。

使用进程自定义功能,可以直接在 Web 用户界面(UI)中进行更改。 如果希望以编程方式自定义进程,可以使用 REST 终结点。 这样自定义项目可确保使用 Azure DevOps Services 升级发布其基本进程的新版本时自动更新它们。

有关详细信息,请参阅 自定义工作跟踪体验

分析和报告

Azure DevOps Services 和 Azure DevOps Server 提供了各种工具,用于深入了解软件项目的进度和质量。 这些工具包括:

  • 仪表板和轻型图表: 在云和本地平台上都可用,这些工具易于设置和使用。 仪表板提供项目的状态的可自定义概述,而图表提供关键指标和趋势的可视表示形式。

  • Analytics 服务和分析小组件针对快速读取访问和基于服务器的聚合进行优化,Analytics 服务可帮助你深入了解项目的数据。 可将分析小组件添加到仪表板,以显示实时数据和趋势。

  • Microsoft Power BI 集成:通过此集成,可以将分析数据引入 Power BI 报表,同时提供简单性和强大功能。 借助 Power BI,可以创建交互式且具有视觉吸引力的报表,以便全面查看项目的性能。

  • OData 支持 OData 支持使你能够直接从受支持的浏览器查询 Analytics 服务,并根据需要使用返回的 JSON 数据。 可以生成跨多个项目或整个组织的查询,从而灵活地分析和利用数据。 有关 Analytics 服务的详细信息,请参阅我们的 报告路线图

这些工具提供强大的功能,用于监视、分析和报告软件项目的进度和质量,帮助你做出明智的决策并推动持续改进。