我计划构建一个SaaS,用户可以在云上创建一个新的服务器实例,这个实例将托管某个软件。您可以将其称为单租用SaaS,它适合我计划提供的软件系列。
处理在云上创建服务器实例的部分非常简单:使用DigitalOcean或AWS API。创建云服务器后,SaaS应用程序需要在新创建的服务器上运行某些配置以设置软件和依赖项。我更喜欢像Ansible这样的无代理配置工具,因为它降低了流程的复杂性。
我已经阅读了Ansible的文档,但我无法弄清楚如何能够以编程方式触发某个剧本并使用我可以集成到我的SaaS中的HTTP接口传递一些变量。
我正在考虑以下几点:
使用另一个无代理配置管理工具和强大的HTTP API接口。
使用某种通用的HTTP API,它允许我运行ansible命令行。
在目前的约束条件下(包括(i)单一租赁SaaS,(ii)无代理配置,(iii)通过HTTP进行自助配置)的最佳方法的任何想法
由于
答案 0 :(得分:1)
我很确定您正在描述与Ansible现有http://www.ansible.com/tower关系密切的内容,其中包含http API。因为这可能不完全适合你的用例包装ansible与薄api包装听起来像你最好的选择。您可以使用Jenkins触发ansible作业,或使用更灵活的框架来运行http://www.celeryproject.org之类的任务。
对于服务器的初始配置,您可能需要考虑在启动时运行ansible-pull(或仅在本地安装)。如果您有一些配置将成为您的用户的起点。祝你的项目好运!