Microsoft Azure基础书

本书为没有使用云技术的开发人员和IT专业人员提供了有关关键Azure平台服务的最重要信息。 提供详细的分步说明,以帮助读者学习使用所有重要服务的基础知识。

该材料不仅对Azure开发的初学者有用,对于需要将其还原到内存中的专家以及只熟悉其中一些讨论主题的人员都将是有用的。 本书的各章是独立的:为了理解一章的内容,没有必要研究先前各章中的示例。


今天,我们出版本书第一章的一部分。 您可以在此处免费下载完整版本。



目录


  • Azure简介-1;
  • Azure应用程序服务和Web应用程序-32;
  • 虚拟机-70;
  • 仓储服务-101;
  • Azure虚拟网络-133;
  • 数据库-157;
  • Azure Active Directory-181;
  • 管理工具-206;
  • 附加服务Azure-231;
  • 用例-238

引入Azure


什么是Azure?


Azure是一个Microsoft云平台。

云技术-常规


云计算是熟悉的本地数据中心的现代替代方案。 所有设备的采购和维护任务完全由公共云服务提供商负责。 它为客户提供了各种平台服务的访问权限。 客户租用他们不时需要的硬件和软件资源。 因此,他们将购买设备的资本成本转换为运营成本。 另外,这种方法允许客户租用对硬件和软件资源的访问权,购买这些资源将太昂贵。 客户仅可使用云平台供应商提供的那些设备,但它们仅在使用时付费。

Web门户用于管理云环境(其计算资源,存储,网络和应用程序)。 例如,在Azure门户上,用户可以创建将定义以下特征的虚拟机(VM)配置:虚拟机配置(处理器,RAM和本地磁盘),操作系统,预先部署的软件,网络配置以及虚拟机的位置。 之后,用户可以基于此配置部署虚拟机,并在几分钟内开始使用它。 以前,必须部署物理机,仅购买物理机可能需要数周时间,因此快速部署的可能性看起来非常诱人。

我们谈到了公共云。 也有私有云和混合云。 私有云是在公司自己的数据处理中心中创建的云环境,并且向用户(公司的雇员)提供了用于独立使用其资源的工具。 用户在这种环境下的工作方式与使用公共云的方式几乎相同,但是与设备购买和维护,硬件和软件资源的选择有关的所有任务完全由公司负责。 混合云是结合了公共云和私有云的环境。 这种方法使您可以选择最适合的选项来放置工作负载。 例如,如果网站上的负载变化很大,则可以将其放置在公共云中并连接到私有云(或本地数据中心)中的安全数据库。

Microsoft解决方案支持公共,私有和混合云。 本书专用的Microsoft Azure平台是公共云。 Microsoft Azure Stack是Windows Server 2016的扩展,它使您可以在本地数据中心中部署许多基本的Azure服务,并为用户提供自助服务门户。 这些组件可以通过虚拟专用网络(VPN)与混合云集成。

本地环境和Azure比较


使用本地基础结构,您部署的硬件和软件组件完全在您的控制之下。 因此,在购买设备时,他们通常针对垂直扩展(即,他们试图购买具有大量内核的服务器以提供所需的性能)。 如果使用Azure,则只能使用Microsoft提供的设备。 在这种情况下,为了提高生产率,使用了水平扩展:您只需部署其他计算节点。 在设计软件系统的体系结构时,必须考虑到此功能,但是,如实践所示,水平扩展(部署低成本设备)比垂直扩展(购买高性能设备)更具成本效益。

在撰写本文时,Microsoft Azure数据中心在全球超过22个地区开放:从墨尔本到阿姆斯特丹,从圣保罗到新加坡。 此外,微软已与21Vianet达成协议,现在Azure平台可在中国两个地区使用。 微软宣布将在另外八个地区部署Azure。 只有全球最大的公司才能在这种范围内打开数据中心。 因此,借助Azure,任何规模的公司都可以在其客户集中在地球任何区域的区域中部署其服务。 而这一切-甚至都不需要离开办公室!

Azure使年轻的公司可以从非常低的成本开始,并在新客户到来时快速扩展其基础架构。 运行一个或多个新虚拟机不需要大量的预付款。 当今的年轻公司往往会迅速扩大规模并从错误中迅速学习。 云技术的使用与这些原则完全一致。

Azure可帮助您快速而灵活地启动新的开发和测试环境。 您可以使用脚本来部署这些环境。 因此,如有必要,您可以运行开发或测试环境,进行测试并删除它。 结果,该公司节省了很多钱,几乎没有花任何钱来支持基础架构。

Azure的另一个优势是无需更换本地硬件即可测试软件的新版本的能力。 假设您需要了解从Microsoft SQL Server 2014切换到Microsoft SQL Server 2016时应用程序的变化。为此,您只需创建一个SQL Server 2016实例并通过将其连接到新数据库来启动服务的副本-无需选择设备或拉线。 或者,您可以启动运行Microsoft Windows Server 2012 R2而不是Microsoft Windows Server 2008 R2的虚拟机。

云报价


云服务通常属于以下三类之一:SaaS,PaaS或IaaS。 但是,随着云技术的发展,它们之间的界限变得越来越不清楚。

SaaS:软件即服务


该软件托管在集中式环境中,并代表客户端进行管理,称为SaaS(软件即服务)。 通常,此方法使用多租户架构,即,为所有客户端提供相同版本的应用程序。 可以在多个实例之间进行缩放,以提供最佳性能,而不管位置如何。 对于SaaS许可,通常使用每月或每年的订阅费用。

SaaS的一个示例是Microsoft Office365。用户按月或按年订阅并获得对以下产品的访问权:Exchange即服务(Outlook Web客户端和/或桌面应用程序),服务即存储(OneDrive)和其他Microsoft软件包组件Office(桌面和/或Web版本)。 同时,总是向订户提供产品的最新版本。 因此,实际上,您可以使用Microsoft Exchange服务器,而无需购买,安装和支持它-其他人将负责管理Exchange服务器,包括安装补丁和更新。 与安装Microsoft Office软件包并每年进行更新相比,此选项在维护方面更便宜,更容易。

SaaS产品的其他示例是Dropbox,WordPress和Amazon Kindle。

PaaS:平台即服务


作为PaaS方法的一部分,您可以在由云服务提供商托管的专用应用程序托管环境中部署应用程序。 开发人员创建应用程序,而PaaS提供程序提供了部署和运行它的能力。 因此,开发人员无需处理基础结构维护,这意味着他们可以将所有时间都用于开发。

在Azure中,可以使用几种PaaS产品,其中包括Azure应用程序服务的Web应用程序组件以及Azure云服务(Web角色和工作角色)。 在所有情况下,开发人员都可以通过多种方式来部署应用程序,而不必了解支持基础结构的详细信息。 开发人员既无需创建虚拟机,也无需使用远程桌面协议(RDP)连接到虚拟机,也无需安装应用程序。 他们只需单击按钮(或执行另一个同样简单的操作)就足够了,Microsoft工具将准备虚拟机,部署它们并在其上安装应用程序。

IaaS:基础架构即服务


IaaS云服务提供商监视和维护运行虚拟化软件系统的服务器场。 在这些系统中,客户创建在提供商的基础架构中运行的虚拟机。 客户端会创建一个运行Windows或Linux的虚拟机(可用选项取决于服务提供商),并在其上安装所有必需的东西。 Azure使您可以配置虚拟网络,负载平衡器和存储,并使用在此环境中运行的许多其他服务。 客户端无法控制虚拟化设备或软件系统,但几乎所有其他功能都已完全使用
处置。 通过这种方法(与PaaS不同),软件可以控制客户。

Azure虚拟机(Azure的IaaS报价)是一种非常流行的用于将服务迁移到Azure的工具,因为它实质上使您可以轻松地迁移解决方案。 您可以创建一个与数据中心的基础架构类似的虚拟机,并在其中运行服务,然后将应用程序转移到该虚拟机。 在某些情况下,可能需要其他步骤(例如,更改URL,使其指向新服务或商店),但是这种方法允许您移动许多应用程序。

基于Azure虚拟机的Azure虚拟机可伸缩集(VMSS)使您可以快速创建相同虚拟机的群集。 此外,VMSS支持自动扩展(根据需要自动部署新虚拟机)。 因此,VMSS是用于托管基于更高级别微服务的计算群集的理想平台:例如,对于Azure Service Fabric和Azure Container Services。

Azure服务


Azure云平台包括许多服务。 让我们考虑其中的一些。

  • 计算服务。 此类别包括Azure虚拟机(运行Linux和Windows),云服务,应用程序服务(Web应用程序,移动应用程序,Logic Apps,API应用程序和功能应用程序),批处理服务(用于执行大型并行和批处理计算任务) ),RemoteApp,Service Fabric和Azure容器服务。
  • 数据服务。 这包括Microsoft Azure存储(包括Blob,队列,表和Azure文件服务),Azure SQL数据库,DocumentDB,StorSimple和Redis缓存。
  • 应用服务。 此类别包括用于构建和运行应用程序的服务,包括Azure Active Directory(Azure AD),用于连接分布式系统的服务总线,用于处理大数据的HDInsight,Azure Scheduler和Azure Media Services。
  • 网络服务。 该组包括Azure服务,例如虚拟网络,ExpressRoute,Azure DNS,Azure流量管理器和Azure内容传递网络。

迁移应用程序时,重要的是要了解哪些服务可作为Azure的一部分使用,因为此知识将有助于简化应用程序的迁移并提高其灵活性。 在本书的框架内不可能详细描述所有可用的服务,因此我们选择了一些最有趣的服务。 第9章(Azure高级服务)提供了这些服务的列表,并简要说明了它们的功能。

新世界:Azure资源管理器


Azure资源管理器是部署资源的新方法。

这是什么


自公开评估版启动以来,已经使用Azure服务管理(ASM)部署模型来部署服务。 由Azure门户上的ASM管理的服务称为经典服务。 2015年,Microsoft引入了使用Azure资源管理器(ASM的现代且功能更强大的替代产品)的部署模型,建议该模型用于管理新的工作负载。

这些部署模式通常称为“控制平面”,因为它们不仅用于部署服务,还用于管理它们。 它们不应与“数据平面”(服务使用的数据管理工具)混淆。

Azure中的基础结构通常包含许多资源,其中一些是互连的:例如,运行Web应用程序需要组件服务。 假设您需要两个运行Web应用程序的虚拟机。 为了存储数据,将使用位于同一虚拟网络上的数据库。 资源管理器允许您将所有这些部署在可以整体管理的单个资源组中。 部署,更新和删除属于同一组的所有资源都可以通过单个操作执行。

在此示例中,资源组将包含以下内容:

  • 虚拟机1
  • 虚拟机2
  • 虚拟网络
  • 储存帐号
  • Azure SQL数据库

此外,您可以创建一个模板,以准确描述资源管理器中与部署相关的所有资源。 之后,只需在控制平面中执行一项操作即可将该Resource Manager模板部署为一组资源。 同时,Azure资源管理器将确保正确部署所有资源。 另外,资源管理器支持使用已部署资源的各种功能:安全性,审计和标记。

资源管理器有什么好处?


使用Resource Manager有许多好处。 它使您可以更快地部署资源,因为它不是按顺序(如ASM)而是并行执行操作。 使用Azure资源管理器的部署模型允许每个服务与其服务提供商一起使用,并在必要时独立于其他服务进行更新。 Azure存储有一个服务提供商,虚拟机有另一个服务提供商,依此类推。 使用ASM模型时,必须同时更新所有服务,因此,如果一项服务比另一项服务更早完成更新,则它仍必须等待其他服务被释放。 这是使用Azure资源管理器的部署模型的一些更重要的好处:

使用模板进行部署的能力

  • 您可以创建一个JSON模板,然后重复使用它来一次性部署解决方案的所有资源。 您不再需要开始通过门户网站创建一个虚拟机,等待该过程完成,开始创建下一个虚拟机,等等。
  • 您可以使用模板重新部署相同的资源集。 假设您在测试环境中设置了资源,并且意识到它们不符合您的需求。 您可以删除此资源组(这将自动删除其中包含的所有资源),更改模板,然后重试。 要修改已部署资源的集合,只需更改模板并重新开始其部署:Resource Manager将更改资源以匹配新模板。
  • 使用模板,您可以快速创建基础结构的多个版本:例如,中间环境和工作环境。 可以对各个字段(例如,虚拟机名称,网络名称,存储帐户等)进行参数设置,然后使用不同的参数值多次下载模板。

资源管理器能够检测模板中的依赖关系,并允许您指定其他依赖关系。 例如,在为存储有操作系统和数据的磁盘的VHD文件创建存储帐户之前部署虚拟机是一个坏主意。

安全性

  • 若要控制对组资源的访问,可以使用一种称为基于角色的访问控制(RBAC)的新机制。 例如,您可以为用户分配“所有者”角色,然后他将具有与该组资源有关的完整管理员权限,但对其他订阅资源则无此权限。 还提供了其他角色,例如“读取器”(允许您读取除机密数据以外的所有内容)和“参与者”(允许您执行几乎任何操作,除了添加和删除访问权限之外)。

开票

  • 要组织组中的所有资源以方便计费,您可以为每个资源分配标签,然后接收带有特定标签的资源使用情况的付款数据。

    , , - , . , .

注意事项 , . .


Microsoft .

  • PowerShell (CLI) . , , , , .
  • . , , PowerShell DSC -. .
  • PowerShell Azure CLI (, ).
  • . . , ? . .


. , . :

  • , .
  • .
  • . : - , .
  • .
  • , , .
  • , .


, , . , .

, .

. . , . . 5 (« Azure») Vnet . , Azure.

, . , , , , , . .

. , .

JSON. «mystorage» « » (West US). ; newStorageAccountName ( ) location (). , .

{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "newStorageAccountName": { "type": "string", "defaultValue": "mystorage", "metadata": { "description": " DNS-   ,       ." } }, "location": { "type": "string", "defaultValue": "West US", "allowedValues": [ "West US", "East US" ], "metadata": { "description": "    ,      Premium." } } }, "resources": [ { "type": "Microsoft.Storage/storageAccounts", "name": "[parameters('newStorageAccountName')]", "apiVersion": "2015-06-15", "location": "[parameters('location')]", "properties": { "accountType": "Standard_LRS" } } ] } 

经典部署模型


让我们谈谈资源管理器之前发生的事情。 现在,此类资源称为经典资源。 例如,客户端可能具有使用经典部署模型管理的存储帐户,虚拟机和虚拟网络。 经典模型和使用Azure资源管理器的部署模型不兼容-资源管理器资源无法与经典资源进行交互,反之亦然。 例如,PaaS Azure云服务组件是经典组件,因此您只能通过经典存储帐户使用它。 此规则有一个例外:您可以在经典存储帐户中托管Resource Manager虚拟机。 此功能简化了使用Azure资源管理器将虚拟机从经典部署模型迁移到部署模型的过程。

请注意:在这种迁移过程中,您可能需要登录到经典的Azure门户,该门户显示经典资源,但缺少资源管理器资源,反之亦然。
注意事项 门户有两个版本。 当前是Azure门户,可从portal.azure.com获得 。 大多数功能已移至Azure门户,但也有一些例外,例如Azure Active Directory(Azure AD)。 门户的先前版本称为“经典Azure门户”(https://manage.windowsazure.com)。 现在,它可以用于管理Azure AD服务以及配置和扩展经典资源(例如云服务)。
您可以使用Azure资源管理器将资源从经典部署模型转移到部署模型。

  • 可以使用AzCopy将文件,表和Blob从经典存储帐户迁移到新的Resource Manager存储帐户。 请注意:表必须从经典帐户中导出,然后导入到资源管理器帐户中。
  • 可以按以下方式迁移虚拟机:禁用它们,将VHD文件复制到新的资源管理器存储帐户,然后使用VHD文件重新创建虚拟机。
  • 可以在资源管理器中将虚拟网络创建为Vnet对象。
  • 此外,还启动了迁移服务(现在处于公开评估版本的阶段)。 目前,不建议将其用于生产负荷。 请参阅文章以获取更多详细信息。

PowerShell部署模型注意事项


第8章(“管理工具”)讨论了几种Azure工具,包括Azure PowerShell cmdlet和Azure CLI。

使用资源管理器开发部署模型时,Azure专家试图创建仅适用于使用资源管理器的部署模型的PowerShell cmdlet。 在此类cmdlet的名称中指示名称AzureRm而不是单词Azure。 例如,要创建经典存储帐户,可以使用New-AzureStorageAccount cmdlet。 若要在资源管理器中创建存储帐户,您需要运行New-AzureRmStorageAccount cmdlet。

这样做是为了使用户可以立即了解他正在创建哪种资源。 另外,这提供了正确执行先前创建的脚本的能力。 每次部署资源管理器资源时,都必须指定要放置资源的资源组。 此外,某些资源管理器cmdlet(例如,用于创建虚拟机的cmdlet)支持比经典模型cmdlet更详细的参数。

最后要注意的一点是:更改只会影响与与管理平面相关的存储帐户关联的PowerShell cmdlet(例如,用于创建,删除和列出存储帐户的cmdlet)。 对于用于访问存储库内容(blob,表,队列和文件)的PowerShell cmdlet,没有任何变化。 只需将链接传递给所需的存储帐户,即可使用它们。



您可以免费下载本书的完整版本,并在下面的链接中进行研究。

下载

Source: https://habr.com/ru/post/zh-CN423183/


All Articles