乐趣区

关于运维:Terraform-系列Terraform-Cloud-比-Terraform-OSS-有哪些增强

系列文章

👉 Terraform 系列文章

前言

最近在应用 Terraform Cloud 来置备 OCI 的 Always Free Tier, 发现它十分好用,相比 Terraform OSS, 用起来省心多了。

也借此总结学习下:Terraform Cloud 比 Terraform OSS 有哪些加强,这些加强性能面向哪些客户,解决了哪些痛点?

能够作为咱们基于 Terraform 开发本人的 IaC 云平台的教训。

Terraform OSS 的性能

Terraform OSS 的性能曾经在 之前的文章 里介绍过了。

这里再反复一下:

  • IaC
  • 工作空间
  • 变量
  • 运行 - 打算和利用
  • 资源图
  • 供应商
  • 模块
  • 注册表
  • 申明式编程
  • 云无关
  • 表达能力强且高度可扩大
  • 协同工作(须要进一步配置)
  • 生命周期治理
  • 测试
  • HCL
  • 平安和密钥治理(须要进一步配置)

Terraform Cloud 简介

Terraform Cloud 是 HashiCorp 基于 SaaS 的 Terraform 版本。

Terraform Cloud, 天经地义用于 Terraform OSS 的以上所有性能。

Terraform Cloud vs. Terraform OSS

Terraform Cloud 比 Terraform OSS 有哪些加强?具体如下:

IaC 性能加强

  • Remote State: Terraform Cloud 自带开箱即用的 Backend, 方便管理 remote state, 确保部署一致性、独特指标和繁多事实起源
  • VCS 连贯: Terraform Cloud 买通了 Github 等 VCS, 能够无缝应用 VCS + Terraform. 使多个团队成员可能在我的项目中解决独自的代码流,并通过简略的回滚门路以结构化的形式将变更合并回外围我的项目中。
  • 工作空间治理: Terraform Cloud 提供了更为丰盛的工作空间治理性能和 UI
  • 平安和密钥治理 : Terraform Cloud 基于 Terraform Vault 提供了 开箱即用 的平安变量(平安和密钥)的存储。
  • 近程运行和状态: Terraform Cloud 反对本地运行和近程运行,近程运行无需本人装置 Terraform, 间接应用 Terraform Cloud 提供的 Terraform. 意味着所有部署都是从一个集中地位实现的
  • 公有模块注册表: 公有模块存储库容许跨多个工作空间和我的项目拜访模块代码的单个实在源,从而升高差别的可能性,从而进步代码稳定性。

△ Remote State

△ VCS(GitHub) 连贯

△ 工作空间治理

△ 平安和密钥治理

△ 近程运行

△ 运行状态

△ 公有模块注册表

团队治理性能加强

  • 团队治理: 团队治理是工作空间治理的一个子性能,借助此性能,工作空间管理员能够通过依据其公司的组织构造创立团队来治理云用户的拜访级别。这些团队依据反映编码职责或经营职责的组织被授予权限,例如:管理策略,管理工作空间,治理 VCS 设置
  • 老本估算: 提供与工作空间中的代码部署关联的老本估算的最佳预估。会明确地显示本次 Run 会减少 / 缩小多少美元的开销。
  • 策略即代码: 通过和 HashiCorp Sentinel 的集成,用于自动化治理、平安和基于合规性的策略配置。Sentinel 是一个可嵌入的策略及代码框架。如,您能够定义,如果您要部署到 Dev,则您的任何 EC2 构建实例都不能大于大小 XXX, 如果尝试构建更大的实例,则运行将失败。也可用于执行 CIS 基准和其余合规性框架。
  • 配置设计器: 基于 GUI 的工作流程,用于抉择、组合、定义变量和创立独特的工作区。升高开发人员应用心智累赘,开发人员从预约义的 IaC 模块构建配置;按需预配。

△ 团队治理

△ 老本预估

△ 策略即代码

△ 配置设计器

平安 / 合规 / 治理性能加强

  • 单点登录(SSO): 集成您的企业身份提供商,为您的团队成员提供无缝登录过程。目前,Terraform Cloud 反对以下身份提供程序:

    • Azure AD
    • Okta
    • SAML
  • 审计日志: 对于在事件产生后甚至在解决问题时尝试深入研究时启用取证考察是相对必要的。
  • 自托管的代理: 容许 Terraform Cloud 业务应用自托管代理无效地查看公有数据中心。

△ SSO

总结思考🤔

Q: 如果咱们也要基于 Terraform OSS 来做一个企业外部的 IaC 云服务,咱们应该加强哪些性能?
A: 须要从以下几方面动手:

  1. 加强 Terraform 的性能和应用体验

    1. 基于 S3 提供开箱即用的 Backend 和 Remote State
    2. 提供和外部代码仓库(如 GitLab) 的无缝对接
    3. 基于 Terraform Workspace 开发一套敌对 UI, 并联合企业理论状况,延长出入:环境、Project 等概念
    4. 基于 HashiCorp Vault 提供开箱即用的平安和密钥治理性能
    5. 主动创立预配置好 Terraform 的长期 VM 或 Pod 以在云服务上开箱即用地运行 Terraform, 而不需用户在本地运行 Terraform;同时提供每次 Terraform Apply 后的状态历史
    6. 提供外部公有 Terraform Registry
    7. 开发残缺而丰盛的 API 接口,供企业外部其余零碎(如 DevOps) 集成应用。
  2. 丰盛团队治理性能:

    1. 丰盛欠缺团队治理性能、设置和 UI
    2. 引入 FinOps 理念:对接支流私有云费用 API,在 Plan 阶段进行老本估算。
    3. (可选)策略及代码
  3. 平安 / 合规 / 治理性能加强

    1. 集成企业外部单点登录
    2. 开发审计日志性能
    3. 自托管的代理不须要,因为就在企业外部

💪💪💪

三人行, 必有我师; 常识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

退出移动版