桌面应用程序 azure
Azure增长的越多,通过其门户进行管理就越难。 毕竟,图形用户界面很少会扩展到几台机器之外。 通过全球Azure部署,您将运行数百个(如果不是数千个)虚拟机,容器和Azure服务终结点。 对于易犯错误的人员而言,这不是一项工作,因为其中一种配置错误可能会导致大量服务中断。
这就是Azure的资源管理器(ARM)出现的地方。这是与Azure合作的重要组成部分。 组成应用程序的基础架构元素还组成了一个已存储的模板,可供使用和重用。 尽管可以将它们存储在Azure帐户中,但是可以将模板存储在Azure外部,例如GitHub存储库中。 因为它们是JSON文档 ,所以您可以使用任何可以使用JSON的工具(例如Visual Studio Code或完整的Visual Studio IDE)来编辑和管理它们。
Azure资源管理器模板和Azure CLI
模板易于使用Azure门户进行管理和部署,但是当您开始在Azure CLI中混合使用时,事情就会变得更加有趣。 通过在PC上本地运行的CLI,在进行大规模工作后,通过命令行管理Azure非常有意义。
现在,只需单击几行脚本即可完成部署,而不是单击GUI。 您首先设置一个Azure资源组,然后部署模板。 设置完成后,您将在CLI中收到通知,并且您的应用程序已准备好运行。 注意:如果您更喜欢使用Azure Portal的内置Cloud Shell,请确保您的模板位于与运行Shell的帐户关联的存储帐户中。
尽管您可以使用同一命令在多达五个区域中进行部署,但是如果您要同时为应用程序实现区域和全局可靠性,则可能需要在更多区域中进行自动化部署。 要处理此问题(并支持部署到单独的开发,测试和QA环境中),请使用单独的JSON文件处理模板的部署参数 。
为部署构建了Azure CLI命令和Azure资源管理器模板后, 可以将它们包装在脚本中以简化操作 。 Azure CLI在Unix的Bash内或Windows的PowerShell中运行 。 这使您可以灵活地在标准环境中构建和触发部署脚本,以及作为构建的一部分或从监视工具自动化部署,并根据需要添加新资源。
使用Pulumi编码您的基础架构
Pulumi提供了另一种非常有趣的脚本来编写部署脚本。 Pulumi由一组以前的Microsoft,Amazon和Chef工程师创立,正在构建一种跨云工具,该工具使用代码来构建和部署基础架构。 无需为要使用的每种环境学习特定于域的语言:尽管Pulumi可以使用Azure资源管理器或类似的模板语言来推送基础结构,但是您可以使用Python或JavaScript对其进行编码。
通过在代码之上构建,您可以快速查看可重复的内容以及可重用的程序包中可以构建的内容。 您可以拥有一个可在运行时进行自定义的可修改基础架构模块库,而不必在每次部署稍有不同的版本时都定义一个新的服务器VM,可以在使用时使用变量和其他熟悉的结构来更改存储,内存和CPU。想。 同样,您可以使用代码与平台服务和较新的无服务器系统一起使用。
像Pulumi这样的工具也可以在更高层次上使用。 例如,配置和部署Kubernetes 。 在这里,该平台可以处理创建Kubernetes使用的YAML,尽管您不需要了解Kubernetes控制文件的特定结构。 您所需要做的就是编写代码,以定义要部署的容器以及要部署的实例数。 您的部署成为一个函数,并且您的容器是常量。 一切都由Pulumi管理的一组库处理,尽管您可以为Azure环境中的任何特定功能应用自己的自定义。
部署无服务器的多云应用
Pulumi还使用定义API的代码和用于构建无服务器代码的构建块来加快无服务器应用程序的创建和部署 。 块跨三个主要的公共云平台进行映射,因此您可以通过使用高级跨云库集或专注于Azure特定的实现来组成无服务器应用程序。 使用高级工具无法获得与针对特定服务的库相同的控制级别,但这是值得考虑的折衷方案。
使用Pulumi构建功能非常有意义,因为可以一起构建应用程序代码和部署代码。 您可以使用与使用该数据库存储IoT设备的结果相同的代码创建数据库,因为该数据库本身就是一个对象。 运行无服务器应用程序的代码是另一个JavaScript函数。
从使用代码构建复杂的Kubernetes基础结构(并跟踪您的分布式微服务架构)到使用一系列用作所有关键服务器映像库的命令,以及使用代码来构建,这种方法有很多优点基础网络。 针对部署引擎进行编码的另一个优势是:如果您已经部署了应用程序,并且对部署代码进行了更改,则Pulumi将仅推送更改,而不是再次部署整个应用程序。
实现发展梦想
回到公共云和虚拟化基础架构之前,您不得不等待数月才能访问物理硬件以测试和部署我们的代码。 通过编写基础结构代码,您现在可以将应用程序和基础结构部署为幂等实体 ,而无需更改,直到通过部署整个新服务来推送更新为止。 使用此类工具以及低成本的开发人员Azure订阅,您可以使用相同的方法快速创建和测试全面环境,并在完成后立即将其拆除。
长期以来,将代码作为基础结构一直是开发人员的梦想之一,它为连续部署系统及其构建管道添加了配置和部署规则。 为应用程序的基础结构创建构建脚本后,可以将其存储在源代码控制系统中并进行管理,也可以将其视为构建的终结点,部署到本地模拟器,测试Azure订阅以及全球生产。
翻译自: https://www.infoworld.com/article/3302362/understanding-programmatic-azure-infrastructures.html
桌面应用程序 azure