azure App 服务部署为代码还是容器?
Posted
技术标签:
【中文标题】azure App 服务部署为代码还是容器?【英文标题】:azure App service deploy as code or container? 【发布时间】:2019-06-14 02:14:09 【问题描述】:我有用 asp .net core 编写的 api,可以轻松容器化,我想将这些 api 部署在 azure 应用服务中,但我无法决定是否应该将这些 api 容器化并部署为 web 应用中的容器或我可以直接部署为代码,在什么基础上可以决定我看到应用服务为两种部署方式和其他因素(如持续部署)提供横向扩展能力也看起来相同,那么我应该如何决定采用哪种方法,或者它在这种情况下真的没关系吗?
【问题讨论】:
【参考方案1】:在我看来,容器是流行语并不意味着我们一定需要使用它,除非我们有非常具体的理由。自从微服务架构变得流行之后,容器已经获得了声誉,在这种情况下它工作得很好。
在
时使用Web App for Containers您正在尝试打包依赖项(运行时、工具等)是必需且关键的应用程序,因此您可以将它们捆绑在一起。
您想成为云不可知论者。容器是切换到其他云提供商的最佳方式,例如AWS 如果您必须不进行任何代码更改。
您希望将旧代码/遗留代码迁移到云端的直接迁移方案。
在未来的某个时候,您打算将 API 用作微服务,这需要将服务与 AKS(Azure Kubernetes 服务)等编排服务一起使用。
您希望将容器作为无服务器运行以处理峰值的一些高级案例 (例如容器实例)
您非常了解容器调试、端口等以及它们的工作原理。
在任何其他情况下,我宁愿坚持应用服务作为代码部署。您需要知道容器是好的,但如果您不知道如何处理它们,这可能是开销。
【讨论】:
值得一提的是,容器并不是云提供商或其他不同环境之间可移植性的灵丹妙药。使用 DNS 等服务或更明显的方式(例如对象存储)时,可能会发生微妙的锁定。以上是关于azure App 服务部署为代码还是容器?的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Azure Web App 上为来自 DockerHub 的容器部署 Windows 容器