借助sap云平台上的cloudfoundary景观,当多个开发人员在同一个应用程序上工作时,我正在研究方法/最佳实践。
每个开发人员都应该有单独的空间,并且每次需要测试时都必须推送应用程序吗? 或
是否应该有一个“开发”空间,其中包含多个应用程序,并且每个开发人员都将推动不同应用程序之间进行某种服务共享? 。在此方法中,如果更改服务(例如db)可能会影响共享该应用的其他应用,我确实会看到问题。
我仔细阅读了文档,但没有得到有关多个开发人员在该领域工作的任何提示,因此任何建议/经验都将受到高度赞赏
答案 0 :(得分:1)
我认为没有人能告诉您什么对您的组织有意义。您需要考虑如何组织用户,应用程序和空间。配额管理在其中发挥了作用,但对应用程序和服务的访问也是如此。
注意事项:
谁需要访问您放置在空间中的应用程序?您可以通过空间角色(空间开发人员,经理和审计师)来控制。
您要如何管理空间?这将为您提供一些有关如何组织组织的见识。组织权限允许操作员将管理委派给其他人(组织经理,审核员角色)。
您如何才能限制使用的资源消耗?即配额。您可以将配额应用于组织和空间。考虑您要如何限制组可以执行的操作。
考虑组织/空间边界。您是否需要跨组织和空间共享诸如服务之类的东西?通过基金会可以做到这一点,但是要小心,因为各个服务经纪人也需要对此进行支持。在撰写本文时,有的没有,有的没有。那些不需要的,将与必须提供的不太方便的用户提供的服务共享。
https://docs.cloudfoundry.org/devguide/services/sharing-instances.html
请考虑是否需要进行计费或退款。按单位/空间执行此操作很有意义,因此您需要将其与您的计费/退款方式保持一致。
我不建议您先采取其中一种策略,但请先仔细考虑,但这是我见过人们的一些示例。
在开发人员在整个周期中进行管理的团队中,我已经看到组织用于组织开发团队,而空间用于对项目或应用程序进行分组。因此,团队A可以访问组织A,该组织A的空间X,Y和Z分别用于App X,Y和Z。AppX,Y和Z将dev,test,qa和prod部署到同一空间。
在结构更为传统的公司中,开发团队将代码传递给操作团队,我通常会看到组织和空间来促进这种分离。开发人员有自己的组织和空间进行开发和测试。 Ops拥有自己的组织和生产场所。两者不要混在一起。
在这方面也有所不同,因此请再考虑一下对您和您的公司有意义的事情。
希望有帮助!
答案 1 :(得分:0)
Cloud Foundry上的空间具有为一组人提供配额管理和控制管理的功能。因此,您应该根据隔离/控制应用程序的需要来构造空间。
最常见的用例是: -开发/ qua /产品 -department_a / deparment_b; ..
关于共享服务的开发,请确保您了解CF服务,它们提供了与常规应用程序不同的机制,例如,服务实例(如DB)可以在不同空间的不同应用程序之间共享:< / p>
https://docs.cloudfoundry.org/devguide/services/sharing-instances.html