概述
红帽® Ansible® 自动化平台使 IT 部门能将"迁移"这一最麻烦、最耗时的流程实现自动化。
迁移是将使用一种形式的硬件或软件转移到另一种形式,从而来升级 IT 基础架构的过程。其中可能涉及从物理基础架构到虚拟基础架构,从虚拟基础架构到云基础架构,从云到容器,或其中任意组合的迁移。迁移也可能意味着从一个操作系统转移到另一个操作系统,或在软件程序之间转移。
针对本文而言,我们将探索应用的迁移,以及如何使用红帽 Ansible 自动化平台来实现自动化迁移,从而减少迁移过程耗费的时间、成本和精力。
迁移:手动方法
通常情况下,手动迁移应用或服务的过程比较复杂、容易出错、难以始终如一地重复,通常需要列出清单才能完成,比如:
- 在环境中部署服务器
- 按照部署检查表和指南配置操作系统
- 根据需要对配置进行现场修改,直到一切能够正常工作
- 对每个环境、应用、部署等都重复此过程
重复就意味着要一遍又一遍地执行这些步骤,而且基本是靠手动执行,而因此更容易出现错误。不同的系统管理员往往使用不同的方法和工具,这会导致应用在迁移过程中的差异较大。
从长远(这个过程本身就非常"长远")来看,这种迁移方法并不高效。由于每次部署都不相同,必须单独处理,而且是"构建一次,运行一次",意味着部署步骤不可重复。
每一次手动重复操作,虽然和之前已完成的操作非常相似,但并不完全相同,因而很可能出现混乱和错误。所以团队需要回过头找到问题并加以解决,还要找到问题存在的其他地方进行修复。
由于这种迁移过程存在许多细微差别、手动参与度高,因此升级和利用"新兴技术"(如容器或边缘计算)就变得非常困难,积重难返。
事实上,经过走访许多运维团队,我们发现只有重大问题才会引起关注,而一些小问题却没有得到足够的重视。所有请求都是被动而非主动请求,导致团队积压的工作越来越多。
红帽资源
定义、部署、发现
不过,通过实施自动化迁移,您可以大大简化迁移过程,更快完成工作,并解放员工的生产力,使他们专注于更重要的问题。
更令人欣慰的是,借助红帽 Ansible 自动化平台,只需按照三个推荐步骤:定义、部署和发现,即可自动化完成您的迁移任务。
这种方法的前提是先将最细枝末节的工作自动化,使团队逐渐适应流程(即看到哪些有效,哪些需要修复),建立起对于识别系统或流程细微差别的信心和知识,然后反复应用所获悉的知识,而无需每次都从头开始,也无需做不必要的更改。
- 定义: 确定每个要单独自动化的组件,将其按步骤/流程排列,然后把它们一起拉到 Ansible playbook 中(下一节将详细介绍 playbook)。
- 部署:利用您的组件定义/自动化流程进行部署和测试。
- 发现:每次应用自动化时,都要对已部署的应用或软件进行测试,寻找还有哪些差距。然后,返回并重新定义存在差距的方面,重复这三个步骤。随着您学会辨别哪些有效或无效,学会解决出现的每个问题,这个周期就会越来越快。
您不必从一开始就做到百分百正确,这一定会让人松一口气。随着您逐步调整、修正和完善,整个流程就会越来越顺利、细致和周密。
自动化不是一个一蹴而就的过程。您需要一点一点地提升自动化,让团队中的每个人都能从中受益,这要远远好过所有的必备知识都掌握在一两个自动化工程师手中。自动化需要成为企业内每个人都能贡献和利用的共同语言。
这种方法应当是连续的,让您能边用边学,直到整个迁移完成并实现自动化。这样,下次要进行迁移时,您需要做的工作就会少得多。您可以充分利用新技术的优势,在更短的时间内迁移到新环境中。渐进式更新和改进由所有系统管理员共同承担,而非个人承担。
Ansible Playbook
一旦您定义了迁移过程中的每个组件和步骤,您便可以将其串联至一个可重复的 playbook 中,并开始在新环境中应用了。
Ansible Playbook 可以记录和执行配置、部署和编排等功能。此外还提供了一个可重复、可复用且非常简单的配置管理和多机部署系统,便于您有效记录迁移过程,必要时还可重复迁移。
这样一来,利用红帽 Ansible 自动化平台,就可以实现快速迭代和快速重复,从而使可能存在的差距和问题更快暴露出来并得以解决。
重复流程
如果您用同样的流程定义了一切(基础架构、应用、防火墙配置等),就可以更容易地抽取出需要的部分,并用新的部分替代(例如,抽取出部署 Amazon 虚拟机的基础架构部分,用 Rackspace 虚拟机替代)。
无论您使用何种开发模式,都可以快速轻松进行部署,从而让迁移变得更容易。最终,您将能够更顺畅地将系统的各个部分迁移到所需的位置。
牢记在心
您需要记住以下几点:
- 确保自动化不漏掉每一个组件和流程。
- 尽量避免手动操作系统,要尽可能地实现自动化。
- 不要随意放弃或沮丧。自动化应从小事情开始,比如先自动化一两件您最经常做的工作,逐步开始节省时间。
- 迁移是一项高重复性的工作。重复次数越多,就越容易将一个流程转移至其他地方。
- 您应当考虑所有依赖项。 可能会有多个依赖项导致您的系统只能停留在本地,比如一个 Web 应用依赖着一个难以移动却需要移动的数据库。
参加培训
红帽 Ansible 自动化平台包括实施企业级自动化所需的各种工具,并为您提供了自动化之旅中所需的培训、认证和支持。我们提供多种培训课程和认证,以及红帽学习订阅(可免费试用 7 天)。观看此视频,熟悉红帽 Ansible 自动化的工作原理;或访问产品页面,了解更多信息。
红帽官方博客
获取有关我们的客户、合作伙伴和社区生态系统的最新信息。