> 技术文档 > 微软 Azure 解决方案构建备考指南 70-53(三)

微软 Azure 解决方案构建备考指南 70-53(三)


原文:annas-archive.org/md5/1015eaeaa85ca3a27c36ddb9ff0514d9

译者:飞龙

协议:CC BY-NC-SA 4.0

第十五章:探索运营自动化策略

在上一章中,我们通过介绍应用程序和平台监控及警报策略,讲解了“运营设计”目标。

本章介绍了如何使用 Azure 自动化、Chef、Puppet、PowerShell、期望状态配置 (DSC)、事件网格、Azure 逻辑应用程序设计运营自动化策略,并如何定义自动扩展策略。

将涵盖以下主题:

  • 设计运营自动化策略

  • 设计自动扩展策略

设计运营自动化策略

在 Azure 中实现自动化步骤是确保部署一致性和节省时间的一个好方法。它减少了在开发、测试、验收和生产 (DTAP) 架构中需要在不同环境之间部署应用程序时出现的错误。对于需要重复部署的资源(例如,为开发团队配置多个开发虚拟机),它也节省了大量时间。

Azure 提供了不同的解决方案和方法来设计成功的自动化策略,以下章节将详细描述这些方法。

Azure PowerShell

Azure PowerShell 可用于创建 Azure 资源、管理和配置资源,以及实现自动化。

本书中使用 Azure PowerShell 的多个示例来自动化不同的任务,例如创建虚拟机和创建网络接口。它可以在本地计算机上使用,也可以在 Azure Cloud Shell 中使用。你可以使用 PowerShell 完成 Azure 门户中几乎所有的任务,甚至对于一些 Azure 资源,PowerShell 提供了更多的功能,而这些功能在 Azure 门户中无法配置。

期望状态配置

DSC 是强制在系统上应用配置的过程。它使用由 PowerShell 脚本组成的配置文件。这些脚本负责对系统进行所需的配置,并确保系统保持同步。例如,当你创建一个 DSC 文件来配置 Windows Server 上的 IIS,并且管理员将其删除时,DSC 文件会重新安装并再次配置 IIS。

DSC 使用三项关键功能来配置机器:

  • 配置:一组配置资源的 PowerShell 脚本。这些脚本还确保系统保持在期望状态。它使用 节点 来定义正在配置的资源。

  • 资源:这些是需要在机器上配置的不同构建块。例如,这可以是 WindowsFeature 资源或 Environment 资源。

  • 本地配置管理器 (LCM):这是将脚本部署到机器上的引擎。LCM 会定期轮询不同的机器,以确保机器的期望状态得以保持。如果系统不同步,LCM 会运行脚本,重新安装并根据脚本中的资源配置系统。

请查看以下 DSC 文件示例:

Configuration PacktDscConfiguration { param( [string[]]$ComputerName=\"PacktMachine\" ) Node $ComputerName { WindowsFeature PacktFeatureInstance { Ensure = \"Present\" Name = \"RSAT\" } WindowsFeature PacktFeatureInstance2 { Ensure = \"Present\" Name = \"Bitlocker\" } }}PacktDscConfiguration -ComputerName $ComputerName

Azure 自动化

Azure 自动化是 Azure 中的一项服务,提供对本地和 Azure 环境中部署与管理操作的完全控制。它支持 Windows 和 Linux 机器,并提供一个社区画廊,内含预定义的配置和自动化运行书,可以作为起点使用。

要管理这些类型的工作负载,Azure 自动化提供了以下功能和能力:

  • 流程自动化:你可以使用流程自动化来自动化 Azure 和本地环境中的管理任务以及可重复的配置任务。自动化过程中可以集成各种 Azure 服务和资源。它使用 自动化运行书,自动化不同的步骤。Azure 提供了一个图形编辑器,可以通过 Azure 门户创建运行书,或者你可以通过 PowerShell 创建它们。你可以创建不同类型的运行书,如图形化运行书、图形化 PowerShell 工作流、PowerShell、PowerShell 工作流和 Python 运行书。这些工作流可以从自动化帐户导出,并导入到其他自动化帐户。然而,Azure 中的自动化运行书默认无法访问本地基础设施和其他云环境。你需要安装 Azure 自动化的混合运行书工作器功能,以便在这些环境中运行运行书。

  • 配置管理:对于配置管理,Azure 自动化提供了一个用于 PowerShell DSC 脚本的 DSC 服务器。该服务器可以用来编写、管理和编译 PowerShell DSC。它提供了一个所需状态配置拉取服务,能够自动将配置发送到节点。你还可以获取已安装应用程序和其他配置项的相关信息。

  • 更新管理:这项功能提供有关更新合规性的详细信息和可视化展示,适用于你的 Azure、本地和其他云环境。它提供了协调和安排更新部署的能力。

  • 共享功能:Azure 自动化提供了各种共享资源,可以用来自动化和配置你的环境,例如基于角色的访问控制。你可以存储凭据和证书以保证安全,创建连接字符串、计划任务、源代码控制集成以及 PowerShell 模块。

有关 Windows PowerShell 所需状态配置的更多信息,请参考 docs.microsoft.com/en-us/powershell/dsc/overview。有关所需状态配置拉取服务的更多信息,请参考 docs.microsoft.com/en-us/powershell/dsc/pullserver

创建 Azure 自动化运行书

在这个示例中,我们将创建一个包含 DSC 配置的 Azure Runbook。在创建 Azure 自动化 Runbook 之前,首先需要创建一个自动化账户。

要创建 Azure 自动化账户,请按照以下步骤操作:

  1. 通过打开portal.azure.com/导航到 Azure 门户。

  2. 在搜索栏中输入Automation并创建一个新账户。添加以下属性并点击创建:

[外链图片转存中…(img-Rzak85sG-1751164652376)]

创建 Azure 自动化账户

  1. 创建后,导航到自动化账户。从那里你可以打开图形编辑器创建一个自动化 Runbook。此示例使用了一个预配置的图形 Runbook,可以导入。此 Runbook 可以从本书的源代码下载,源代码位于 GitHub 页面上。

  2. 要导入 Runbook 文件,请从左侧菜单中选择 Runbooks 并添加一个 Runbook:

[外链图片转存中…(img-ItSU9pn5-1751164652378)]

新建 Runbook

  1. 选择“导入”,选择 Runbook 文件,以下属性会自动添加:

[外链图片转存中…(img-xZXjgeNZ-1751164652379)]

导入 runbook

  1. 点击“创建”。你现在可以选择新添加的 Runbook 并对其进行修改。选择它并点击顶部菜单中的“编辑”。这将打开图形编辑器,你可以在其中查看工作流中的不同步骤并进行更改。你可以选择不同的步骤并配置参数、配置重试行为等。

[外链图片转存中…(img-2OaNPQPA-1751164652379)]

图形化 Runbook 编辑器

  1. 当你根据自己的环境完成设置更改后,可以发布并安排 Runbook 的执行。

Chef

Chef 是一个第三方解决方案,提供一个用于 Linux、Windows 和 Mac 设备的 DevOps 自动化平台。它可以用于虚拟和物理服务器配置。它需要在虚拟机或服务器上安装代理,该代理连接到 Chef 服务器,检查是否有可用的更新和其他配置。你还可以使用 Chef Automate 平台来打包和部署应用程序。

要将 Azure 虚拟机与 Chef 服务器连接,需要从 Azure 下载发布设置文件,并将其导入 Chef 服务器,并且需要在连接的设备上安装代理以与 Chef 通信。然后,你可以在服务器上创建 Chef Cookbook,其中包含用于管理设备和自动化部署的脚本和指令。

Puppet

Puppet 也是一个第三方解决方案,具有与 Chef 类似的功能。你可以在 Azure 门户中创建虚拟机时自动启用对 Puppet 的支持。创建新虚拟机时,可以将其作为扩展添加。它将安装 Puppet 代理,连接到 Puppet 主服务器。

你需要提供 Puppet 主服务器的名称,虚拟机将在创建时集成该服务器:

[外链图片转存中…(img-iuISimvF-1751164652379)]

安装 Puppet 代理

Azure 事件网格

Azure 事件网格也支持自动化任务。Azure 事件网格提供一个 Azure 自动化订阅者,能够响应发送到 Azure 事件网格的不同事件。因此,当创建 Azure 资源时,可以调用自动化运行书自动执行一系列步骤。例如,在 Azure 中创建虚拟机时,可以通过事件网格调用自动化运行书,以在特定时间创建启动和停止虚拟机的计划。

要获取有关将 Azure 自动化与 Azure 事件网格及 Microsoft Teams 集成的完整步骤,请参考 docs.microsoft.com/en-us/azure/event-grid/ensure-tags-exists-on-new-virtual-machines

Azure 逻辑应用

Azure 逻辑应用还支持调用自动化运行书。它提供操作,可以从您的逻辑应用中调用,以创建自动化任务、收集输出或获取运行书的状态。这可以用于从各种工作流中创建自动化,并可以与各种 Azure 资源集成。

[外链图片转存中…(img-GpdcQLi8-1751164652380)]

Azure 逻辑应用自动化操作

Visual Studio 团队服务

Visual Studio 团队服务提供针对自定义应用程序的持续集成和交付(CI/CD)解决方案。它由一组 DevOps 服务组成,可以从 Azure 使用,也可以通过安装 Team Foundation Server (TFS) 安装在本地服务器上。

VSTS 提供以下功能和能力:

  • 版本控制:持续集成、交付和测试的起点是版本控制服务器。VSTS 提供两种不同的版本控制形式,Git 和团队基金版本控制。它支持多种版本控制仓库,如 Subversion、Bitbucket 和 GitHub。

  • 持续集成:当在 VSTS 中配置 CI 时,任何提交的代码更改都会自动构建和验证。要配置 CI,您需要创建一个新的构建定义,其中包含构建和测试源代码的任务。它支持构建 .NET、Java、Node、Android、Xcode 和 C++ 应用程序。您可以使用持续测试功能在 VSTS 中自动验证已提交的代码。它支持多种测试框架,如单元测试和 Selenium。您还可以在自动化中运行 PowerShell、CLI 和命令行脚本。

  • 持续部署:下一步是创建一个发布定义。你可以用它自动将应用程序部署到一个或多个环境中。发布定义还包括一组任务。VSTS 和 TFS 都支持将应用程序部署到 PaaS 服务上,例如 Web 应用和 Azure 函数。你还可以将代码部署到虚拟机、容器、本地环境和其他云平台,并将移动应用发布到商店。

设计自动扩展策略

自动扩展为 Azure 资源和应用程序提供了一种解决方案,以满足性能要求并遵守 SLA。它可以增加额外的资源,如增加虚拟机和虚拟机的 CPU,以及其他 Azure 资源,当这些资源不再需要时,可以移除以最小化成本。这个过程由 Azure 处理。

自动扩展是云技术的关键优势之一,因为你可以轻松甚至自动地添加和移除额外的资源,而无需管理这些资源。自动扩展可以通过以下两种不同方式进行:

  • 垂直扩展:这也叫做扩展上下。你可以将应用程序移动到不同的虚拟机(VM)大小。通过更改虚拟机的大小,应用程序会在短时间内不可用,因此这种类型的扩展通常不会自动执行。

  • 水平扩展:这也叫做扩展进出。当你添加额外资源时,比如向 Azure 容器服务中添加或移除容器时,就会进行水平扩展。由于这种扩展不要求资源变得不可用,因此大多数时候是自动进行的。

为了设计一个有效的自动扩展策略,你可以使用以下方法和服务:

  • 监控和警报:使用 Azure 中不同监控解决方案提供的监控和警报功能。这些解决方案在前一章中有更详细的介绍。除了监控解决方案,Azure 中的不同资源也提供自动扩展功能,例如虚拟机、Azure 服务结构、Azure 函数、Azure 应用服务和其他云服务。这些资源可以通过 Azure 门户中的设置页面进行配置。

  • 决策逻辑:利用决策逻辑来帮助决定是否需要扩展资源。这可以通过 Azure Logic Apps 动态完成,通过调用自动化运行簿或在系统负载较高时使用预定义的计划。

  • Azure 监控扩展:这是 Azure Monitor 中集成的服务,提供虚拟机、VM 扩展集、Azure 应用服务和 Azure 云服务的自动扩展。你可以用它来安排实例,在满足某个 CPU 使用率或某个队列中的消息数量时进行扩展。

  • 应用架构: 根据需求架构自定义应用程序,以便它们可以横向扩展。这适用于 Azure Service Fabric 应用、运行在容器中的应用或批量应用程序。为此,可以使用限制模式和竞争消费者模式。

总结

在本章的最后,我们讨论了如何利用 Azure 提供的不同解决方案和工具设计操作自动化策略,以及如何设计自动扩展策略。

通过本章所获得的知识,你应该能够通过 70-535 考试。别忘了查看进一步阅读部分,因为其中有很多额外的信息,可能也会在考试中出现。

希望你像我写这本书一样享受阅读它,祝你考试好运!

问题

请回答以下问题,以测试你对本章内容的理解。你可以在本书末尾的评估部分找到答案。

  1. 你的公司使用 Windows、Linux 和 Mac 设备。Azure 自动化是你自动化策略的最佳解决方案吗?

    1. 是的

    2. 不是

  2. 你正在为虚拟机设计一个标准化的部署解决方案。你还有一个要求,在部署后配置并保持虚拟机的同步。你是否应该使用 Azure PowerShell 所需状态配置 (DSC) 来实现这一点?

    1. 是的

    2. 不是

  3. 你能使用 Azure Event Grid 来执行自动化任务吗?

    1. 是的

    2. 不是

进一步阅读

你可以查看以下链接,获取更多关于本章所涵盖主题的信息:

  • Azure 自动化简介: docs.microsoft.com/en-us/azure/automation/automation-intro

  • Windows PowerShell 所需状态配置概述: docs.microsoft.com/en-us/powershell/dsc/overview

  • Azure 自动化 DSC 概述: docs.microsoft.com/en-us/azure/automation/automation-dsc-overview

  • Azure 上的 Chef: docs.microsoft.com/en-us/azure/chef/

  • Azure Event Grid 文档: docs.microsoft.com/en-us/azure/event-grid/

  • Azure 逻辑应用文档: docs.microsoft.com/en-us/azure/logic-apps/

  • Visual Studio 团队服务:构建和发布: docs.microsoft.com/en-us/vsts/build-release/?view=vsts

  • 自动扩展指南: docs.microsoft.com/en-us/azure/architecture/best-practices/auto-scaling

附录 A – 评估

第一章,与 Azure 虚拟机一起工作

问题的答案如下:

  1. 正确答案:是的:托管磁盘是默认的磁盘类型。

  2. 正确答案:是的:它们应该被添加到可用性集。

  3. 正确答案:不是:默认情况下,它们被添加到两个故障域和五个更新域中。

第二章,配置计算密集型应用程序

问题的答案如下:

  1. 正确答案:不是:你应该使用 HPC Pack 来实现这一点。

  2. 正确答案:是的:它们旨在提供高性能。

  3. 正确答案:不是:Azure Batch 有自己的 JSON 模板,看起来像 ARM 模板。

第三章,设计 Web 应用程序

问题的答案如下:

  1. 正确答案:是的:Redis 缓存是一个内存中的键值数据存储。

  2. 正确答案:2:Basic 层最适合用于开发环境,而非生产环境。

  3. 正确答案:2:Azure B2C 是你可以在自定义应用程序中使用的,而不是 Azure B2B。

第四章,实施无服务器架构和微服务

问题的答案如下:

  1. 正确答案:是的:你可以使用 API 管理作为微服务的无状态网关。

  2. 正确答案:是的:你可以在 Azure 容器实例上部署 Kubernetes。

  3. 正确答案:是的:Azure Service Fabric 提供完整的 DevOps 环境,用于构建微服务。

第五章,稳健的网络实现

问题的答案如下:

  1. 正确答案:不是:当创建自定义路由表时,Azure 会优先使用自定义路由表而不是系统路由表。它不会被删除。

  2. 正确答案:不是:NSG 规则是从低到高处理的。

  3. 正确答案:是的:防火墙是一个广为人知的安全解决方案,适合在 DMZ 中托管。

第六章,连接混合应用程序

问题的答案如下:

  1. 正确答案:2:这是其中的一个限制。为了保护你的应用免受外部访问,你必须创建一个带有内部负载均衡器的应用服务环境。

  2. 正确答案:不是:你需要 Azure AD Connect 来同步本地帐户和 Azure Active Directory。

  3. 正确答案:是的:你可以使用 Azure 应用服务虚拟网络集成来实现这一点。

第七章,使用存储解决方案

问题的答案如下:

  1. 正确答案:是的:CosmosDB 默认是全球分布式的,因此它提供低延迟,非常适合游戏应用程序。

  2. 正确答案:不是:Azure Search 只能与 Azure SQL 数据库、Azure CosmosDB 和 Azure Blob 存储一起使用。

  3. 正确答案:不是:MongoDB API 不支持图形;为此,你应该使用 Gremlin API。

第八章,可扩展数据实现

问题的答案如下:

  1. 正确答案:是的:你可以进行已删除数据库恢复,用于恢复已删除的数据库。

  2. 正确答案:是的:你可以使用 SQL Server Stretch 数据库来标记表,将来自本地 SQL Server 的数据归档到 Azure SQL 数据库中。

  3. 正确答案:不是:Azure 数据分析使用 U-SQL。

第九章,保护你的资源

问题的答案是:

  1. 正确答案:是:Microsoft Graph 提供了一套 API,连接多个 Azure 服务,如 Office 365 和 Azure AD,并为开发者提供一个单一端点,以便在自定义应用程序中使用。

  2. 正确答案:不:为了实现本地与云应用程序之间的单一登录体验,你应该使用 ADFS。

  3. 正确答案:是:你可以使用 Azure B2B 来控制对外部用户的访问。

第十章,保护你的数据

问题的答案是:

  1. 正确答案:不:你应该使用 Always Encrypt。它允许将加密数据存储在数据库中,且加密与解密操作由客户端处理。数据掩码功能可以为某些角色隐藏敏感信息。

  2. 正确答案:是:这是 Azure Key Vault 的一个功能。你可以使用它来存储应用程序 ID 和应用程序密钥,并在运行时动态地检索这些值。

  3. 正确答案:不:Azure 存储服务加密对静态数据和传输中的数据进行加密,而 Azure 磁盘加密则不做此操作。

第十一章,治理与策略

问题的答案是:

  1. 正确答案:是:通过 Azure AD 特权身份管理,你可以授予符合条件的角色访问权限。

  2. 正确答案:是:你可以使用 Operations Management Suite 来管理你的本地和 Azure 基础设施。

  3. 正确答案:是:你可以使用 Azure 资源策略来评估你的 Azure 资源是否符合特定标准,例如是否所有虚拟机都使用托管磁盘。

第十二章,人工智能、物联网与媒体服务

问题的答案是:

  1. 正确答案:2:你应该使用 Standard S2 服务层来处理每天 500 万事件。

  2. 正确答案:1:是:媒体服务在底层使用了各种认知服务 API。

  3. 正确答案:2:不:对于 Azure 与设备之间的双向通信,你应当使用 IoT Hub。对于数据流入场景,Event Hub 是更合适且具成本效益的解决方案。

第十三章,实现消息解决方案

问题的答案是:

  1. 正确答案:2:不:你应该使用 Standard 服务层;Basic 和 Standard 服务层都提供每月 1000 万次推送消息,但 Standard 服务层在 Basic 层的基础上提供了丰富的遥测功能。

  2. 正确答案:2:不,Azure Logic Apps 不提供调用外部 SDK 的解决方案。Azure Functions 可以,因此这是最佳解决方案。

  3. 正确答案:2:不,Azure 存储队列只能处理最大为 64 KB 的消息。你应该使用 Azure Service Bus 队列。

第十四章,应用监控与告警策略

问题的答案是:

  1. 正确答案:1:是,Azure Log Analytics 为你的 IoT 解决方案提供实时监控。

  2. 正确答案:2:不,你可以从 Azure 门户打开 Azure 网络观察器。

  3. 正确答案:1:是的, Azure 服务健康是你获取有关 Azure 平台的计划维护事件信息的地方。

第十五章,探索操作自动化策略

问题的答案是:

  1. 正确答案:2:不,Chef 是最佳解决方案,因为它可以在 Windows、Linux 和 Mac 设备上使用。

  2. 正确答案:1:是的,通过 Azure PowerShell 所需状态配置(DSC),你可以在部署后部署和配置虚拟机。

  3. 正确答案:1:是的,Azure Event Grid 提供了一个 Azure 自动化订阅者,可以用于自动化任务。

附录 B – 模拟测试问题

回答以下问题,以测试您对本章信息的理解。您可以在本书末尾的模拟测试答案部分找到答案。

第一章,与 Azure 虚拟机一起工作

  1. 您需要为开发环境推荐合适的策略。您会选择哪个虚拟机系列?

    1. F 系列

    2. B 系列

    3. L 系列

    4. N 系列

  2. 您有一组部署在虚拟机上的应用程序。您需要确保在虚拟机更新时应用程序仍然可以访问。您应该怎么办?

    1. 为每个应用程序创建一个可用性集

    2. 实现自动扩展

    3. 创建资源组

    4. 创建一个具有两个或更多虚拟机的可用性集

  3. 当将虚拟机放入可用性集时,Azure 提供多少故障域?

    1. 2

    2. 4

    3. 5

    4. 7

  4. 当在 Azure 中配置 Azure 虚拟机时,它是使用托管磁盘创建的吗?

  5. 如何部署虚拟机规模集?

    1. 使用 Azure 门户

    2. 使用 CLI

    3. 使用 PowerShell

    4. 使用 ARM 模板

  6. 部署后,您是否可以通过公共 IP 地址直接使用 SSH 或 RDP 访问虚拟机规模集中的虚拟机?

  7. 您将 Azure 虚拟机部署到东美国区域。您需要设计一个解决方案,以便在数据中心故障时尽可能快速地恢复。您将虚拟机部署到哪个区域?

    1. 东美国 2

    2. 西欧洲

    3. 西美国

    4. 西美国 2

第二章,配置计算密集型应用程序

  1. 您正在设计一个图形密集型应用程序。您会选择哪个虚拟机系列?

    1. B 系列

    2. N 系列

    3. A 系列

    4. G 系列

  2. 您的组织希望每年只运行一次密集型科学计算。最便宜的解决方案是什么?

    1. Azure 批量处理

    2. HPC Pack

    3. Azure 虚拟机

    4. Azure HDInsight

  3. 您的公司需要运行大规模计算工作负载。实施的核心要求是从一个中心点(例如管理环境)添加和删除计算节点。您建议选择什么方案?

    1. 使用 Azure 批量处理

    2. 使用 Azure 虚拟机

    3. 使用 Azure VM H 系列

    4. 使用 HPC Pack

第三章,设计 Web 应用程序

  1. CDN 的好处是什么?

    1. 减少响应时间

    2. 减少流量到原始服务

    3. 启用更快的升级

    4. 提高安全性

  2. 以下哪些编程语言是 Azure Web 应用支持的?

    1. .NET Core

    2. Java

    3. Node.js

    4. Python

  3. Azure 流量管理器的可用路由方法有哪些?

    1. 地理位置

    2. 扩展

    3. 缓存

    4. 优先级

  4. 您正在创建一个使用 Redis Cache 的应用程序。您应该推荐哪个定价层?您会推荐哪个?

    1. 基础

    2. 标准

    3. 高级

    4. 免费

  5. 您正在创建一个自定义应用程序,要求用户通过 Facebook 帐户登录。您会选择哪种解决方案?

    1. Azure AD B2C

    2. Microsoft Graph

    3. Azure Active Directory Connect

    4. Azure AD B2B

第四章,实现无服务器和微服务

  1. 您正在设计一个需要触发 BizTalk 服务器电子数据交换(EDI)服务的应用程序。哪种技术实现最适合该功能?

    1. Azure API 管理

    2. Azure 逻辑应用

    3. Azure Functions

    4. Azure 容器实例

  2. Azure Service Fabric 为你的微服务应用提供完整的生命周期支持。Azure Service Fabric 提供哪些角色?

    1. 服务开发者

    2. 应用开发者

    3. 操作员

    4. 贡献者

  3. 什么是 API 管理?

    1. Visual Studio 2017 的一个附加组件,允许你将 API 部署到 Azure

    2. 用于自定义 API 的 API 网关

    3. 用于管理 Azure 逻辑应用的工具

    4. 用于容器的编排工具

第五章,强大的网络实现

  1. Azure 支持哪些 VPN 类型?

    1. VNet 对 VNet

    2. 站点到站点

    3. 点对站点

    4. OpenVPN

  2. ExpressRoute 最多能提供多少带宽?

    1. 100 Mbps

    2. 1 Gbps

    3. 10 GBps

    4. 2 Gbps

  3. 你正在设计一个需要面向全球成千上万用户的应用。对于位于远程地区的用户,你有性能和响应时间的担忧。你应该怎么做?

    1. 设置 VPN 网关

    2. 在多个区域部署应用

    3. 部署流量管理器

    4. 部署负载均衡器

  4. 你有两台虚拟机,VM1 和 VM2。所有外部流量必须通过 VM1 路由。你应该使用什么解决方案?

    1. DNS

    2. 系统路由

    3. 用户定义路由

    4. 网络安全组

第六章,连接混合应用

  1. 你想将本地应用连接到云,但不允许打开防火墙端口。你应该使用哪个 Azure 服务?

    1. Azure Active Directory 域服务

    2. Azure 数据工厂

    3. Azure 数据管理网关

    4. Azure Relay 服务

  2. 你的应用部署在一个本地虚拟机上,你希望在应用中使用 Azure AD 凭证。实现这一目标的最简单方法是什么?

    1. 设置混合环境并使用 Azure AD Connect 将用户账户和凭证与云同步

    2. 配置 Azure AD 域服务

    3. 使用 Azure 本地数据网关

    4. 使用 Azure VNet 集成

第七章,使用存储解决方案

  1. 你正在开发一个应用,需要存储 Microsoft Word 和 Excel 文档。你选择哪种存储类型?

    1. Blob 存储

    2. StorageV2

    3. 存储

    4. 表存储

  2. 你正在为一个跨国公司开发应用,需要存储数据集。你选择哪种复制类型?

    1. 地理冗余

    2. 区域冗余

    3. 本地冗余

  3. 你的组织使用一个本地的 SharePoint 2013 农场,存储了大量归档数据,这些数据存储在 SAN 存储上,并且达到了当前设备的存储限制。他们需要一个更具成本效益的存储选项来存储未来的归档数据。你会推荐什么?

    1. 在本地数据中心添加新的 SAN 存储设备

    2. 使用 StorSimple 虚拟阵列

    3. 使用 Office 365 和 SharePoint Online 存储云中的数据

    4. 使用 StorSimple 8000 系列

  4. 你想为一个金融应用使用 CosmosDB。哪个 API 最适合?

    1. 图形 API

    2. SQL API

    3. Cassandra API

    4. DocumentDB API

  5. 您计划在组织内部署 Azure 搜索,搜索公司网站、移动应用程序和其他应用程序中的内容。您有以下需求:存储最多 1 亿个文档,支持多租户场景,并支持超过 1,000 个索引。您选择哪个服务层级?

    1. 标准 S1

    2. 标准 S2

    3. 标准 S3

    4. 标准 HD

第八章,可扩展的数据实现

  1. 您有一个本地 SQL Server 2012 数据库,并希望尽快进行迁移。您需要推荐一个迁移解决方案。您选择什么?

    1. Stretch Database

    2. Azure MySQL 数据库

    3. Mongo DB

    4. Azure SQL 数据库

  2. 您想为 Azure SQL 数据库实施地理复制。您可以在哪里配置此项?

    1. PowerShell

    2. Transact SQL

    3. REST API

    4. Azure 门户

  3. Azure SQL 数据库备份有哪些恢复场景类型?

    1. 时间点恢复

    2. 标准恢复

    3. 已删除数据库恢复

    4. 地理恢复

  4. 您有五个使用标准服务层级的 Azure SQL 数据库。您正在为这些数据库设计备份策略,备份必须保存至少 5 年,以符合法律要求。数据库必须能够恢复到特定时间点。您应该怎么做?

    1. 将服务层级从标准更改为高级

    2. 配置 Azure 恢复服务并添加长期备份保留策略

    3. 配置地理恢复

    4. 导出自动化备份并将其存储为 Blob

  5. 您正在将本地 SQL Server 数据库迁移到 Azure SQL 数据库,数据库大约有 100 GB 的数据。您有以下需求:99.99% 的正常运行时间保证,支持多个并发查询,并尽量减少成本。您应该选择哪个服务层级和级别?

    1. 标准 S1

    2. 标准 S2

    3. 高级 P1

    4. 高级 P2

第九章,保护您的资源

  1. 您正在创建一个托管在 Azure 上的移动应用程序,外部用户可以使用他们的 LinkedIn 凭据登录。您使用哪个 Azure 服务?

    1. Microsoft Graph

    2. Azure B2B

    3. Azure AD REST API

    4. Azure B2C

  2. 如何在您的移动应用程序中实现这一点?

    1. 通过添加第三方认证 SDK

    2. 通过将内置策略添加到 web.config

    3. 通过在 Azure Active Directory 中注册应用程序

    4. 通过在 Visual Studio 2017 中创建新解决方案

  3. 您为一家希望将本地 AD 与 Azure AD 集成的组织工作。一个要求是他们可以继续使用当前的登录页面,该页面具有自定义通知和帮助台信息。您建议使用什么解决方案?

    1. 部署 Azure AD Connect

    2. 使用 Azure AD 密码同步

    3. 部署 ADFS

    4. 将当前的活动目录迁移到 Azure 虚拟机

  4. 您的组织希望在 Office 365 中向外部用户提供受控访问,并希望让外部管理员管理这些用户。最佳解决方案是什么?

    1. 在 Office 365 中启用外部共享,让用户决定与谁共享文档

    2. 部署 ADFS

    3. 使用 Azure B2B

    4. 使用 Azure B2C

第十章,保护您的数据

  1. 你想在存储帐户上启用 Azure 存储服务加密。哪个存储类型将自动加密?

    1. Blob

    2. 文件

    3. 队列

    4. 表格

  2. 你想加密虚拟机的数据磁盘。你会使用哪项技术?

    1. Azure 存储服务加密

    2. 始终加密

    3. Azure 密钥保管库

    4. Azure 磁盘加密

  3. 什么是始终加密?

    1. 存储证书的位置

    2. 数据传输中的数据库设置

    3. 数据使用中的数据库设置

    4. 加密和解密数据的密钥

  4. 你正在设计一个新应用程序,出于安全原因,你不希望在代码和 web.config 文件中存储任何凭据。你会选择哪项技术?

    1. Azure Active Directory 托管服务身份

    2. Azure 密钥保管库

    3. 透明数据加密

    4. 应用服务主体

第十一章,治理和政策

  1. 你需要授予一组管理员有限的访问权限。其中两个人需要管理 Azure 订阅的权限。你会将管理员添加到哪个角色?

    1. 贡献者

    2. 管理员

    3. 阅读者

    4. 拥有者

  2. 你正在 Azure 安全中心监控你的计算资源。显示了一个安装端点保护的建议。这个保护提供了什么类型的防护?

    1. 针对 API 端点的反恶意软件保护

    2. 针对虚拟机的反恶意软件保护

    3. 针对 API 端点的身份保护

    4. 针对虚拟机的身份保护

  3. 你组织中有几个用户需要临时访问 Exchange Online 的管理员资源。然而,从安全角度考虑,你不希望他们被添加到 Exchange 管理员角色中。那么你建议使用什么解决方案?

    1. Azure Active Directory 托管服务身份

    2. 将他们添加到 RBAC 中的贡献者角色

    3. 使用 Azure AD 特权身份管理

    4. 将他们添加到拥有者角色,并在用户完成后手动移除他们

  4. 你在一家全球性公司工作,该公司正在结合来自不同云提供商的解决方案,并拥有多个本地数据中心。你需要从一个解决方案中监控和保护所有这些环境。你建议使用哪种解决方案?

    1. Azure 安全中心

    2. 操作管理套件 安全与合规性

    3. Azure AD 身份保护

    4. 高级威胁防护

  5. 你需要授予一组管理员有限的访问权限。其中一个管理员只需要重新启动虚拟机的权限。你会将该管理员添加到哪个角色?

    1. 创建自定义角色

    2. 阅读者

    3. 拥有者

    4. 贡献者

第十二章,人工智能、物联网和媒体服务

  1. 你正在创建一个网站,用户可以上传文化地标的照片。这些图片需要根据图像自动分类。你会使用哪个认知服务 API?

    1. 面部 API

    2. 计算机视觉 API

    3. AMS 媒体分析

    4. LUIS API

  2. 你正在设计一个用于收集传感器设备生成的大量数据的解决方案。数据需要在本地网络内进行处理。你会选择哪种解决方案?

    1. Azure 时间序列分析

    2. Azure IoT Hub

    3. Azure Event Hubs

    4. Azure IoT Edge

  3. 你正在设计一个解决方案,用于处理由各种 IoT 设备生成的每秒数百万个事件。你会选择哪种解决方案?

    1. Azure Time Series Analytics

    2. Azure IoT Hub

    3. Azure Event Hubs

    4. Azure IoT Edge

  4. 你正在设计一个使用 Azure IoT Hub 的解决方案,每天处理超过 1 亿个事件。你会选择哪个定价层?

    1. Standard S1

    2. Standard S2

    3. Standard S3

    4. Standard S4

  5. 你正在设计一个解决方案,需要将数据从 IoT 设备传输到 Azure。你需要选择最具成本效益的解决方案。你会选择哪种解决方案?

    1. Azure IoT Hub

    2. Azure IoT Edge

    3. Azure Functions

    4. Azure Event Hubs

第十三章,实现消息传递解决方案

  1. 你正在设计一个应用程序,具有以下要求:用户界面层需要与多个处理层解耦。消息大小约为 1 MB。这是一个具有未来扩展要求的应用程序,其中一些处理层只会接收消息的子集。你会选择哪种解决方案?

    1. Azure Service Bus Queues

    2. Azure Service Bus Topics

    3. Azure Queue Storage

    4. Azure Functions

  2. 你正在设计一个解决方案,可以监控并响应设备事件。你希望能够将设备事件广播到多个端点,并创建自定义主题和 Azure Functions。你会选择哪种解决方案?

    1. Azure Event Grid

    2. Azure IoT Hub

    3. Azure Event Hubs

    4. Azure IoT Edge

  3. 你正在设计一个应用程序,具有以下要求:用户界面层需要与处理层解耦。消息大小不超过 50 KB。这是一个小型应用程序,只有一个处理层,且未来无需升级。你会选择哪种解决方案?

    1. Azure Service Bus Queues

    2. Azure Service Bus Topics

    3. Azure Queue Storage

    4. Azure Functions

第十四章,应用监控和告警策略

  1. 你正在创建一个监控和告警解决方案,监控你的 Azure 资源。你有以下要求:当虚拟机被删除时发送告警,并将事件写入 Event Hubs 和 Log Analytics。你会使用哪种解决方案?

    1. Azure Security Center

    2. Azure Health

    3. Azure Activity Log

    4. Azure Application Insights

  2. 你正在创建一个监控和告警解决方案,管理员希望查询 Azure 订阅中的所有可用日志。你会使用哪种解决方案?

    1. Azure Security Center

    2. Azure Log Analytics

    3. Azure Health

    4. Azure Network Watcher

  3. 你正在创建一个 Web 应用程序,可以托管在本地或 Azure 的 Docker 容器中。你希望获得更多关于页面查看和 API 调用的洞察。你会使用哪种监控解决方案?

    1. Azure Application Insights

    2. Azure Service Health

    3. Azure Activity Log

    4. Azure Network Watcher

  4. 你想了解微软在 Azure 资源上进行维护活动的时间。哪种监控解决方案能提供此类信息?

    1. Azure Application Insights

    2. Azure Service Health

    3. Azure Activity Log

    4. Azure Network Watcher

第十五章,探索运维自动化策略

  1. 你正在设计标准化的虚拟机部署和配置。你需要发布一个配置库,用于自动设置新虚拟机上的角色和功能安装。你应该选择哪种解决方案作为自动化策略?

    1. Chef

    2. Puppet

    3. 图形化运行簿

    4. Azure PowerShell Desired State Configuration (DSC)

  2. 你需要设计一个策略,在晚上 7 点关闭所有虚拟机,并在早上 8 点重新启动它们。解决方案应完全在 Azure 中运行。你会选择哪种解决方案?

    1. Chef

    2. Azure Automation

    3. Puppet

    4. 作为虚拟机上计划任务配置的 PowerShell 脚本。

  3. 你的公司使用 Windows、Linux 和 Mac 设备。你正在设计一种自动化策略。你会选择哪种解决方案?

    1. PowerShell

    2. Azure Automation

    3. Chef

    4. Puppet

附录 C – 模拟测试答案

你可以按以下方式找到问题的答案:

第一章,与 Azure 虚拟机一起工作

  1. 正确答案:2

    1. 错误:F 系列通常用于计算优化型虚拟机。它们用于游戏服务器、Web 服务器和批处理,而不是开发。

    2. 正确:B 系列适用于测试和开发、小到中型数据库以及低到中等流量的 Web 服务器。

    3. 错误:L 系列通常用于像大数据这样的存储场景。

    4. 错误:N 系列是专为图形渲染和视频编辑等重型任务设计的虚拟机。

  2. 正确答案:4

    1. 错误:不存在为部署在虚拟机上的应用程序创建可用性集的情况。

    2. 错误:自动伸缩是为了应用程序和虚拟机的性能,而不是为了高可用性。

    3. 错误:资源组在这里没有帮助。

    4. 正确:通过创建至少两台虚拟机并将它们放入可用性集,如果一台虚拟机失败或需要更新,应用程序仍然可以访问。

  3. 正确答案:3

  4. 正确答案:1

  5. 正确答案:1,2,3,4

    1. 正确:你可以使用 Azure 门户部署 VM 规模集。

    2. 正确:你可以使用 CLI 部署 VM 规模集。

    3. 正确:你可以使用 PowerShell 部署 VM 规模集。

    4. 正确:你可以使用 ARM 模板部署 VM 规模集。

  6. 正确答案:1

  7. 正确答案:1:西美国地区与东美国地区配对。这意味着在发生故障时,优先恢复每对区域中的至少一个。

第二章,配置计算密集型应用程序

  1. 正确答案:2

    1. 错误:B 系列适用于测试和开发、小到中型数据库以及低到中等流量的 Web 服务器。

    2. 正确:N 系列是专为图形渲染和视频编辑等重型任务设计的虚拟机。

    3. 错误:A 系列中的某些虚拟机设计用于 HPC 计算,但 N 系列主要用于图像渲染。

    4. 错误:X 系列不存在。

  2. 正确答案:1:Azure Batch 可以轻松扩展到数百个核心,你只需为实际使用的计算能力付费。剩余的时间你不需要支付任何费用。这是通过虚拟机或 HPC Pack 无法实现的,HPC Pack 是安装在虚拟机或本地服务器上的。

  3. 正确答案:4:只有 Microsoft HPC Pack 提供用于添加和移除附加节点的管理工具。Azure Batch 不提供此功能。

第三章,设计 Web 应用程序

  1. 正确答案:1,2

    1. 正确:CDN 减少了响应时间。内容存储在来自其他位置的不同服务器上。

    2. 正确:通过从其他服务器获取静态内容,原始服务器的流量得以减少。

    3. 错误:CDN 与更新无关。

    4. 错误:CDN 与安全性无关。

  2. 正确答案:1,2,3,4

  3. 正确答案:1,4

    1. 正确:地理路由是 Azure 流量管理器的一种路由方法。路由基于用户的地理位置。

    2. 错误:这不是一种路由方法。

    3. 错误:这不是一种路由方法。

    4. 正确:优先级是 Azure 流量管理器的路由方法。使用此方法,路由使用一个端点作为所有流量的主端点,并提供备份,以防主端点或备份端点不可用。

  4. 正确答案:2. Standard 层最适合生产应用,并且是最具成本效益的。

  5. 正确答案:1. Azure B2C 是当您希望用户使用其 Facebook 凭据登录时,在自定义应用程序中可以利用的选项。

第四章,实现无服务器架构和微服务

  1. 正确答案:2

    1. 错误:API 管理作为自定义 API 的网关使用。单独使用它无法调用本地 BizTalk 服务。

    2. 正确:Azure 逻辑应用由现成的连接器组成,您可以利用这些连接器轻松调用 BizTalk 服务。它还处理身份验证。

    3. 错误:您可以为此使用一个函数,并编写代码来访问服务。然而,这并不是推荐的方法。

    4. 错误:容器是应用程序的打包和部署机制。

  2. 正确答案:1、2、3:Azure 服务结构提供了服务开发者角色、应用开发者角色和操作员角色。

  3. 正确答案:2

第五章,强健的网络实现

  1. 正确答案:1、2、3:只有 OpenVPN 不被 Azure 支持。

  2. 正确答案:3:10 Gbps 是最大带宽。

  3. 正确答案:3:您应该部署流量管理器,并将其配置为使用性能方法路由。这将根据延迟将流量路由到全球各地。

  4. 正确答案:3:您应该使用 UDR 强制所有流量通过 VM1。

第六章,连接混合应用

  1. 正确答案:4:您应该使用 Azure Relay 服务。

  2. 正确答案:2:使用 Azure AD 域服务,您可以轻松地将虚拟机连接到 Azure,而无需安装域控制器或将用户帐户与云同步。

第七章,使用存储解决方案

  1. 正确答案:2:StorageV2 是微软推荐的存储账户。

  2. 正确答案:1:地理冗余。跨国公司使用全球分布的数据来实现高性能和高可用性。

  3. 正确答案:4:StorSimple 8000 系列提供了一种物理设备,可以存储冷数据,比如轻松地将数据归档到 Azure 存储中。与购买本地存储设备相比,这将是更具成本效益的解决方案。

  4. 正确答案:2:SQL API 提供 ACID 事务,最适合金融应用。

  5. 正确答案:4:Standard HD 是唯一可以存储最多 1,000 个索引的定价层。

第八章,可扩展的数据实现

  1. 正确答案:4:Azure SQL 数据库是这里的正确解决方案。由于你已经有一个 SQL Server 2012 数据库,它是一个关系型数据库,并且已经托管在 Microsoft 技术上,这将是最快的解决方案。

  2. 正确答案:1, 2, 3, 4:这里所有答案都是正确的。

  3. 正确答案:1, 3, 5:你可以使用时间点恢复、删除的数据库恢复和地理恢复来恢复备份。

  4. 正确答案:2:Azure 恢复服务与长期备份保留策略。使用 LTR 策略,备份可以存储长达 10 年,并通过时间点恢复来恢复数据库。

  5. 正确答案:2:你应该选择 Standard S2。使用此层级和服务级别,你可以存储最大 250 GB 的数据库,并且可以管理 1,200 个并发连接。你也可以使用 Premium 层级,因为它可以存储大于 250 GB 的数据库并管理 2,400 个并发连接,但这比 Standard 服务层级更贵。

第九章,保护你的资源

  1. 正确答案:4:Azure 商业对消费者是你可以用来验证 LinkedIn 的服务。它提供了多个外部身份验证提供者,你可以在自定义应用程序中利用它们。

  2. 正确答案:2:Azure B2C 使用内置策略,这些策略需要被添加到代码中的 web.config 中。通过添加这些策略,你可以用它们进行登录、注册、读取个人资料数据等。这些策略与 Azure B2C 中的各种身份提供者关联。

  3. 正确答案:3:使用 ADFS,用户登录后,请求会返回到本地环境并与本地 Active Directory 进行验证。它使用本地登录页面,可以完全根据组织需求进行定制。

  4. 正确答案:3:这是 Azure 提供的一项功能,你可以用它来进行受控的外部共享。管理员可以通过专用门户管理外部用户,并为他们创建组和策略。

第十章,保护你的数据

  1. 正确答案:1, 2, 3, 4:Azure 存储服务加密将自动加密所有四种存储类型。

  2. 正确答案:4. 你使用 Azure 磁盘加密来加密虚拟机磁盘。

  3. 正确答案:3. 用于数据使用中的数据库设置。你可以为 Azure SQL 数据库启用此功能,它用于存储加密数据。

  4. 正确答案:1. 使用 Azure Active Directory 托管服务身份,你可以调用一个端点,使用 Azure AD 凭证获取访问令牌。无需再提供凭证。

第十一章,治理与策略

  1. 正确答案:4:管理员需要被添加到所有者角色中,以便能够管理所有内容。

  2. 正确答案:2:端点保护为你的虚拟机提供反恶意软件保护。只能从 Azure 安全中心启用它。

  3. 正确答案:1:仅需重新启动虚拟机时,你需要创建一个自定义角色。内置角色不适合此操作。

  4. 正确答案:3:Operations Management Suite 安全与合规是可以监控大型混合环境的解决方案,包括来自不同云提供商的服务器和解决方案。

  5. 正确答案:3:你可以使用 Azure AD 特权身份管理为用户授予合格角色访问权限。

第十二章,人工智能、物联网与媒体服务

  1. 正确答案:2:你应该使用计算机视觉 API。它可以根据图像的内容自动分类文化地标。

  2. 正确答案:4:Azure IoT Edge 可以安装在本地网络的边缘,并可以在本地存储和处理数据。

  3. 正确答案:2:IoT Hub 是唯一能够处理每秒数百万事件的解决方案。

  4. 正确答案:2:标准 S2 提供对每天最多 600 万条消息的支持,因此这是最佳解决方案。

  5. 正确答案:4:Azure 事件中心是这个场景中最具成本效益的解决方案,因为它只需要设备到 Azure 的单向通信。

第十三章,实现消息传递解决方案

  1. 正确答案:2:对于这个规模的应用,考虑到消息大小和需要过滤功能的多个订阅者,Azure 服务总线主题是合适的解决方案。

  2. 正确答案:1:Azure 事件网格是这里的正确解决方案。它可以将事件推送到多个 Azure 资源,如 Azure 函数。

  3. 正确答案:3:对于一个只有一个处理层且最大消息大小为 50 KB 的小型应用,Azure 队列存储是正确的解决方案。

第十四章,应用监控与告警策略

  1. 正确答案:3:你应该使用 Azure 活动日志,它已集成在 Azure 监控中。

  2. 正确答案:2:在 Azure 日志分析中,管理员可以创建查询来查询数据。

  3. 正确答案:1:Application Insights 是定制应用的合适监控解决方案。它们可以托管在 Azure 上,也可以托管在本地。

  4. 正确答案:2:Azure 平台维护活动和计划通过 Azure 服务健康提供。

第十五章,探索运营自动化策略

  1. 正确答案:4:你应该使用 Azure PowerShell 所需状态配置(DSC)。它提供对虚拟机初始启动时的机器配置和应用程序部署的支持。

  2. 正确答案:2:你应该使用 Azure 自动化来处理此问题。该解决方案完全在 Azure 中运行,你可以创建一个运行手册,安排每天停止和启动虚拟机。

  3. 正确答案:3:Chef 支持 Windows、Linux 和 Mac 设备。