我应该如何组织具有多个Azure功能的解决方案?

Den*_*ail 24 azure azure-functions

在哪里可以找到有关组织具有多个Azure功能的Visual Studio解决方案的指导?具体来说,该项目应该如何组织?

单个Azure功能驻留在单个类文件中.我想每个函数都可以是它自己的类文件,都存储在一个项目中.但这是最佳解决方案还是由于项目组织/解决方案组织不当而面临未来的复杂风险?

Gar*_*son 27

MS Azure团队可能会有更好的答案,但到目前为止这对我们有用.

  • 我们有几个功能应用程序,每个都在他们自己的项目(和解决方案)中.
  • 在这些功能应用程序中,有些只有一个功能,有些功能在每个类/文件中都有多个功能.
  • 我们有多个功能,因为这些功能都与我们系统的特定功能区相关.因此,它们协同工作,对我们来说,维护和部署它们是有意义的.
  • 其他功能应用程序是独立的,仅包含执行与任何其他功能无关的作业的单个功能.例如,我们有一个计时器驱动的功能,可以处理一些数字并根据需要发送推送通知.
  • 以这种方式对功能进行分组(到目前为止)对我们来说是有意义的,因为它使我们在保持部署相对简单和能够独立扩展"组"之间取得平衡.

无论如何,到目前为止,这已经证明对我们的项目已经足够好了,但我有兴趣看看是否有更好的方法.

  • 如果将多个 Azure Functions 放在单个 git 存储库中,并在新代码提交到目标分支时使用自动 CI/CD 进行部署,则所有封闭的函数都会同时更新。如果使用 Github 帐户的私有存储库数量有限,您可能不需要按功能存储的解决方案。但恕我直言,最好根据回答者建议的将类似功能(具有类似环境变量或秘密)分组在一起进行组织,并考虑到由于部署而导致的关键功能停机时间的最小化。 (3认同)
  • 我不清楚您回答的一件事-所有这些功能应用程序(在单独的项目/解决方案中)是否都发布到了相同的Azure Functions实例?还是每个解决方案都有自己的Azure Functions实例? (2认同)
  • 嗨,Garth:如果您的所有功能都在一个存储库中 - 如果只有一个功能发生变化,您如何单独部署它们?或者当整个存储库中的任何代码发生更改时,它们都会通过 CI/CD 进行部署吗? (2认同)

归档时间:

查看次数:

6130 次

最近记录:

8 年,4 月 前