当前位置: 首页 > 科技观察

使用Pulumi3.0管理你的Azure基础设施

时间:2023-03-15 15:49:32 科技观察

【.com快言】你在你选择的编辑器中编写代码,使用标准语言工具来处理代码格式化和代码检查,它运行在Pulumi引擎上,它可以提供虚拟基础设施并配置为代码做好准备的服务端点。由于Pulumi文件只是标准的C#或Python或JavaScript,甚至是Go,因此它们可以与您的应用程序代码一起管理,并作为任何IDE项目的一部分添加。在代码编辑器中构建基础设施是一种强大的方法;您不需要学习任何新语言就能够以声明性领域特定语言所不具备的方式利用控制流。因此,一段Pulumi代码可以定义您企业中任何项目使用的所有资源。您调用关键代码,使用流量控制元素来部署服务器大军,并构建软件定义的网络。您用于代码的相同单元测试工具可用于基础设施,运行代码以查看您将在实时环境中部署的内容。通过在上线前测试基础设施定义和代码,可以避免错误配置和错误。在大型Azure服务器上部署小型应用程序可能是一个代价高昂的错误,如果没有运营团队的支持,很容易被忽视。Pulumi为架构师和运营团队提供了将架构和策略标准应用于基础设施的工具。您可以对配置的服务器或使用的服务级别设置限制,并为开发、测试和生产定义不同的特征。使用这样的体系结构标准无异于在您的Azure部署周围设置护栏,就像VisualStudio强制执行编程标准一样。对Azure的原生支持Pulumi的初始版本是一个跨云工具。用Pulumi编写的代码可以在任何云提供商的平台上提供基础设施。但是这样一来,您就只能使用适用于所有云的服务。不能使用它来构建依赖于Azure服务和API的特定于Azure的应用程序。在过去的几个版本中,Pulumi已经开始引入对所谓的本地提供程序的支持,Azure是第一个将其作为最近发布的Pulumi3.0的一部分全面提供的。Microsoft一直在大力投资文档和向其API添加元数据,而Azure为RESTAPI提供数据。这允许Pulumi每晚生成新版本的Azure本机提供程序,以跟上新功能和更新。这并不意味着您使用的API和调用需要以相同的速度变化。Pulumi的工具支持所有版本的AzureAPI,因此除非Azure弃用您当前使用的版本,否则您的代码和基础架构无需更改。如果你想在你的应用程序中使用一个新服务,它会在Azure发布API后立即可用。为相同的API自动生成文档,并为每种支持的语言生成新版本。这是一个有用的工具,Pulumi显然对其功能感到自豪。正如该公司所指出的,它开发了279种不同版本的本地提供程序,添加了166个新的Azure基础设施API。基础设施预算即代码这些API包括治理API和计费API,因此您可以向基础设施添加控件以管理支出和安全性。基础架构代码可能包括支出预算,以帮助您跟踪成本并将资源绑定到特定帐户。预算可以每月、每季度和每年进行衡量。预算也可以基于使用情况,当超过配额或阈值时,通知会自动发送到电子邮件地址。在Azure上管理成本可能很复杂,这种方法应该可以帮助你为你的基础设施和服务使用制定适当的保护措施。该工具不会涵盖所有内容,但您应该能够了解服务成本以及如何更有效地使用它们,或许可以通过在较低规格的服务器上重新配置来实现。Pulumi3.0中更有趣的功能之一是自动化API。这允许您将Pulumi功能嵌入到您自己的应用程序中,作为管理云基础设施的工具。这种引人入胜的方法非常灵活,可以以多种不同方式使用。一个明显的选择是将其构建到内部门户中以进行自助服务基础设施部署。无需让所有工程师访问Azure门户,内部服务可以使用经批准的服务器映像和其他基础架构元素进行填充。需要临时测试或开发环境的工程师可以挑选他们需要的工具并自动部署它们,而无需运营支持。测试完成后,服务可以释放资源,从而最大限度地减少费用。此外,可以在您选择的存储库中维护一组针对特定应用程序基础架构的Pulumi脚本。在AzureDevops中构建的应用程序不仅可以编译、构建和打包代码,还可以使用管道操作来触发PulumiAutomationAPI并部署Azure基础设施以供代码使用。借助用于基础设施管理的API,您可以开始编写自己的管理代码,该代码使用来自Azure管理API的数据以及认知服务预测API等工具来主动部署其他应用程序基础设施元素,以响应当前的负载变化或故障症状运行实例。通过仅在需要时部署基础设施,您可以最大限度地降低成本,同时确保应用程序保持响应和稳定。构建自我管理代码的想法很诱人,尤其是在对运营资源的访问权限有限的组织中。自我管理的应用程序在部署前需要仔细测试,您需要良好的DevOps文化才能成功使用这项技术,应用程序操作员能够监控整套应用程序和工具。这是一个越来越有用的工具的主要版本。在Azure的ARMAPI上动态构建可确保您的基础架构始终提供最新的服务。这些API发布后,您的应用程序可以在它们之上构建,同时仍然使用所选语言,从而利用不干涉的自动化基础架构。Pulumi也在努力将新语言添加到其工具箱中,目前正在开发Ruby和Java。原标题:使用Pulumi3.0管理Azure基础设施,作者:SimonBisson