当前位置:   article > 正文

Terraform指南:典型用例_是否了解terraform?典型应用

是否了解terraform?典型应用

在理解使用场景之前,最好先初步了解 Terraform 是什么。由于 Terraform 具有很好的扩展性,服务提供商以及用户可以对 Terraform 进行进一步的扩展来增强资源操作的能力,因此 Terraform 在众多领域得到广泛的应用,在本文章中列举八个具体的典型使用场景。

  • Heroku 应用配置

Heroku 是一款流行的 Web 应用支撑 PaaS,开发人员用它来进行应用创建,然后关联其他辅助服务,如数据库、邮件服务等,其中最好的特性之一是具有对 dynos 或 worker 的数量进行弹性伸缩的能力。然而,实际上大部分的稍复杂的应用需要更多的辅助服务或者外部服务具备快速的弹性伸缩能力。

Terraform 可以用于编辑 Heroku 应用所需要的配置,并且确保所有所需的辅助服务可用,进而还可以配置 DNSimple 来设置CNAME,或者将 Cloudflare 配置成为应用的CDN等,最重要的是所有这一些 Terraform 无需使用Web 接口即可在30秒内完成。

  • 多层架构应用

N层软件部署架构是应用非常普遍的模式,最为常用便是由web 服务器和数据库构成的二层架构,其他层次还可能叠加 API 服务器、缓存服务器、路由等。这种模式之所以较为常用是因为层次之间可以相互独立地进行扩展并支持分布式。

Terraform 是一个可用于构建和管理这些基础架构的理想工具。每层可由一组资源的集合来进行描述,并且自动地处理层级之间的依赖关系,如 Terraform 将确保在 Web 服务器启动之前数据库服务准备就绪,以及负载均衡可以感知 Web 服务器节点。然后通过 Terraform 修改 count 配置项值每层从而轻松实现水平扩展。由于资源的创建和部署都是可以编程的和自动化的,随着负载进行弹性扩展也是轻而易举的。

  • 自服务集群

在一定的组织规模,庞大的不断扩容的基础架构的管理对于集中式的运维团队变得越来越具挑战性。然而用户通过运维团队提供的工具进行自助服务更具吸引力。

Terraform通过配置文件可以设置如何构建和水平扩展一个服务,因此用户可以将Terraform当做一个黑盒工具来管理自己的服务,并且Terraform配置文件也可以在组织内部进行共享。

  • 软件演示

现代软件越来越依赖网格化和分布式部署,虽然现有的工具类似Vagrant可以用于演示环境的可视化部署,但是仍然无法比拟真实生产环境基础架构。

软件开发者可以提供 Terraform 配置文件在如AWS之类的公有云提供商或者自己的基础架构中进行创建、部署以及启动演示程序。并且还允许用户对某些参数如集群规模等进行修改。

  • 临时环境

在软件研发和交付过程中,通常需要构建生产环境以及stagging或者测试环境,而这些环境只是生产环境的小规模部署用于新产品发布前的测试和验证。随着生产环境越来越复杂、规模越来越大,维护最新的stagging环境变得愈发困难。

通过使用 Terraform,生产环境可以通过配置进行编码,然后与staging,QA或者开发人员进行共享。这些配置可以用于快速部署一套新环境,也很容易将其销毁。Terraform 可以帮助用户客户维护并行的多套环境,以及有效地将其灵活地创建和销毁。

  • 软件定义网络

SDN(软件定义网络)在数据中心中越来越普及,它为运维人员以及用户提供更丰富更便捷的网络操控手段,同时可以对应用提供更好的支撑。SDN通常由控制层和基础架构层组成。

Terraform 可以用于设置SDN的配置,通过控制器来实现网络自动化部署以及变更,并且这些配置可以进行版本控制以及变更自动化。例如,AWS 的 VPC就是较常见的SDN实现,可以通过 Terraform 进行配置。

  • 资源调度器

在大型基础架构中为应用进行静态资源的分配挑战极大。目前很多调度器,如Borg,Mesos,YARN以及Kubernetes等用于解决这类问题,可以用于动态调度Docker容器,Hadoop 和 Spark大数据任务以及其他软件工具。

Terraform 的应用不局限于实体的资源提供商如AWS,调度器也可作为资源的提供者供Terraform进行申请。Terraform可以部署在不同的层次,如调度器所在的节点上,也可以是被调度的网格节点上。

  • 多云部署

跨多云部署以提升应用的容灾能力对于企业来说很具吸引力。在单个区域或者云服务提供商部署的应用容灾能力受限于提供商的可用性水平,然而在多云之间进行跨云部署,可以在多云之间进行数据的备份和数据的恢复。

目前很多基础架构管理工具只针对特定云平台,但是在多云之间部署能力还是非常有挑战性的。Terraform 是云厂商中立的云基础架构管理工具,可以通过相同的配置文件来管理多个云服务提供商,甚至可以解决跨云依赖问题。这极大地简化了管理和编排工作,以及大规模的多云基础架构的构建和运营工作。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/184885
推荐阅读
相关标签
  

闽ICP备14008679号