写点什么

Terraform 及多云的进一步简化

  • 2017-10-30
  • 本文字数:2010 字

    阅读完需:约 7 分钟

Microsoft 和 Hashicorp 在八月份宣布达成了一份多年的合作协议,意在改进在 Terraform 中对 Azure 资源的支持。Terraform 是 Hashicorp 推出的一种可用于多云(Multi-Cloud)的配置工具。随后,Google 也发布了类似的声明,承诺将改进Terraform 与Google Cloud Platform(GCP)的集成。

Terraform 是一种成熟的多云解决方案,当前适用于 69 种不同的云服务提供商,它使得配置摆脱了特定于服务商的工具,并避免了服务商锁定问题(Lock-in)。Terraform 使用了云特定的服务提供器(Provider),支持本地部署(On-premise)、混合部署和多云部署,使用 Terraform 的云可感知 HCL 语言(Hashicorp Configuration Language)配置不同的云服务。

Stefan Magnus Landrø在七月的 NDC 奥斯陆大会上以“ Terraform:开拓 Azure ”为题目做了一次报告。在报告中,他通过一个配置在 DigitalOcean、AWS 和 Azure 间的跨云集成,对多云的优点进行了展示。Landrø指出,“Terraform 的独到之处在于,你可以将来自不同云服务提供商的资源组合成一个大的架构”。他展示了一个包括 Digital Ocean 和 Azure 的 VPS 组合,其中 DNS 使用了 AWS 的 Route 53。Landrø据此用例提出:

当前加权的健康检查是一种只有 Amazon 提供的特性,它是 Amazon 云的一个独到特性,不能在 Google 或 DigitalOcean、Azure 等其它原生 DNS 服务器提供者中看到。现在我们给出的方案很酷,因为用户可以从其所能发现的最好云服务商中挑选最好的服务,并插入到自己的架构中……用户可以用上所有云中最好的服务。

云服务提供商已对降低自身门槛以实现集成表示出了明确的兴趣。自从 Microsoft 和 Hashicorp 双方签署了合作协议后,Azure 已将 Terraform 配置集成到自己的基于 Web 的 Azure Cloud Shell 服务中,提供了通过基于浏览器的 Shell 做配置的功能。Terraform 的计算负责人 Corey Sanders在博客中指出,这使得“在任何可以使用手机的地方使用 Terraform”成为可能。Azure 的高级项目经理 Hariharan Jayaraman 近期接受了 MSDN Channel 9 的采访,在采访中他展示了一个在 Terraform 中使用 HCL 语言通过 Cloud Shell 定义和部署 Azure 资源的简单过程。他解释说,虽然 Terraform 是构建在 Azure Resource Manager API 之上的,但是它“通过提供(可验证部署的)计划而给出了更多的功能”。Jarayaman 指出:

企业会存在这样的困惑,它们并不想培训自己的 DevOps 工程师去熟悉多种配置格式。Terraform 使得 DevOps 工程师可以使用同一配置格式去描述 AWS 或 Azure 中的资源。

九月份召开的 Hashiconf 大会见证了 Terraform Module Registry 发布。该Registery 使得社区可以为常见的配置模式提供解决方案,它提供了一个“发布软件、版本管理和共享模块的场所。对于模块的用户而言,Registry 是发现、使用模块并协作各模块的中心场所”。据Hashicorp 介绍,Registry 的推出使“合作厂商和社区成员易于分享模块与开展协作,并对模块进行更新和版本控制,以持续地对架构配置做出改进”。Microsoft 也宣布,它已经将一组新模块发布到Registry 中。

据BMC 的数字创新副总裁(Vice President of Digital Innovation)Jason Fyre 介绍,多云策略避免了厂商锁定(Lock-in)问题,在财政上的和竞争方面上具有优势。Fyre 近期就BMC 发布其多云架构发现和可视化工具“ Discovery for Multi-Cloud ”接受了福布斯的采访。其中 Fyre 评论道:

(多云)允许(组织)建模工作负载的可能代价。这些工作负载可以是运行在 Amazon 或 Azure 上,也可以是在现场(On-Site)运行。有时一旦我们做出这样的模型,客户就会发现工作负载在现场运行的代价可能要要比在云上运行的代价更低,或是发现相反的情况。

在今年六月,OpenCredo 公司 CTO Nicky Watt 在 HashiDays 伦敦大会上做了一个演讲,展示了从简单Terraform 配置到更为复杂的企业配置的经历。她同时警告,实现过程中要避免产生一种她称之为“Terralith”的状态。

Watt 将“Terralith”定义为一种“单体配置”,它是“从高度依赖于本地状态和单体配置文件的概念验证(PoC)演化而来”,该状态的特性是“并不具备分布部署环境的能力”。

DigitalOcean 近期更新了使用 Terraform 配置 DigitalOcean Droplet(VPS)的教程,其中展示了使用Terraform 可降低需要用户去熟悉一些特定于服务提供商的工作。该教程将引导用户去部署两个具有hahproxy 的nginx 实例的可重复配置。对于配置编写者而言,这将云服务提供商特定的配置转化为一些提供者(Provider)变量,并具有DigitalOcean 信任的SSH 和API 密钥。

Terraform 这类工具将一系列云服务的使用门槛简化为单一的抽象。和所有其它的解决方案一样,实现规模的重担将落在持续改进上,以及实现和相关流程的演进上。

Watt 提醒我们:

这并非只是与代码的结构项目相关。你还需要考虑如何演进各个过程,以及管理其中的各种编排系统。

查看英文原文: Terraform and the Increasing Ease of Multi-cloud

2017-10-30 19:002977
用户头像

发布了 391 篇内容, 共 155.8 次阅读, 收获喜欢 257 次。

关注

评论

发布
暂无评论
发现更多内容

5大建议助您顺利实施YashanDB项目

数据库砖家

5个YashanDB功能改善企业运营效率的技巧

数据库砖家

5大核心功能使YashanDB成为行业首选

数据库砖家

5个常见问题解答:使用YashanDB前需要知道的事

数据库砖家

Rokid 手势识别技术深度解析:解锁 AR 无接触交互的核心秘密

鸽芷咕

AR Rokid 手势识别

区块链 Web3 项目开发

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

AI时代下,中国低代码市场发展的如何了?附行业研究报告

优秀

人工智能 AI 低代码

5个步骤教你快速上手YashanDB数据库

数据库砖家

华为开发者空间携手乐知行:轻松实现智能网联小车数据可视化系

华为云开发者联盟

人工智能 华为云开发者空间

5大特性让YashanDB成为企业级数据库的宠儿

数据库砖家

5个必知的 YashanDB 性能调优技巧

数据库砖家

5个步骤快速掌握YashanDB数据库数据迁移技术

数据库砖家

5个步骤助您快速迁移至YashanDB数据库

数据库砖家

5个常见问题关于YashanDB数据库的解答

数据库砖家

亚马逊云科技 WAF 指南(十)用 Amazon Q Developer CLI 解决 DDoS 防护与 SEO 冲突问题

亚马逊云科技 (Amazon Web Services)

5大挑战与应对策略:使用YashanDB时须知

数据库砖家

5个步骤来帮助你优化YashanDB数据库的备份策略

数据库砖家

线程池ThreadPoolExecutor源码深度解析|得物技术

得物技术

Java 缓存 编译器 DNS 调度

5个步骤帮助你顺利迁移到YashanDB

数据库砖家

5个常见问题解答关于YashanDB和其使用

数据库砖家

5个常见问题的解析:关于YashanDB数据库的疑惑

数据库砖家

5大关键技巧助您优化YashanDB数据库性能

数据库砖家

5大理念助您更有效地管理YashanDB数据库

数据库砖家

5个YashanDB特性助力企业打造数据驱动文化

数据库砖家

5个步骤确保YashanDB数据库的高可用性

数据库砖家

5个常见问题解答:使用YashanDB数据库时须知

数据库砖家

YashanDB数据库使用的5个常见问题解答

数据库砖家

Python 的 PyPy 能追上 Go 的性能吗?

王中阳Go

Python Go 后端

京东商品列表API助力电商竞品分析与价格监控

tbapi

京东API 京东商品列表API 京东数据采集 关键词搜索京东api

使用 Playwright MCP Server 为你的 AI Agent 赋予浏览器自动化能力

测试人

软件测试

5个步骤优化YashanDB数据库的存储效率

数据库砖家

Terraform及多云的进一步简化_微软_Rafiq Gemmail_InfoQ精选文章