NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:002365
用户头像

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

关注

评论

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

模块五-微博评论高性能高可用计算架构

华仔架构训练营

JVM之内存管理

邱学喆

JVM 内存管理 垃圾回收算法 垃圾回收器

react源码解析7.Fiber架构

全栈潇晨

react.js react源码

【Flutter 专题】110 页面间小跳转 (四)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

Webpack 系列4:彻底理解 module.issuer 属性

范文杰

webpack 6月日更

架构实战营 - 模块五作业

Sun

模块5 学习总结

TH

架构实战营

模块5作业

大肚皮狒狒

关于MySQL库表名大小写问题

Simon

MySQL

工作多年,Linux文件系统还不太了解?

架构精进之路

Linux 文件 6月日更

先立个Flag

追风少年

架构实战营5 作业

梦寻解语花

架构实战营

架构实战营 模块五作业

Dylan

架构实战营

模块五:课后作业

菲尼克斯

架构实战营

Pandas之:Pandas高级教程以铁达尼号真实数据为例

程序那些事

Python 大数据 数据分析 pandas

如何从Java字节码角度解决问题

叫我阿柒啊

Java 字节码

书单 | 阿里技术书单,满足你的“大厂情结”!

博文视点Broadview

《漫画算法2》2021全新进阶版来袭!

博文视点Broadview

架构实战营模块5

阿体

【LeetCode】目标和Java题解

Albert

算法 LeetCode 6月日更

支持边云协同终身学习特性,KubeEdge子项目Sedna 0.3.0版本发布!

华为云开发者联盟

机器学习 学习 kubeedge Sedna 边云协同

如何画好架构图 (建议收藏)

悟空聊架构

流程图 架构图 6月日更 processon 原理图

给你一台服务器,你能把你写的代码部署到线上吗?

小傅哥

小傅哥 ssl 云部署搭建 博客配置 安装宝塔

模块五:课后作业

黄先生

作业

CR

”微博评论“的高性能高可用计算架构

thewangzl

(技术型)产品经理打怪升级之路

菜根老谭

产品经理 职业转型

windows安装minikube的正确姿势

蛋先生DX

Docker k8s minikube 6月日更

用C语言实现interface

实力程序员

NCRE考试感想 四级嵌入式(下)

万里无云万里天

嵌入式 6月日更 NCRE 考试经验

前端vue在可视化大屏领域的工作实践

孙叫兽

Vue 可视化 eCharts 可视化地图 引航计划

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