我有用.net核心编写的api,可以很容易地对其进行容器化,我想在azure应用程序服务中部署这些api,但是我无法决定是否应该对这些api进行容器化并将其部署为web应用程序中的容器或我可以直接将其部署为代码,这可以在什么基础上决定,我可以看到App服务为两种部署方式都提供了横向扩展能力,而其他因素(如连续部署)看起来也一样,因此,我应该如何决定采用哪种方法,或者在这种情况下真的没关系吗?
答案 0 :(得分:3)
在我看来,由于容器是流行语,并不意味着我们肯定需要使用它,除非我们有非常具体的理由。自从微服务架构开始流行以来,容器就赢得了声誉,在这种情况下,容器的运行非常出色。
将Web应用程序用于容器
您正在尝试打包需要和至关重要的依赖项(运行时,工具等)的应用程序,因此可以将其捆绑在一起。
您想成为不可知的云。容器是切换到其他云提供商的最佳方式无需更改任何代码即可使用AWS。
您想将旧/旧版代码移至云的升降场景。
将来,您打算将API用作微服务,这将要求该服务与诸如AKS(Azure Kubernetes服务)之类的编排服务一起使用。
某些高级情况下,您希望将容器作为无服务器运行以处理峰值 (例如,容器实例)
您非常了解容器调试,端口等以及它们如何工作。
在其他情况下,我宁愿坚持使用App Service作为代码部署。您需要知道容器是好的,但是如果您不知道如何处理它们,则可能会产生开销。