我们计划在多个顶点环境(如dev、qa、prod等)上工作,并计划自动化构建和部署。我们正在寻找关于在Apigee Edge中管理以下实体或工件的最佳实践的指导?
- 组织级配置(例如,SSL证书、虚拟主机、,缓存、键值映射、APIProducts、自定义报告、开发人员组等)等)
- 应用程序级配置(例如,每个环境的DB凭据、服务调用和目标URL以及凭据配额/速率限制策略配置等)
此外,还可以查看命名目标服务器(用于管理服务调用和目标服务器)。Apigee上的负载平衡下有关于它的文档http://apigee.com/docs/api-services/content/load-balancing-across-backend-servers但是您可以将其用于单个目标,然后不必在不同的bundle之间更改代码。
我们还有一个非官方工具,可以对Apigee开发包中没有的所有环境变量进行快照,您可以将其检查到Git中。您可以在这个YouTube视频中了解更多信息:https://www.youtube.com/watch?v=5jDGTz-UScU#t=10
我的建议是看看Apigee平台的管理API。Apigee Edge几乎为所有实体管理提供了API。这些是REST API本身,因此您可以用任何脚本语言编写实体管理的脚本。
建议的开发方法如下
-
将所有API代理和实体保留在像Git这样的版本控制中。
-
将脚本与提供的Edge REST API一起使用,以部署/创建代理和实体。
-
JMeter或任何其他支持REST的测试框架可以用于验证部署和API代理。
-
所有这些都可以自动化,像Jenkins这样的CI服务器可以在每次办理登机手续时重复整个过程。
您可以使用简单的API调用完成组织级配置:
SSL证书,虚拟主机将特定于每个环境,您可以为每个DNS条目设置不同的证书。
为特定捆绑包创建缓存。因此,有了它,您可以为捆绑包创建修订,并根据环境更改缓存。
KeyValueMaps策略可以在捆绑包中应用,并以解释不同环境的相同方式使用。您可以使用Maven和其他实用程序部署捆绑包,并且在中可以使用API调用部署新的修订版。(服务调用、配额率限制等应用程序的所有策略都可以以相同的方式处理。
如果你需要所有的APi调用来自动执行上述内容,请告诉我。
我发布了一个工具,可以用来检索Apigee组织设置。这个工具已经在Apigee内部使用了一段时间,但这是它第一次向公众发布。它使用Apigee管理API来提取配置数据,并且要提取的数据是可配置的。数据存储在分层目录结构中,可以存档、浏览或用于比较组织。它可以与Apigee Edge云和预处理产品一起使用。这是Michael Bissell在另一个回答中提到的视频中提到的工具。
几个注意事项:
-
此工具不会从组织中检索所有数据。例如,它不会检索API代理。使用Apigee管理UI或管理API来检索API代理。
-
该工具由几个bash脚本组成。它已经在Linux和Mac OS X上成功运行。
-
该工具不会将数据写回组织,尽管它检索的文件通常可以使用管理API张贴回组织。
此工具按原样发布。它没有得到Apigee的官方支持。
在api平台示例站点查找该工具(https://github.com/apigee/api-platform-samples)在tools.org快照目录中。