API是应用程序编程接口(Application Programming Interface)的缩写。多年来,它已从紧密耦合的命令式规范演变为松散耦合的声明式模型。目前最常见的是RESTful API,用于实现集成。无论采用何种实现方式和调用模式,API通常都与应用开发相关。
但另一种API经济也在稳步发展,它存在于运维领域。在这一领域,API中的“A”代表自动化。
运维领域的API代表着对基础设施和应用服务的接入、配置及运行进行自动化的能力。因此,支持运维所需的接口(即API)需要着重简化自动化流程。
随着组织全面进入数字化转型的第二阶段,并开始在交付和部署流水线中扩大自动化应用,这一重点至关重要。要扩展自动化,需要能够构建一致、可重复且可预测的流程,以完整体现应用的部署流水线。
一份来自Kentik 2019年自动化现状报告的报告显示,超过半数的组织(53%)已使用自动化进行网络配置,另有40%的组织实现了策略管理自动化。我们自己的研究显示,这一比例要高得多,绝大多数组织(86%)都实现了网络自动化。同一项研究,即应用服务现状2020,也发现整个部署流水线的自动化程度日趋一致。
组织使用的工具也在发生变化。虽然Python仍是广受欢迎的选择之一,但DevOps和云原生应用正日益影响IT。部署流水线越来越多地由Jenkins和Ansible等工具驱动,并由GitHub和GitLab Enterprise等代码仓库触发。展望未来,基础设施和应用服务将由高级分析生成的可操作洞察驱动。
在整个部署流水线中,调用API的将是系统,而非人员。因此,设计运维API时必须专门考虑自动化需求。这需要考虑以下几个方面。
首先,可能需要考虑调用运维API的系统。Jenkins或代码库提供的数据与传统网络自动化工具和服务提供的数据必然存在显著差异。这可能意味着需要从其他来源获取数据,或尽可能采用标准值作为默认值。
其次,必须将“凭据化机器”调用API的需求与“凭据化用户”调用区分开来。如今,大多数身份验证系统都假定“用户”是人。API密钥可能是一个不错的选择,但IT运维团队需要掌握相关知识,才能部署、运行和管理专为维护机器专用凭据而设计的系统。尽管如此,随着数字化转型迈向第三个也是最后一个阶段,这一点至关重要。在这一阶段,AI辅助的应用服务和运维将承担更多运维工作。
如今,我们可以借助工具编写脚本,实现运维自动化,这一点很有价值。但必须认识到,未来API中的“A”几乎将专指自动化,至少在运维场景中如此,因为它将影响机器之间而非人与机器之间的交互和调用。
关于作者

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。
Lori Mac Vittie 的更多博客文章相关博客文章
2023年应用策略现状:成本与复杂性是推动多云网络发展的首要因素
多云网络解决方案可在核心、云和边缘环境之间实现无缝、安全的互联,为解决当今混合IT面临的挑战提供支持,因而备受业界关注。
