作为Schematics用户,我为什么需要多个环境以及它们的用途是什么?

时间:2017-05-17 20:44:51

标签: ibm-cloud terraform ibm-cloud-schematics

我正在寻找关于环境在这种背景下的一些指导。在Schematics中设置环境的最佳实践有哪些?

1 个答案:

答案 0 :(得分:0)

Schematics环境类似于软件环境或有时称为层。这些通常至少包括开发,测试和生产环境。在此处阅读有关此概念的更多信息:https://en.wikipedia.org/wiki/Deployment_environment

环境允许分离对云资源的关注。每个环境都是从另一个环境封装的,因此每个环境都可以独立运行。这允许开发团队同时对开发和测试环境进行更改,同时不影响用户与解决方案交互的生产级环境。

原理图环境进一步允许团队潜在地分离其云解决方案的组件。这可能是基于产品的。例如,产品A可能有三个原理图环境:“product-a-dev”,“product-a-qa”和“product-a-prod”,而产品B可能有两种环境:“product-b-non prod“和”product-b-prod“。这进一步允许客户将他们的产品和资源分离。

Schematics环境是将几个分布式元素组合在一起的粘合剂。原理图环境将执行terraform模板所需的信息联系在一起。具体的示意图环境包括以下内容:

  • 指向T​​erraform模板的指针(url)
  • 特定目标Terraform版本
  • 一些任意用户定义的数据,有助于组织环境:名称和描述
  • 在terraform模板中配置的变量定义和覆盖

当汇总时,这些信息可由Schematic服务执行,允许调用Terraform来创建,更新和销毁云资源。

了解底层技术Terraform也很重要。 Terraform维持“state”。这允许Terraform在您的任意资源名称和云提供商使用的实际标识符之间“映射现实世界”。例如,如果您已定义类似于resource “ibmcloud_infra_bare_metal” “twc_terraform_sample”的IBM Cloud裸机服务器并使用Schematics创建此资源,则此资源的IBM Cloud ID可能为“253372”。 Terraform使用state来映射这两个元素。