术语¶
正如 Phil Karlson [曾经说过](https://martinfowler.com.cn/bliki/TwoHardThings.html)
> 计算机科学中只有两件难事:缓存失效和命名。
随着时间的推移,各种术语及其同义词会引发一些争议,不同的团队最终会使用不同的词语来引用相同的对象或资源。本文档用于记录关于某些术语所做的决定,并尝试简洁地定义每个术语。
项目 (project) vs. 租户 (tenant)
项目 (project) 应该用于描述一组共享相同配额的 OpenStack 用户。较旧的术语 租户 (tenant) 不应在 OpenStack REST API 中使用。
服务器 (server) vs. 实例 (instance)
服务器 (server) 应该用于描述虚拟机、裸机或容器化虚拟机,这些虚拟机由 OpenStack 用户用于计算目的。较旧的术语 实例 (instance),也被 Amazon Web Services EC2 API 用于描述虚拟机,不应在 OpenStack REST API 中使用。
项目名称 (project name) vs. 服务类型 (service type)
大多数 OpenStack 项目既有“项目名称”(例如 Nova、Keystone 等),也有“服务类型”(例如 Compute、Identity 等)。某些 REST API 功能(例如 JSON-Home、API Microversions 等)需要在请求/响应中公开每个项目。如果项目同时具有“项目名称”和“服务类型”,则该项目应该用其 服务类型 表示,因为其项目名称可能会更改(例如 Neutron 曾为 Quantum),而其服务类型则更稳定。服务类型应来自相应的 OpenStack Identity 服务目录条目的“type”。