写点什么

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

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

关注

评论

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

【docker 总结】第四篇 - 镜像和容器操作

Brave

Docker 12月日更

DotNetCore 开发工具箱之调度小能手——Coravel

为自己带盐

dotnet 28天写作 12月日更 Coravel

山的那一边,是什么?(16/28)

赵新龙

28天写作

明道云荣获2021亚洲最佳职场“最佳创新奖”荣誉!

明道云

5分钟认识802.11标准,言简意赅!

Ethereal

网络技术 无线技术 网络技术联盟站 802.11

TCP/IP的底层队列

程序员历小冰

网络 TCP/IP 28天写作 12月日更

[Pulsar] Pulsar Resources介绍

Zike Yang

Apache Pulsar 12月日更

联邦学习在光大科技的落地应用

博文视点Broadview

Python爬虫120例之案例58,手机APP爬虫,“武器库”的准备and皮皮虾APP的测试

梦想橡皮擦

12月日更

React进阶(七):props 属性介绍

No Silver Bullet

React 12月日更 props

100行代码让您学会JavaScript原生的Proxy设计模式

汪子熙

JavaScript 设计模式 代理模式 28天写作 12月日更

前端开发:Vue中获取input输入框值的方法

三掌柜

28天写作 28 12月日更 12月

实用机器学习笔记十六:循环神经网络

打工人!

深度学习 学习笔记 循环神经网络 机器学习算法 12月日更

JavaScript操作 DOM 的这些事件基础

你好bk

JavaScript 前端 DOM BOM WebApi

Go+ XML 编码和解码处理教程(5.5)

liuzhen007

28天写作 12月日更

数据库牛人是如何进行SQL优化的?

Ethereal

数据库 sql SQL优化

当我们在聊高可用时,我们其实在聊什么?

xcbeyond

28天写作 12月日更

明道云对接小鹅通,沉淀内容付费平台数据

明道云

开源轻量级 IM 框架 MobileIMSDK v6.1.2 发布

JackJiang

TCP websocket 即时通讯 IM MobileIMSDK

数据分析流程浅析

圣迪

数据分析 数据 CRISP-DM

Dubbo框架学习笔记四

风翱

dubbo 12月日更

什么是Kubernetes?Kubernetes是怎样工作的?

Ethereal

云计算 Kubernetes

如何在 AWS 云中从 Amazon EC2 启动 RHEL 8?

Ethereal

云计算 AWS RHEL 8 Amazon EC2

Enum Parse 中的坑

喵叔

28天写作 12月日更

Android aapt 在 Mac 和 Windows 上使用方法小结

阿策小和尚

28天写作 Android 小菜鸟 12月日更

管理中的推理事件随笔

搬砖的周狮傅

随笔杂谈 推理

Spring Boot Serverless 实战系列“架构篇” | 光速入门函数计算

阿里巴巴云原生

阿里云 Serverless 架构 云原生 函数计算

小程序的发布【小程序专题3】

坚果

小程序 28天写作 12月日更

如何基于 Docker 快速搭建 Springboot + Mysql + Redis 项目

秦怀杂货店

Java redis Docker springboot redis sentinel

All in one:如何搭建端到端可观测体系

阿里巴巴云原生

阿里云 云原生 可观测

Apache Log4j2,RASP 防御优势及原理

阿里巴巴云原生

阿里云 云原生 漏洞 可观测 Apache Log4j2

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