API的声明性力量

18-10-31 banq
              

今天API在行业中发挥着重要作用,为硬件和软件开放了管理和编程功能。API使IT运营部门能够轻松地将新旧产品集成到现有的自动化编排和服务流程中,使事情更易于管理,并缩短产品上市时间和策略。为什么现在投入API?这些曾经“仅限开发人员”的接口进入IT运营世界的原因是什么?

声明性转变势在必行

从历史上看,IT运营采用了更为迫切的管理类型方法,将特定指令发送到基础架构并执行。如果不正确,则会发送更多指令和命令以执行其他操作。虽然这种方法多年来运作良好,但它有其缺陷 - 首先是它作为人类使用来指挥我们的基础设施。插入人的元素带来了许多风险 - 人类犯错误,人类需要时间。

在“软件定义”世界中,正在发生重大转变 - 从传统的命令式方法转变为声明式方法。我们现在只需定义一个理想的最终状态,告诉基础设施最终如何到达我们的目的,而不是一个一个地向我们的基础设施发送命令。

举个例子,想象一下你邀请某人到你家。为了让这个人到达你的家,你必须给出确切的指示 - “从主街直行,然后在...我的房子是左边第九个房子,经过那个十字路口。“这是思维的必要模式。或者使用声明模型,我可以说“我的地址是XXX街XXX号; 将其输入GPS应用程序 - 它将使用最佳路线导航您。“

也就是说,为了协调基础设施,软件需要一个共同点来提供通信渠道。RESTFul API带来了标准化且易于使用的架构,IT运营部门可以利用该架构,协调数据中心所有角角落落的流程。RESTFul API使IT操作在实现声明性的,期望的最终状态方法方面更加接近。

软件已经改变

不只是IT运营发生了变化 - 部署的软件和解决方案也正在发生重大转变。比较10年前的数据中心与今天的数据中心存在显着差异。曾经长期依赖的单片式基础设施已经让位于更加模块化的方法。云和微服务现在正在承担我们工作负载的冲击,提供小型,可重复使用的代码块,这些代码组合在一起以提供大型复杂的应用程序。它们不是在应用程序级别管理工作负载,而是现在可以分解为小的,短暂的部分。当服务不可用时,另一个服务就会取而代之 - 当需要扩展时,分布式文件系统允许多个节点协调工作,为整个应用程序提供更多资源。

RESTful API提供标准化的无状态架构,允许我们集成和自动化这些不同的独立软件解决方案,将所有应用程序归结为一个共同点。

从历史上看,IT运营部门可以部署一个单独的软件套件,该套件通常带有管理该应用程序所需的一切 - 如今,大型分布式数据中心已不再适用。以VM生命周期为例 - 仅仅基于黄金模板部署VM是不够的。还有许多其他流程和任务需要考虑在内。VM是否需要包含在您的数据保护解决方案中?我们是否需要对VM中运行的服务和应用程序进行任何标准监控?是否需要将VM添加到任何变更管理或资产跟踪应用程序中?为了部署真正的声明性VM供应过程,需要考虑与VM相关的所有应用程序和过程。

RESTful API提供标准化的无状态架构,允许我们集成和自动化这些不同的独立软件解决方案,将所有应用程序归结为一个共同点。不依赖于任何特定的底层技术意味着IT运营可以轻松地将新服务集成到现有的自动化工具集中。API与抽象的管理和操作层相结合,提供了一种提供高度自动化的横向扩展解决方案的方法。

所以REST就在这里

RESTful API提供IT运营一直渴望的无状态通用架构。不再需要专有的CLI - 只需将编排和自动化集成到现有的工具集中。REST独立于平台,无论底层语言如何都可以执行。仅从2000年初开始,我们已经看到利用RESTful API的连接设备的数量急剧增加,没有任何放缓的迹象。RESTful API将在数据中心管理的未来发挥重要作用 - 因此,要好好了解当前基础架构中的应用程序,硬件和软件,并清除那些不提供RESTful API的人。

定义所需的最终状态,让软件和RESTful API确定最佳的实现方式