"Azure Web 应用程序"和"Azure 应用服务"有什么区别?

33

我对Azure比较新,正在学习如何探索在Azure上发布网站的可能性,以便更轻松地完成AZ-204。

在Azure仪表板上,我可以创建“Azure Web应用程序”、“Azure应用程序服务”(不包括CI / CD和无服务器)。 enter image description here

这两者之间的区别是什么? 我最初认为Azure Web应用程序是基于代码的(与git连接),而“应用程序服务”的基础是Docker。

但对于这两个选项,当您转到下一步时,都可以选择是否发布代码或Docker容器:

enter image description here

有人能解释一下两者之间的区别吗?或者其中一个最重要的优点是什么?

我已经搜索了一段时间,但每次产品名称都不相同,我非常确定它仍然是同一产品。


1
技术上讲,Web App ServiceApp Service 的一部分。(只需查看 URL / 导航路径。)此外,当您创建 Web 应用时,它基本上会创建一个“应用服务计划”。 - brc-dd
你能在哪里找到创建“应用服务”的选项呢?市场上并没有这样的选项。当你在门户上搜索“应用服务”时,它会引导你到已经创建的应用服务,这些服务是在你创建Web应用程序或静态Web应用程序以及它们的变种(例如带有数据库 - SQL / PostgreSQL的机器人和容器)时创建的。如果您看到了创建链接,请在评论中提供App Service的创建链接。创建链接格式如下:https://portal.azure.com/#create/Microsoft.WebSite - brc-dd
1
简而言之 - 如果您创建了ASP.NET Core Web应用程序,请使用Web App(Microsoft.WebSite)。如果您创建了ASP.NET Core Web API,请使用API App(Microsoft.ApiApp)。两者都将为您创建一个应用服务计划。如果您的代码中没有特定于环境的内容并且不想编写Docker配置,则使用代码进行部署,否则如果您熟悉后者,则使用容器进行部署。 - brc-dd
现在我重新阅读了你的问题,你在仪表板上看到的是 Microsoft.WebSite(左侧)和 Microsoft.AppSvcLinux(右侧)。你的标题有误导性。它应该是“Web App Service”和“App Service - Web App for Containers”之间的区别是什么?”。 - brc-dd
我能找到的其中一个区别是,在正确的选项卡中,当您创建它时,默认情况下选择器将处于“Docker容器”上,并且禁用了“Windows”作为操作系统的选项。但是,您可以选择“代码”,然后选中“Windows”选项,再次选择“Docker容器”,它就会起作用 xD。 - brc-dd
显示剩余3条评论
5个回答

12

没有区别。引用文档:

这三种应用程序类型(API、Web、移动)之间的唯一区别是在 Azure 门户中使用它们的名称和图标。

幕后它一直在使用应用服务。如果您认为 WebApp 和 WebApp for Containers 是 AppService 的一部分,那么您实际上不需要为 WebApps 支付费用,而是需要为 AppService 计划支付费用!


2
我认为有一个误解,我不是在问API、Web和移动应用之间的区别,而是在问“应用服务”和“Azure Web应用程序”的区别。 - J4N
6
好的,但是这里为什么要有两个选项呢?即使在内部使用相同的组件,也必须存在一些差异吧? - J4N
7
目前没有区别,但以前有。Azure Web Apps(原名Azure Websites)不支持Linux和容器。然后微软计划包括它们,通过新的解决方案-Web App for Containers(内部为App Service Linux)来实现这一点。这在预览版中进行了一段时间,并于2017年9月正式发布。稍后他们尝试使用Windows容器。这在私人预览版中进行了一段时间。然后将所有三个选项合并到Azure Web App服务中。 - brc-dd
他们可能还没有从市场上移除它,因为某些企业许可证可以延长到3年。删除该功能可能会破坏他们的解决方案。虽然当您访问Web App for Containers的概述部分时,它会显示一个链接,将您重定向到尝试App Service(Web)。现在所有官方文档都使用“az webapp config container…”创建Azure Web App服务。 - brc-dd
1
@Sajeetharan,您介意在在线文档中添加引用该引语的参考资料吗? - Alberto De Caro
显示剩余2条评论

3
如果您前往Azure Web应用程序网站并单击“文档”选项卡,它将带您进入有关App Service概述的MS文档。此外,请查看MS文档选择适用于应用程序的Azure计算服务。这是一个决策流程图,用于托管您的应用程序代码。Azure Web应用程序不在决策树中。接下来,请查看以下子主题使用Azure CLI命令创建和部署Web应用程序服务。CLI命令如下:“az webapp up --name <your_app_name> --logs --launch-browser”。有点混乱,但如果您查看以下文档Azure CLI文档:Azure Web应用程序,它显示以下命令:

az staticwebapp - 管理静态应用程序。
az webapp - 管理Web应用程序。

最后,请查看以下MS文档:Azure App Service的CLI示例。这是一个用于创建Azure服务计划和应用程序服务的众多脚本列表。它们全部使用“az staticwebapp”或“az webapp”。因此,文档使用术语“Azure App Service”,但CLI命令则不使用。没有单独的MS产品用于Azure Web应用程序!


2

'Azure Web App'与'Azure App Service'

微软通过将这些名称和服务混合在一起,不断制造着困惑,这些名称和服务在微软及其Azure云平台内外交叉出现了许多定义。

Azure App Services是一种特定类型的Azure云服务,用于托管存储在其云平台上的Web应用程序和非Web应用程序类型。它包括托管Web应用程序、Web API和使用Http协议的其他在线应用程序。一旦托管在那里,所有这些都成为Azure的"应用程序"或"应用服务"。因为"服务"包括许多其他功能,如负载均衡、内存管理、安全性、CI/CD等,它变得不仅仅是一个服务应用程序,更像是对更大的云概念进行托管的定义或封装。当他们开始将其称为Web应用程序时,就会产生困惑

Azure Web Apps不是一项服务或应用程序,而是指在Azure应用服务下托管的HTTP应用程序的一个子类型。在微软的世界中,"web application"表示与观众共享网页的任何应用程序,而不是共享结构化数据作为API端点的Web API。
"Code"和"Container"类型的Web API是Azure App Service的另一种子类型,它控制着虚拟机或主机管理服务器和上传到该服务的代码的方式。许多人选择使用"code"来开发web应用程序,而使用容器来开发Web API以管理微服务,但是Azure允许您灵活地改变这些设计。

2

Web应用是App服务的一部分。

App服务有4种类型:

  1. Web应用 - 用于托管网站和Web应用程序(以前称为Azure网站)
  2. API应用 - 用于托管RESTful API
  3. 逻辑应用 - 用于业务流程自动化、系统集成和在云之间共享数据
  4. 移动应用 - 用于托管移动应用后端(以前由Azure移动服务提供)

0
Azure在完全托管的虚拟机集上运行应用服务,可以根据您的应用服务计划在专用或共享模式下运行。Web App用于托管网站和Web应用程序(以前称为Azure Websites),API App用于托管RESTful API。

1
不确定理解它们之间的区别?如果我有一个Asp.Net Core网站,就我所知,我可以将它们两者用作容器或代码,那么它们之间有什么区别?我应该在什么时候使用哪个? - J4N

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接