企业需要深入了解将工作负载迁移到公共云的正确步骤,并因此降低成本。
云迁移不会自行发生,在迁移项目成功之前并不能完成工作和任务。企业将业务迁移到云平台的最大好处之一是可以降低工作和运营成本,其中一个最重要的因素是云计算基础设施的自动化和配置。通过基于云计算基础设施的配置、设置和管理实现自动化,组织可以腾出时间和资源来进行关键任务创新,而不是日常维护。
幸运的是,有许多云计算基础设施自动化工具可用于帮助加快流程。此外,许多相关工具也可能有所帮助。虽然没有一种工具适合所有情况,但这个指南可以为考虑所提供的各种优势提供帮助,并选择最能满足企业的云计算基础设施需求的优势,无论企业的迁移是针对公共云、私有云还是混合云架构。
(1)AWS CloudFormation
为了帮助确保其在所有云计算领域的领导地位,亚马逊公司的AWS CloudFormation允许用户使用YAML或JSON对资源进行建模,对它们实现自动化,然后将它们部署在基于AWS的基于云计算的基础设施中。
如果企业使用或计划使用基于AWS的云计算产品,CloudFormation可以帮助用户确保所有团队的配置尽可能简单。
CloudFormation允许用户立即运行大量其他AWS工具,包括Amazon CloudWatch和AWS Elastic Beanstalk。CloudFormation还可以处理跨区域账户的自动化管理,从而可以在业务扩展时更轻松地扩展到新的区域设置。CloudFormation Change Sets是在基础设施发生之前预览即将发生的更改的好方法。
如果用户计划使用AWS云,可以采用CloudFormation尽可能多地完成任务。
(2)Puppet
作为配置自动化市场的长期领导者,Puppet帮助当今一些最大的软件团队建模、配置和系统地实施其基础设施的所需配置。借助该公司的商业产品Puppet Enterprise,用户可以以惊人的规模管理基于云计算基础设施的各个方面,从计算到存储再到网络资源(对于基本部署,可以考虑超过20,000个节点)。它适用于公共云、私有云和混合云。用户使用Puppet的特定于域的语言(DSL)编写模块,这些语言为用户在每个节点上安装的代理程序强制执行的配置提供代码。
使用Puppet Enterprise,用户可以获得开箱即用的编排和基于任务的命令执行和多设备管理。其GUI控制台可以轻松地对用户部署的所有云计算进行分类和管理。虽然Puppet DSL以花费一段时间来学习而闻名,但收益可能很大。
Puppet公司与微软、VMware,、谷歌和亚马逊等主要厂商保持着整合和合作关系。例如,针对Puppet Enterprise的AWS Opswork提供了一套完全集成的自动化工具套件,用于管理基于云计算的基础设施。
如果用户需要标记强制配置和漂移补救,Puppet是其良好的自动化工具。
(3)Ansible
最近受到RedHat的保护,Ansible正迅速成为基于其易于使用,基于任务的基础设施自动化的行业标准。Ansible公司声称,用户不需要具有计算机科学的深厚背景就可以采用简单的语言自动化、配置或编排任务,用户可以将其打包在“剧本”中。此外,用户可以轻松管理云计算基础架构的所有方面,而无需在云计算基础设施中的任何位置安装单个代理。
Ansible Tower的主要功能(Ansible的商业产品)包括作业调度、基于GUI的库存管理、多个游戏工作流程,以及灵活的REST API,可让用户在几乎任何基于任务的配置管理过程中嵌入Ansible Tower。
主要集成包括AWS、Microsoft Azure、VMware、Rackspace、Digital Ocean和谷歌云。
使用Ansible的任务执行自动化配置可能会让用户的工作感觉有点过于简单。
(4)Chef
Chef公司是基础设施配置领域中的另一家资深厂商。与Puppet一样,Chef公司提供自己的DSL来帮助用户实施从配置策略到持续交付生产代码的所有内容。对于Chef Automate用户(Chef的商业平台),可以每小时自动管理基于AWS的自托管基础设施,或使用AWS Opswork实施Chef Automate。
借助Chef Automate,用户可以获得详细的合规性管理、高可用性和基于GUI的工作流程管道创建等关键功能。主要集成包括AWS、Microsoft Azure、VMware、谷歌云。
如果用户需要合规管理,Chef是一个不错的选择。
(5)Kubernetes
Kubernetes最初由谷歌公司开发,是一个容器编排平台,用于自动化容器化应用程序的部署、扩展和管理。事实上,它已成为容器编排的事实标准,并且是云原生计算基金会的旗舰项目,由谷歌、AWS、微软、IBM,英特尔、思科和RedHat等主要厂商提供支持。
虽然它不是一个真正的基础设施配置管理工具,但Kubernetes可以轻松部署和运行基于微服务架构的应用程序,几乎适用于任何云。它通过在一组主机之上创建一个抽象层来实现这一点,开发团队可以部署他们的应用程序,让Kubernetes管理诸如控制应用程序或团队的资源消耗,在主机基础设施中均匀分布应用程序负载以及自动加载平衡请求之类的事情。
考虑采用容器和微服务架构?许多人怀疑Kubernetes有朝一日会使传统的配置管理工具完全过时。
(6)Terraform
基础设施管理的另一个方面是“基础设施即代码”的概念。AWS、微软、谷歌公司这三个行业巨头都声称这是一个中心哲学,Terraform也不例外。简而言之,Terraform是一个开源工具,用户可以使用它来编写声明性配置文件来创建和修改基础设施,但它并不完全是配置自动化工具。