卷设置装备摆设存正在于所有块平台中,但API挪用存正在很大差别。一些平台利用简单的Token身份验证,其他平台需要前往会话头的登录挪用。一些平台正在较新的固件版本中包含CSRF Token。功能集连结分歧,但集成代码必需考虑特定于供应商和版本的身份验证模式。
现代码能够描述企图而不编码硬件非常时,根本设备即代码才无效。当每个平台需要零丁的实现径时,就会呈现存储集成挑和,但从动化东西按设想运转。它们下面的根本引入了可扩展性的复杂性。处理方案是将该根本同一到单一代码库的根本设备操做系统中。
存储供应商供给REST API,但仅有REST并不克不及建立分歧性。建立可扩展从动化的组织必需考虑跨供应商、供应商产物组合内以及跨功能实现的分离化。像VergeOS如许的平台通过单一API将存储、计较和收集集成到单一代码库中。存储笼统发生正在操做系统级别,而不是通过针对每个供应商的集成代码。团队编写援用存储办事而不是存储阵列的Terraform模块和Ansible脚色。硬件变化对从动化层不成见,由于平台正在内部处置笼统。
问题不正在于从动化东西本身,而正在于每个存储平台都需要零丁的集成代码,即便是来自统一供应商的产物也做为系统运转,具有不兼容的API。当团队将虚拟机办理法式和收集从动化插手此中时,复杂性成倍添加。分离的根本设备通过强制将硬件复杂性引入管道的每一层来从动化。
A:能够采用同一根本设备平台,如VergeOS这类将存储、计较和收集集成到单一代码库的平台。这种平台正在操做系统级别进行存储笼统,而不是通过针对每个供应商的集成代码。团队编写的从动化代码援用存储办事而非具体存储阵列,硬件变化对从动化层不成见,从而从底子上消弭了多平台集成的复杂性。
A:由于每个存储平台都需要零丁的集成代码,即便是统一供应商的分歧产物也利用不兼容的API。当团队测验考试跨多个存储平台扩展从动化时,需要为每个产物系列编写和零丁的集成径,导致前提逻辑成倍增加,代码库变得懦弱,成本跨越从动化带来的收益。
私有AI根本设备使问题进一步复杂化。组织为AI工做负载摆设具有分歧机能设置装备摆设文件和对象模子的零丁存储仓库。从动化框架现正在必需保守块阵列、文件系统、对象存储和AI优化平台的存储集成代码。每次添加城市添加承担。
当虚拟机正在从机之间挪动时,存储径行为可能会按照阵列模子而改变。当办事器硬件刷新时,收集适配器挨次变得不成预测。从动化通过前提逻辑接收这些跨层依赖关系,这些逻辑跟着每一代硬件和固件更新而增加。
Q2:Terraform和Ansible这类根本设备即代码东西能处理存储集成的分离化问题吗?
存储供应商将本人宣传为同一的供给商,但他们的产物组合现实上是做为分歧的API系列运转的。每个系列都需要零丁的客户端代码。
供应商为每条产物线供给零丁的Terraform供给法式和Ansible调集。每个供给法式公开具有分歧参数布局的分歧资本。为一个平台编写的Terraform模块无法移植到统一供应商系列中的另一个平台。团队需要为每个平台零丁的根本设备即代码模块。
存储集成代表问题的一个维度。虚拟机办理法式和收集从动化引入了运转的额外层。虚拟机办理法式办理依赖于具有本人身份验证模子的零丁API。收集布局设置装备摆设通过利用特定于供应商的构制的分歧节制器实现。完整的从动化框架必需协调跨存储、计较和收集层,而这些层不共享任何通用模式。
根本设备即代码层不克不及同一存储语义,它以分歧的语法再现了分离化。团队用HCL或YAML替代REST API挪用,但前提逻辑、版本处置和特定于平台的参数仍然存正在。
本来该当躲藏平台差别的笼统层反而记实了这些差别。存储后端成倍添加,前提逻辑正在模块和脚色中延伸。版本检测变得强制性。跟着扩展,代码库变得懦弱。
这种模式正在整个行业中反复呈现。具有普遍产物组合的供应商为每条产物线公开零丁的REST API。URL布局分歧,身份验证流程分歧,对象模子分歧。正在一个平台上无效的卷建立挪用正在另一个平台上利用完全分歧的JSON布局和端点。团队无法编写通用的特定供应商存储代码,他们必需为供应商产物组合中的每个产物编写零丁的集成径。
当存储集成需要针对每个平台和每个产物的代码时,根本设备从动化变得难以扩展。团队编写的Terraform模块正在一个数据核心中无效,但正在另一个数据核心中失败,由于存储供应商分歧。他们为每个阵列系列零丁的Ansible脚色分支。灾难恢复坐点取出产呈现误差,由于从动化无决之间的平台差别。
A:不克不及。这些东西只是对REST API的简单包拆,底层的复杂性仍然存正在。供应商为每条产物线供给零丁的Terraform供给法式和Ansible调集,每个供给法式利用分歧的资本和参数布局。团队仍需为每个平台零丁的模块,只是用HCL或YAML替代了API挪用,但平台特定的参数和前提逻辑仍然存正在。
硬件刷新周期也会从动化。新的存储型号引入需要模块更新的API更改。固件升级公开了旧代码无法处置的字段。团队花正在集成代码上的时间比通过从动化节流的时间还多。根本设备即代码的许诺变成了根本设备非常即代码。
版本节制引入了额外的变量。其他平台依赖基于头的版本协商。而较旧版本会默默忽略或这些内容。为一个固件级别编写的从动化代码正在阵列升级或团队向现有集群添加新型号时会失效。
次要存储供应商凡是正在其产物线中供给两个或更多分歧的REST API。企业级阵列共享一个具有分歧端点和身份验证的API模子。中端和超融合产物利用完全分歧的REST API,具有不兼容的资本定义和URL布局。团队正在单一供应商关系下多个的存储后端。
组织凡是认为Terraform供给法式或Ansible调集能够笼统存储差别,但现实并非如斯。根本设备即代码东西只是集成东西利用的不异REST API的简单包拆器,底层复杂性仍然存正在。
根本设备团队采用从动化东西,期望消弭手动流程并建立可预测的摆设。他们实施Terraform、Ansible和Packer进行编排,利用Prometheus和Grana进行。概念验证成功了,但当他们测验考试正在多个存储平台上扩展时,从动化策略就呈现了。
即便是架构类似的产物也存正在差别。处置块存储的阵列利用一种REST模式,处置文件和对象存储的产物利用分歧的REST模式。两者可能都利用HTTPS和JSON,但端点、对象和Token处置体例各不不异。即便阵列来自统一供应商,块和文件操做也需要零丁的客户端实现。