即便使用开箱即用的工具,大部分团队最终还是至少写了一些自定义脚本和工具。所以基础设施平台的 API 必须能够好好支持团队习惯使用的脚本语言。
大部分基础设施平台通过网络 API 暴露其管理功能,其中 REST API 因其易用性和灵活性而最为流行(见图 2-1)。
图 2-1:基础设施平台的 API 客户端
基于 REST API 编程或者编写脚本相当灵活,但使用封装了 API 细节的特定语言类库也会很有帮助。这些库提供了类(class)和结构(structure)来表示基础设施的元素以及对它们的操作。动态基础设施平台的开发者通常提供至少几种语言的 SDK,还有一些开源的项目为多个平台提供了完备的 API,例如 Ruby 的 Fog 和 Python 的 Boto 库。