cloudfoundry : space 与多个开发人员共享方法

cloudfoundry : space sharing approach with multiple developers

随着 sap 云平台上的 cloudfoundary 景观,我正在研究当多个开发人员在同一个应用程序上工作时的方法/最佳实践。

每个开发人员是否应该有一个单独的 space 并且每次他们想要测试时都必须推送应用程序? 或

是否应该有一个 "devopment" space 具有多个应用程序以及每个开发人员将推送的不同应用程序之间的某种服务共享? .在此方法中,如果我更改可能影响共享它的其他应用程序的服务(例如数据库),我确实看到了问题。

我浏览了文档,但没有得到任何关于多个开发人员在 space 工作的提示,因此非常感谢任何建议/经验

Cloud Foundry 上的空间具有为一组人提供配额管理和控制管理的功能目的。因此,您应该根据 isolate/control 应用程序的需要来构建空间。

空格最常见的用例是: - 开发/质量/生产 - department_a / deparment_b;..

关于共享服务的开发,请确保您了解CF服务,它们提供了与常规应用程序不同的机制,例如,服务实例(如DB)可以在不同空间的不同应用程序之间共享:

https://docs.cloudfoundry.org/devguide/services/sharing-instances.html

我认为没有人能告诉您什么对您的组织有意义。您需要考虑如何组织您的用户、应用程序和 space。配额管理与此有关,但对应用程序和服务的访问也是如此。

需要考虑的事项:

  1. 谁需要访问您放入 space 中的应用程序?您可以使用 space 角色(space 开发人员、经理和审计员)进行控制。

  2. 您想如何管理 space?这将使您对如何构建组织有一些了解。组织权限允许操作员将管理委托给其他人(组织经理、审计员角色)。

  3. 您需要如何限制您的用户消耗的资源?即配额。您可以将配额应用于组织和 spaces。考虑您希望如何限制组可以执行的操作。

  4. 考虑 org/space 边界。您是否需要跨组织和 space 共享诸如服务之类的东西?有一些能力可以通过基金会来做到这一点,但要小心,因为个别服务经纪人也需要支持这一点。在撰写本文时,有些会,有些不会。那些不需要的将需要与必须不太方便的用户提供的服务共享。

    https://docs.cloudfoundry.org/devguide/services/sharing-instances.html

  5. 考虑是否需要进行计费或退款。按 org/space 执行此操作很有意义,因此您需要将其与您的操作方式保持一致 billing/charge-back.

我不建议在没有先考虑清楚的情况下采用其中一种策略,但这里有几个我见过的人们所做的例子。

  1. 在开发人员管理整个周期的团队中,我看到 orgs 用于对开发团队进行分组,spaces 用于对项目或应用程序进行分组。因此团队 A 可以访问组织 A,组织 A 有 spaces X、Y 和 Z 用于 App X、Y 和 Z。App X、Y 和 Z 将开发、测试、qa 和 prod 部署到同一个 space.

  2. 在具有更传统结构的公司中,开发团队将代码传递给运营团队,我通常会看到组织和 spaces 来促进这种分离。开发人员有自己的组织和 space 用于开发和测试。 Ops 有自己的组织和 spaces 用于生产。两者不混。

这方面也有变体,因此请再次考虑对您和您的公司有意义的事情。

希望对您有所帮助!