Azure DevOps Server 和 Azure DevOps Services 之间有什么区别?

2024 年 8 月 29 日 | 阅读 6 分钟

Azure DevOps Services 是一个云产品,提供可扩展、可靠且全球可用的托管服务。它享有 99.9% 的服务级别协议支持,由我们的运营人员全天候监控,并在全球各地的数据中心可用。

Azure DevOps Server 是本地产品,基于 SQL Server 后端构建。当客户需要数据保留在他们的网络内时,他们经常选择本地版本。例如,当他们需要与 Azure DevOps Server 数据和工具交互的 SQL Server 报表服务时。

虽然这两个软件包都提供相同的基础功能,但 Azure DevOps Services 相对于 Azure DevOps Server 具有以下优势:

  • 简化了服务器管理。
  • 即时获得最新功能。
  • 改善了远程站点连接。
  • 从资本支出(服务器等)转向运营支出(订阅)。

考虑以下重要区别,以评估哪种产品——云端或本地——最适合我们的需求。

Azure DevOps Services 与 Azure DevOps Server 之间的区别

在决定使用哪个平台或考虑从本地迁移到云端时,请考虑以下方面:

  • 用户和组
  • 安全性和数据保护
  • 数据范围和可扩展性
  • 用户访问管理
  • 认证

通过功能实现的具体差异

尽管 Azure DevOps Services 是 Azure DevOps Server 的托管版本,但它们之间仍存在一些功能差异。Azure DevOps Server 的某些功能在 Azure DevOps Services 中不可用。例如,Azure DevOps Services 不支持与 SQL Server Analysis Services 集成以提供报告。

以下两个领域的支持级别不同:

  • 流程自定义
  • 报告

范围和规模数据

随着业务的增长,流入和流出的数据越来越多,在这种情况下,用户可以根据需要向上扩展实例。

Azure DevOps Services 在几个方面与 Azure DevOps Server 不同。目前,数据范围和扩展仅限于组织和项目这两种选择。Azure DevOps Services 组织拥有自己的 URL(例如,https://dev.azure.com/fabrikamfiber),并且始终有一个项目集合。在一个集合中,一个组织可以拥有多个项目。

我们建议在 Azure DevOps Services 中创建组织,就像我们在 Azure DevOps Server 中创建集合一样。以下是可能的情况:

  • 我们可以为每个组织购买 Azure DevOps Services 用户;付费用户只能访问进行付款的组织。如果我们有需要访问多个组织的用户,Visual Studio 订阅是一个不错的选择。Visual Studio 订阅者可以免费加入任意数量的组。
  • 目前,我们必须逐个管理组织。当我们有很多组织时,这种方法可能会耗时。

Azure DevOps Server 的数据范围和缩放方法有三种:部署、项目集合和项目。部署,在其最基本的形式,仅仅是服务器。

然而,也可以实现更复杂的部署,例如:

  • 双服务器部署,SQL 位于单独的计算机上。
  • 具有大量服务器的集群,以实现高可用性。

项目集合充当安全和管理容器以及物理数据库边界。它们还用于组织相关项目。

认证

我们通过 Internet 连接到 Azure DevOps Services(例如,https://contoso.visualstudio.com)。根据我们组织的设置,我们可以使用 Microsoft 帐户凭据或 Azure AD 凭据登录。

我们建议配置我们的组织以使用 Azure AD,而不是使用 Microsoft 帐户。在许多情况下,此策略可提供更好的体验和额外的安全选项。

我们使用 Windows 身份验证和我们的 Active Directory (AD) 域凭据登录。此方法完全开放,我们永远不会被要求登录。

管理用户和组

在 Azure DevOps Services 中,我们可以使用类似的技术授予用户组访问权限。可以将 Azure AD 组添加到 Azure DevOps Services 组。如果我们使用 Microsoft 帐户而不是 Azure AD,则必须逐个添加用户。

在 Azure DevOps Server 中,我们通过将 Active Directory (AD) 组添加到各种 Azure DevOps 组(例如,单个项目的参与者组)来授予用户对部署的访问权限。AD 组的成员资格会保持最新。当用户被添加到 Active Directory 或从中移除时,他们对 Azure DevOps Server 的访问权限也会随之获得或失去。

管理用户的访问

为了保持一切顺利和简单,并记录门户上完成的每一项工作,有必要创建单一的访问级别,并将其分配给所有用户。我们可以为云端和本地服务中的工作项功能提供无限数量的利益相关者免费访问,并且完全由用户管理。此外,所有基本功能对无限数量的 Visual Studio 订阅者免费提供。用户只需为需要访问并拥有其他凭据的人员付费。

我们在 Azure DevOps Services 中的每个用户都必须被分配一个访问级别。Visual Studio 订阅者在登录时由 Azure DevOps Services 进行验证。我们可以免费为五个没有 Visual Studio 订阅的用户提供基本访问权限。

我们甚至可以为我们的组织设置账单,并为更多用户付费以授予基本或更高级别的访问权限。默认情况下,所有其他用户或新添加的用户都被授予利益相关者访问权限。此访问权限也因订阅而异。

Azure AD 组的访问权限授予用户组。登录时会自动分配访问级别。在为登录使用 Microsoft 帐户的公司中,我们必须明确为每个用户设置访问级别。

Azure DevOps Server 的所有使用都是基于信誉的。通过在管理页面上指定他们的访问级别,可以根据用户许可证设置用户访问级别。默认情况下,服务器仅将未获得许可的用户分配为利益相关者访问权限,尽管管理员有权完全修改访问级别。

已购买 Azure DevOps Server 客户端访问许可证 (CAL) 的用户可获得基本访问权限。根据他们的订阅,Visual Studio 订阅者可以在基本和高级访问之间进行选择。Azure DevOps Server 不会尝试验证或强制执行这些许可证的合规性。

安全性和数据保护

在迁移到云端方面,许多公司希望了解更多关于数据安全的信息。我们致力于确保 Azure DevOps Services 项目的安全性和可靠性。

流程自定义

根据可用的流程模型,我们可以通过两种方式自定义工作跟踪体验:

  • Azure DevOps Services:我们使用继承流程模型,该模型允许我们以所见即所得的方式自定义代码。
  • Azure DevOps Server 2018 及更早版本:仅提供本地 XML 流程模型。

根本问题是现有项目流程不会立即更新。

然而,所需进行的改进不会立即应用于现有项目。相反,在完成升级后,我们将需要使用“配置功能”向导或更手动的方法,将更改合并到每个项目中。

通过这种策略,我们能够在每次 Azure DevOps Services 升级时自动更新所有项目。其中一项改进最近已实施,更多改进正在进行中。

现在,得益于新的流程自定义功能 (UI),我们可以直接从在线用户界面自定义流程。REST 端点可用于以编程方式自定义我们的工作流。

报告

Azure DevOps Services 和 Azure DevOps Server 中提供了许多工具来帮助我们跟踪软件项目的进度和质量。这些工具包括:

  • 分析小组件和分析服务。分析服务专为服务器上的快速读取和聚合而设计。
  • Microsoft 功能 BI 集成,可轻松将分析数据导入 Power BI 报表,同时提供强大的功能。

注意:我们可以从用户界面禁用某些服务。

组织管理员可以通过转到组织设置页面,修改 URL 以使用 dev.azure.com 作为主域。


下一主题Azure 基础知识