写点什么

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

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

关注

评论

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

从家里到阿里,学弟求职的一年

程序员鱼皮

Java 数据库 redis 面试 求职

如何与同事相处

escray

学习 极客时间 朱赟的技术管理课 7月日更

程序员必备技能之SpringBoot的自动装配原理,很详细,建议收藏!!!

AI乔治

Java spring 架构 微服务 springboot

AI解锁无人时代 仍需数据安全保驾护航

CECBC

一文读懂区块链技术如何改变非洲贸易(下)

CECBC

细说节流(Throttle)和防抖(Debounce)

devpoint

防抖 节流 7月日更

Python OpenCV 图像的二值化操作再次学习与图像平滑处理(卷积处理)

梦想橡皮擦

Python 7月日更

阿里大牛把电商购物、电商秒杀、12306抢票、淘宝天猫各种活动的系统架构层面全部记载到这份《高并发系统架构》手册里了

Java 编程 架构 计算机

网络攻防学习笔记 Day84

穿过生命散发芬芳

网络攻防 7月日更

Linux之grep命令

入门小站

Linux

Redis - 配置文件

旺仔大菜包

redis

Spring之 EL表达式

邱学喆

语法规则 Expression ExpressionParser ParserContext EvaluationContext

强强联手:2021强网杯LongTimeAgo复盘分析

网络安全学海

网络安全 信息安全 渗透测试 漏洞扫描 强网杯

Java为什么用迭代器

卢卡多多

7月日更

Vue进阶(七十八):Vue 定时器与 JS 定时器

No Silver Bullet

Vue 定时器 7月日更

去阿里应聘P7Java岗,都会被问到哪些问题?

Java架构师迁哥

kubernetes/k8s CSI分析-容器存储接口分析

良凯尔

Kubernetes 源码分析 CSI Kubernetes Plugin #Kubernetes#

近几天fil价格暴跌:fil还有希望吗?

区块链 分布式存储 IPFS fil fil行情

模块三作业

A先生

Python 正则表达式急速入门

喵叔

7月日更

在线正则表达式可视化工具

入门小站

工具

Seldon 使用 (四):内置的推理服务TFServing

托内多

tensorflow kubeflow seldon tfserving

过去几个月里面的几家大厂(美团、字节、腾讯、阿里)均拿到 offer,最终去了字节跳动

Java 编程 程序员 架构 面试

深入浅出 Java 泛型,一文搞定

猴哥一一 cium

Java 翻译 泛型

做大做强肉牛产业,生物资产解决方案助力乡村振兴

CECBC

2021年WEB全栈开发技术栈

devpoint

Vue 全栈 7月日更

使用Apache Spark构建可靠的数据湖(九)

Databri_AI

spark Data Lake iceberg Hudi

Apache Druid 安装的时候进行 Java 版本校验没有输出

HoneyMoose

Go语言:指针和unsafe.Pointer有什么区别?

微客鸟窝

Go 语言

Vue进阶(四):使用 Vuex + axios 发送请求

No Silver Bullet

Vue axios vuex 7月日更 vue-resources

通证与区块链:前台经济+后台技术

CECBC

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