云管理员可以使用各种各样的工具和方法来实现Azure部署的自动化。决定runbooks、DSC或其他替代工具是否最适合用户的实际需求。
自动化脚本程序和runbooks是系统管理员工具箱里的看家宝。迁移至云基础设施——管理员可以在几秒钟内进行实例化、移动和扩展虚拟资源——只强调了一致性可重复管理过程的重要性。
对于Windows操作系统的管理员来说,PowerShell一直以来都是首选的脚本程序工具。而在今天,PowerShell则更是成为了微软Azure自动化服务的坚强骨干。
虽然Azure自动化最初也是围绕PowerShell工作流程(这是一系列可执行任务和命令的步骤,即所谓的runbooks)进行设计开发的,但是它现在还支持声明模式。这些模式描述了被称为期望状态配置(DSC)的一个系统或服务配置,这种方法首先是由PowerShell引入的。
这两种自动化技术为用户提供了实现相同目标的不同方法。Runbooks就如同是为从A点到B点提供了精确的转向导航方向一般,而DSC则是为GPS地图软件设置了一个目的地,并让它计算到达目的地的最佳路径。
这里是在选择两种方法时所需予以考虑的一些事项。
Azure Runbooks
微软Azure自动化服务中的工作方式是与其在Windows Server中一样的;管理员可以使用PowerShell通过API来控制任何服务。此外,包括PowerShell模块实施cmdlet在内的任何应用都可以通过Azure自动化工作流程进行控制。虽然自动化runbooks是专为管理Azure服务而设计开发的,但是他们还可以使用被称为混合Runbook Workers的功能来控制私有数据中心内的资源。
管理员可以从头开始创建工作流程或在Runbook Gallery中的可用工作流程基础上进行微调。他们还可以在文本编辑器中使用PowerShell 代码或者在Azure门户上是用图形UI来开发定制的runbooks。Azure门户还配有一个显示各个作业的作业活动与错误条件、资源使用情况以及日志详细信息的信息显示板。
建议与比较
自动化是提高管理效率和保持Azure一致性、可靠性和安全性的关键所在。以下是一些通过自动化技术实现更高效Azure管理的相关建议:
对于在单个公共云上实施标准化的企业来说,Azure自动化应当是系统管理脚本程序的默认选项,因为它与Azure服务组合是紧密集成的,并支持大部分Windows管理员已经在使用的脚本程序环境。
已经熟悉PowerShell的Windows企业用户应当使用它来构建自动化runbooks。但是,他们还应当使用DSC对一些活动进行体验,例如保持虚拟机配置和补丁程序级别同步等。这种方法的风险是与特定供应商绑定的。虽然亚马逊网络服务和谷歌云计算平台都支持PowerShell,但是脚本程序本身不一定是可重用的。通过采用参数化方法(而不是硬编码)、Azure特定API调用或将模块中封装Azure特定代码,可尝试确保代码的可移植性,而不是依靠脚本程序本身。
Linux企业用户可从学习使用PowerShell实现自动化中受益良多,但是他们可以从CLI入手,CLI可在任何shell环境中正常工作。
多云计算企业用户应当充分调研可以跨公共云和私有云环境的第三方配置管理软件。此外,因为自动化工具可以在持续集成和部署中发挥作用,企业用户在作出决策之前可咨询相关开发人员和DevOps团队。
Azure DSC
DSC描述了Azure节点所需的配置。当企业用户在运行集群(其中多个节点共享相同配置)时,例如负载平衡web前端或VDI服务器,这种方法是特别有用的。DSC 需要一个Pull服务器,它可以存储节点配置并将其发送至每台托管节点上的本地配置管理器(LCM)引擎。LCM可对配置信息进行解析,使用Windows Management Instrumentation将其与现有状态进行比较并执行任何所需的变更。
与runbooks一样,DSC是一个使用配置块的PowerShell脚本程序,管理员可以使用它来开发自定义的DSC资源。微软公司还提供了十二个内置的DSC资源,其中包括了归档文件、写入时间日志或管理注册表项的功能。
无论是使用runbooks还是使用DSC,微软Azure自动化可用于各种各样的云计算管理任务,例如跨Azure订阅区或区域创建和克隆虚拟机,或者在一个订阅区内跨所有机器进行安全策略的配置和修改。
Azure自动化服务的替代品
通过上述所列出的相同runbook功能,管理员还可以在任何PC上使用PowerShell或命令行界面(CLI)来对Azure进行脚本程序开发和运行。由于PowerShell现在是开源的,所以用户使用它是不需要Windows的;但是对于OS X、Ubuntu以及CentOS等操作系统来说,是需要安装相关安装包的。
微软还为可用于Windows、Mac OS X和Linux等操作系统的Azure提供了CLI和开源shell命令。CLI可以与Azure资源管理器或传统的Azure管理门户一起使用。
管理员还可以使用诸如Chef、Puppet、Ansible以及Salt这样的第三方DevOps软件来自动化实现Azure资源与管理系统的安装、配置、更新、安全补丁升级等工作。Chef 已将其软件与Azure集成以简化Azure Marketplace中预配置Chef服务器的部署。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
云基础设施服务选购指南
对于马来西亚初创公司Supahands来说,云基础设施服务可让他们腾出更多时间专注于核心活动和创新项目,而不用 […]
-
技巧:升级IT管理职业路径
不要养成在微软每隔几年发布一次更新时才进行更新的习惯。管理员需要熟练掌握PowerShell和云产品以保持自身的竞争力。
-
Azure Functions的PowerShell基本信息
由于对脚本语言的熟悉,一些Windows厂商将PowerShell与Azure Functions一起使用。这里有一些技巧和注意事项,在开始实施之需要要注意。
-
2018年现代基础设施最具影响力大奖
本文逐一介绍了TechTarget组织的“2018年现代基础设施影响力大奖”的最终入选者,获奖者将在一月份公布 […]