为F5应用服务选择Ansible还是Terraform

F5生态系统 | 2019年9月30日

选择其中一种或同时选择两种方式,部署和运营F5 Application Services。

开源运动始终以自由为核心,即根据技能、预算、架构和目标,自由选择适合的解决方案。如今,在为部署流水线构建可重复使用的基础设施时,这一原则仍是重要的考量因素。

有许多出色的工具可用于自动执行应用服务的配置和运维,其中较为常用的两种是RedHat Ansible和HashiCorp Terraform。

这里需要说明的是,F5全面支持Ansible和Terraform。我们与双方合作,确保互操作性和集成,让您无需为此费心。无论选择哪一种,F5都会为您提供支持。

但在与客户合作的过程中,我们注意到,Ansible更擅长处理某些任务,而Terraform则在另一些任务中表现更出色。这是因为管道自动化和管道维护涉及不同类型的任务。

Terraform擅长编排,即管理环境的状态。这意味着Terraform了解环境应呈现的状态及其应有的运行方式。如果发现异常,Terraform可以将其标记出来以供审核。

Ansible擅长配置管理。这意味着它侧重于维护各个组件的状态。如果环境中的某个组件出现问题,Ansible可以调整配置来解决问题。

由于每种工具的侧重点不同,因此它们常被结合使用,以实现部署生命周期的自动化。

要了解这两种工具如何与F5 Application Services协同工作,不妨先从部署生命周期入手,建立共同的理解基础:

部署生命周期

应用有自己的生命周期及相应的交付流水线,应用服务同样有自己的生命周期及相应的部署流水线。该生命周期包含多个步骤:

  1. 预配
    a. 预配是实际启动实例的过程,无论该实例是虚拟机还是容器,也无论位于公有云还是私有云中。
  2. 接入
    a. 必须完成接入,以配置在BIG-IP部署环境中运行所需的网络。
  3. 部署
    a. 在生命周期的部署阶段,需要定义、配置并启动应用服务。
  4. 运维
    a. 持续运维需要监控和分析。F5 Telemetry Streaming支持BIG-IP接入遥测管道,以共享所需的指标和数据。
  5. 变更
    a. 变更是修改现有配置的过程(这些配置最初在部署阶段指定)。

Ansible和Terraform都可以作为全部5个阶段的主要自动化工具。不过,两者各有所长,因此结合使用可能是更好的策略。Ansible更常用于部署和变更(配置管理)阶段,而Terraform更常用于预配和接入(编排)阶段。

Ansible与Terraform协同使用

我们也了解到,许多客户希望实现工具链标准化,这样做确有充分理由。熟练掌握多种工具并非易事,更不用说还要运维支持多套工具链所需的基础设施。在这种情况下,可以通过一些方法来确定采用其中哪款出色的工具作为标准。

  1. 不频繁更改基础设施
    在这种情况下,您会更改应用服务,但不一定会更改基础设施(即BIG-IP)。利用现有BIG-IP部署新应用时,通常就是这种情况。Ansible擅长配置管理,而这正是您主要要做的工作,因此是一个不错的选择。Ansible支持多种语言和API样式,非常适合DevOps和NetOps团队更改应用服务。您可以通过F5 Ansible模块或F5 AS3,使用Ansible配置F5 Application Services,也可以根据具体需求同时使用这两种方式。如需深入了解如何选择Ansible实施方式,请参阅Mani Gadde和Andrius Benokraitis撰写的这篇精彩博客。
  2. 频繁变更基础设施
    云(尤其是公有云)通常用于支持应用及其底层基础设施的频繁变更。不可变基础设施通常有助于应对这种情况下的变化,例如拆除并重新部署整个基础设施。Terraform非常适合此场景,能够快速完成整个基础设施的预置和上线。其设计以编排为重点,非常适合大规模创建一致且可重复部署的基础设施,尤其适用于云等变化频繁的环境。
  3. 基础设施和应用服务频繁变更
    Terraform + Ansible可以有效结合,用于管理基础设施和应用服务的频繁变更。由于环境状态和各个组件预计会频繁变化,因此需要同时使用变更管理和编排工具,以帮助维持应用及其配套应用服务的可用性

无论选择Ansible、Terraform还是两者兼用,F5都致力于通过原生集成和预打包模板为您的选择提供支持,同时依托活跃的社区持续贡献并完善这些集成和模板。

分享
标签: 2019

关于作者

Lori Mac Vittie
Lori Mac Vittie杰出工程师兼首席技术布道师 | F5

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。

Lori Mac Vittie 的更多博客文章

相关博客文章

F5纪念2021年世界艾滋病日
F5生态系统 | 2021/12/01

F5纪念2021年世界艾滋病日

值此世界艾滋病日,F5郑重承诺,将与员工、客户、社区和合作伙伴共同努力,消除社会对HIV感染者仍然存在的污名与偏见。

Thingbot正转变为攻击平台
F5生态系统 | 2018/11/29

Thingbot正转变为攻击平台

Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。

借助F5全新Quick Start,在AWS上快速开展业务
F5生态系统 | 2018/11/20

借助F5全新Quick Start,在AWS上快速开展业务

在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。

为什么声明式模型对NetOps自动化至关重要?
F5生态系统 | 2018/04/30

为什么声明式模型对NetOps自动化至关重要?

为什么声明式模型对NetOps自动化至关重要?阅读F5博客,了解基础设施即代码如何简化网络扩展。

开源聚焦:F5基础设施即代码与多云可管理性
F5生态系统 | 2017/11/16

开源聚焦:F5基础设施即代码与多云可管理性

开源聚焦:基础设施即代码与多云。阅读博客,了解模板和Terraform如何简化F5应用服务的部署。

破解IT“无解困局”的答案:私有云
F5生态系统 | 2016/09/12

破解IT“无解困局”的答案:私有云

破解IT“无解困局”的答案:私有云。阅读F5博客,了解本地部署的敏捷性如何化解安全与速度难以兼顾的问题。