如何借助红帽 Ansible 自动化平台实现迁移自动化

复制 URL

红帽® Ansible® 自动化平台使 IT 部门能将"迁移"这一最麻烦、最耗时的流程实现自动化。

迁移是将使用一种形式的硬件或软件转移到另一种形式,从而来升级 IT 基础架构的过程。其中可能涉及从物理基础架构到虚拟基础架构,从虚拟基础架构到基础架构,从云到容器,或其中任意组合的迁移。迁移也可能意味着从一个操作系统转移到另一个操作系统,或在软件程序之间转移。 

针对本文而言,我们将探索应用的迁移,以及如何使用红帽 Ansible 自动化平台来实现自动化迁移,从而减少迁移过程耗费的时间、成本和精力。 

观看 Ansible 101 网络培训课堂

通常情况下,手动迁移应用或服务的过程比较复杂、容易出错、难以始终如一地重复,通常需要列出清单才能完成,比如:

  • 在环境中部署服务器
  • 按照部署检查表和指南配置操作系统
  • 根据需要对配置进行现场修改,直到一切能够正常工作
  • 对每个环境、应用、部署等都重复此过程

重复就意味着要一遍又一遍地执行这些步骤,而且基本是靠手动执行,而因此更容易出现错误。不同的系统管理员往往使用不同的方法和工具,这会导致应用在迁移过程中的差异较大。   

从长远(这个过程本身就非常"长远")来看,这种迁移方法并不高效。由于每次部署都不相同,必须单独处理,而且是"构建一次,运行一次",意味着部署步骤不可重复。

每一次手动重复操作,虽然和之前已完成的操作非常相似,但并不完全相同,因而很可能出现混乱和错误。所以团队需要回过头找到问题并加以解决,还要找到问题存在的其他地方进行修复。 

由于这种迁移过程存在许多细微差别、手动参与度高,因此升级和利用"新兴技术"(如容器边缘计算)就变得非常困难,积重难返。  

事实上,经过走访许多运维团队,我们发现只有重大问题才会引起关注,而一些小问题却没有得到足够的重视。所有请求都是被动而非主动请求,导致团队积压的工作越来越多。

红帽资源

不过,通过实施自动化迁移,您可以大大简化迁移过程,更快完成工作,并解放员工的生产力,使他们专注于更重要的问题。

更令人欣慰的是,借助红帽 Ansible 自动化平台,只需按照三个推荐步骤:定义、部署和发现,即可自动化完成您的迁移任务。

这种方法的前提是先将最细枝末节的工作自动化,使团队逐渐适应流程(即看到哪些有效,哪些需要修复),建立起对于识别系统或流程细微差别的信心和知识,然后反复应用所获悉的知识,而无需每次都从头开始,也无需做不必要的更改。

  • 定义: 确定每个要单独自动化的组件,将其按步骤/流程排列,然后把它们一起拉到 Ansible playbook 中(下一节将详细介绍 playbook)。
  • 部署:利用您的组件定义/自动化流程进行部署和测试。
  • 发现:每次应用自动化时,都要对已部署的应用或软件进行测试,寻找还有哪些差距。然后,返回并重新定义存在差距的方面,重复这三个步骤。随着您学会辨别哪些有效或无效,学会解决出现的每个问题,这个周期就会越来越快。

您不必从一开始就做到百分百正确,这一定会让人松一口气。随着您逐步调整、修正和完善,整个流程就会越来越顺利、细致和周密。  

自动化不是一个一蹴而就的过程。您需要一点一点地提升自动化,让团队中的每个人都能从中受益,这要远远好过所有的必备知识都掌握在一两个自动化工程师手中。自动化需要成为企业内每个人都能贡献和利用的共同语言。 

这种方法应当是连续的,让您能边用边学,直到整个迁移完成并实现自动化。这样,下次要进行迁移时,您需要做的工作就会少得多。您可以充分利用新技术的优势,在更短的时间内迁移到新环境中。渐进式更新和改进由所有系统管理员共同承担,而非个人承担。  

一旦您定义了迁移过程中的每个组件和步骤,您便可以将其串联至一个可重复的 playbook 中,并开始在新环境中应用了。 

Ansible Playbook 可以记录和执行配置、部署和编排等功能。此外还提供了一个可重复、可复用且非常简单的配置管理和多机部署系统,便于您有效记录迁移过程,必要时还可重复迁移。 

这样一来,利用红帽 Ansible 自动化平台,就可以实现快速迭代和快速重复,从而使可能存在的差距和问题更快暴露出来并得以解决。 

了解有关 Ansible playbook 的更多信息

如果您用同样的流程定义了一切(基础架构、应用、防火墙配置等),就可以更容易地抽取出需要的部分,并用新的部分替代(例如,抽取出部署 Amazon 虚拟机的基础架构部分,用 Rackspace 虚拟机替代)。 

无论您使用何种开发模式,都可以快速轻松进行部署,从而让迁移变得更容易。最终,您将能够更顺畅地将系统的各个部分迁移到所需的位置。 

您需要记住以下几点:

  • 确保自动化不漏掉每一个组件和流程
  • 尽量避免手动操作系统,要尽可能地实现自动化。
  • 不要随意放弃或沮丧。自动化应从小事情开始,比如先自动化一两件您最经常做的工作,逐步开始节省时间。 
  • 迁移是一项高重复性的工作。重复次数越多,就越容易将一个流程转移至其他地方。
  • 您应当考虑所有依赖项。 可能会有多个依赖项导致您的系统只能停留在本地,比如一个 Web 应用依赖着一个难以移动却需要移动的数据库。

红帽 Ansible 自动化平台包括实施企业级自动化所需的各种工具,并为您提供了自动化之旅中所需的培训、认证和支持。我们提供多种培训课程和认证,以及红帽学习订阅(可免费试用 7 天)。观看此视频,熟悉红帽 Ansible 自动化的工作原理;或访问产品页面,了解更多信息。

免费参加 Ansible 入门基础课程

中心

红帽官方博客

获取有关我们的客户、合作伙伴和社区生态系统的最新信息。

所有红帽产品试用

我们的免费试用可让您亲身体验红帽的产品功能,为获得认证做好准备,或评估某个产品是否适合您的企业。

扩展阅读

一文了解什么是 Ansible 模块?

Ansible® 模块是一个用于在本地计算机、API 或远程主机上执行操作的小型程序。模块通常以 Python 代码的形式表示,并且会包含一些元数据,这些元数据定义了在何时、何处执行特定自动化任务。

哪种红帽 Ansible 自动化平台部署选项适合您?

如何安装、管理和维护 Ansible® 自动化平台部署取决于企业组织所需的灵活性或定制化程度。

Ansible Role 使用指南:一文了解 Ansible 角色是什么?

Ansible 角色是 Ansible 自动化的一个独立、可移植的单元,借助 Ansible 角色,您可以捆绑自动化内容,而且这些捆绑包可以在一个或多个 play 中运行,在不同 playbook 中重复使用。

红帽 Ansible 自动化平台 相关资源

特色产品