DevOps

迪拜聘请Terraform工程师

把云端和本地基础设施定义为受版本控制的代码,让环境每次都以相同方式搭建,变更在发生前先经过审查。

  • Google 评分 4.7
  • 200+ 家客户
  • 2018 年起扎根迪拜
45 分钟获取书面固定报价

迪拜企业往往会在基础设施已经增长到一个人无法再安全地手动更改的程度时,才开始迪拜聘请Terraform工程师:需要彼此保持一致的多个环境、一个没人完全记得当初如何配置的、有几十项资源的云账户,或者一项在发生前需要第二双眼睛审核的变更。Terraform 是 HashiCorp 自家的基础设施即代码工具,让团队能把云端和本地资源定义在可以版本管理、复用和共享的配置文件中,而不是凭记忆一项一项点击搭建。

让 Terraform 真正有用、而不只是某家云服务商自家工具的原因,在于它通过同一套一致的语言,对接数千种服务提供方,从主流云平台到较小的服务,甚至其他工具都能覆盖。在 AWS、Azure 或多家服务商之间工作的迪拜Terraform工程师,可以用同一种格式描述整个环境,这一点仅靠各家服务商自己的工具很难做到。

Terraform工程师搭建什么

Terraform工程师管理什么

用代码描述的基础设施,而不是手动一项项点出来的。

Terraform工程师维护的可复用模块

为网络、数据库或应用环境编写的配置,只写一次就能在各个项目中复用,而不是每次复制后再调整。

环境一致性

预发布环境和生产环境使用同一套模块、不同的配置来定义,让在预发布环境测试过的变更在生产环境中表现一致。

状态管理

一份安全存储、带锁定机制的远程状态文件,精确记录当前存在哪些基础设施,防止两个人同时更改它。

访问与策略控制

如果一项执行计划会做出团队已认定不安全的操作,规则会自动阻止它被应用,而无需等到有人看到计划才发现。

Terraform工程师接手的基础设施迁移

把手动搭建的服务器、网络和服务纳入 Terraform 的管理,过程中不重建也不破坏任何正在运行的内容。

变更审查

一份在任何人批准之前,就清楚显示将创建、更改或销毁哪些内容的执行计划,让这成为常规步骤,而不是意外惊喜。

重要技能

聘请Terraform工程师前该检查什么

让基础设施变更保持安全、可审查的习惯。

无论基础设施已经存在还是仍在规划中,迪拜聘请Terraform工程师时都可以把下表当作起点检查清单。

技能或工具好的表现是什么样为何重要
模块设计编写输入输出清晰的小型可复用模块,而不是一份庞大臃肿的配置文件单一庞杂的配置难以审查,也很容易被意外破坏
远程状态与锁定对共享基础设施始终使用带锁定的远程状态,而不是留在某台笔记本电脑上的本地状态文件没有锁定的本地状态,是两次变更相互覆盖的常见原因
执行计划纪律在应用之前审查每一份执行计划的输出,能说清楚计划中每一行的实际含义不看内容就应用计划,正是意外资源被销毁的常见原因
版本锁定有意识地锁定 Terraform 和各服务商插件的版本,而不是任由其自然漂移未锁定的服务商插件更新,可能悄悄改变某项资源的行为
导入已有基础设施能在不重建的前提下,把已经存在的基础设施纳入管理大多数迪拜企业都有一些早于任何代码管理就已存在的基础设施

HashiCorp 官方的Terraform 简介把状态描述为”您环境的一份真相来源”,这正是理解它的正确方式:一位在迪拜的Terraform工程师如果对状态掉以轻心,等于是在轻视整套配置中最重要的那份文件。

合作方式

如何聘请Terraform工程师

专职 Terraform 工程师适合基础设施持续增长、需要有人长期维护描述它的代码的企业。限定项目适合边界明确的工作,最常见的是把手动搭建的已有基础设施纳入 Terraform 管理,或为一个新环境搭建初始模块。咨询服务适合已经在使用 Terraform、但希望在进一步扩展前先审查状态管理、模块结构或访问控制的团队。招聘支持适合希望把这项能力长期纳入自有平台团队的企业。

大致对应的合作模式

  • 专职:持续增长和变化的基础设施
  • 项目:把已有基础设施纳入管理
  • 咨询:对状态、模块或访问控制的一次审查
  • 招聘支持:把这项能力纳入您的团队

评估候选人

如何评估一位Terraform工程师

用来发现真实基础设施判断力的检查方法。

无论您是为一个专职职位,还是为单一项目聘请Terraform工程师,以下检查方法都同样适用。

  1. 请一位Terraform工程师展示他们写过的一个模块

    关注输入输出的设计,以及它在不止一个项目中的真实复用程度,而不只是代码看起来怎么样。

  2. 询问他们的状态搭建方式

    状态存放在哪里、如何锁定,以及如果两个人同时尝试应用一次变更会发生什么。含糊的回答是一个警示信号。

  3. 一起过一遍一份执行计划

    展示一份真实的执行计划输出,请他们解释它实际会做什么。这能检验真正的理解程度,而不只是对命令的熟悉程度。

  4. 询问他们犯过的一个错误

    真正在真实基础设施上用过 Terraform 的人,通常能讲出一个执行计划做出意外结果的具体故事,以及事后做了哪些改动。

  5. 询问他们会如何导入已有基础设施

    一个具体的回答,包括意外重建某些内容的风险,说明他们真正做过这件事,而不只是从空白环境搭建过。

认证

值得询问的认证

HashiCorp 为这个工具运营着自己的认证体系。

HashiCorp 认证:Terraform Associate

HashiCorp 直接颁发Terraform Associate 认证,这是一场在线监考的多选题考试,涵盖 Terraform 的核心概念,有效期两年。此外还有一项更高阶、基于实操的 Terraform Authoring and Operations 认证,面向更深入的实践技能。

还该关注什么

对于任何在迪拜聘请Terraform工程师的候选人,助理级考试是一个合理的基准,但它并不能说明这个人能否为您具体的基础设施设计出一套整洁的模块结构。应在任何证书之外,要求查看一个真实的模块和一套真实的状态搭建方案。

阿联酋相关考虑

值得与Terraform工程师讨论的阿联酋要点

基础设施运行在哪里,以及它承载着什么。

位于阿联酋境内的云区域

亚马逊云科技拥有位于阿联酋的中东(阿联酋)区域 me-central-1,微软 Azure 也拥有 UAE North 和 UAE Central 区域,两者都在阿联酋境内运营云区域。如果把基础设施物理保留在阿联酋境内对您的企业很重要,迪拜的Terraform工程师可以在代码中直接指定其中任意一个区域。

已配置基础设施中的个人数据

如果所搭建的基础设施将存储或处理客户或员工数据,阿联酋《2021 年第 45 号联邦法律令》(详见阿联酋政府官方门户)规定了这些数据必须如何被保护,无论它位于哪个区域。每当为将承载真实客户记录的基础设施迪拜聘请Terraform工程师时,都应尽早提出这一点。

大多数迪拜聘请Terraform工程师的企业,都会在第一个项目之后继续保持合作,因此这个职位属于我们DevOps类别,是迪拜招聘开发人员的一部分。一旦基础设施被定义为代码,我们的CI/CD 工程师和Kubernetes 工程师页面介绍了通常搭建在其之上的流水线和集群。如果工作专门限定在某家云服务商自己的基础设施内,我们的AWS DevOps 工程师页面对该服务商自身工具有更深入的介绍;我们的基础设施工程师页面则把这项工作放在更广泛的运维背景下介绍。

直接解答

常见问题

用通俗的话说,什么是基础设施即代码?

编写描述应用所需服务器、网络和服务的配置文件,而不是在云控制台里手动点击操作。这些文件保存在版本控制中,因此每一次变更都会被审查,每个环境也都可以从同一份定义重新搭建出来。

我们必须用 Terraform,还是云服务商自己的工具就够了?

每家云服务商都有自己的基础设施即代码工具,例如 AWS CloudFormation,但 Terraform 用同一套一致的语言支持多家服务商,如果您使用不止一家云服务商,或者不想完全依赖单一服务商的工具,这一点就很重要。

在生产环境上运行 Terraform 风险大吗?

如果使用不当,确实可能有风险,因为一次错误的变更会影响真实的基础设施。称职的 Terraform 工程师会在应用之前先审查执行计划,使用带锁定机制的远程状态,防止两个人同时更改基础设施,并先在非生产环境中测试变更。

Terraform 工程师能接手手动搭建的已有基础设施吗?

可以,这是常见的项目工作。做法是把现有基础设施导入 Terraform 的状态,让它被正确地表示出来,从这一刻起再以代码方式管理,过程中需要格外小心,避免任何内容被意外重建或破坏。

Terraform 相关工作如何计费?

以一份根据您简报确定范围的书面固定报价计费,无论是持续性的基础设施职位、一个明确的项目,例如把现有基础设施纳入管理,还是一次审查。

书面固定价格

发送您的需求,45 分钟内获取工作范围和价格。

  • 开工前书面确认的一个固定金额
  • 无任何义务,也不会催促签约
  • 英文和阿拉伯文作品,正确处理从右到左排版
  • 一个团队负责设计、营销、网站、媒体和文案

获取您的固定价格报价

工作时间内 45 分钟给出书面范围和价格,无任何义务。

提交即表示您同意我们就您的咨询与您联系。 隐私政策

致电 WhatsApp 获取报价