Skip to main content

什么时候使用Azure App Service?

分类:  Azure入门 标签:  #Azure #基础 #Azure入门 #入门 发布于: 2023-06-15 14:10:52

我们前面学习了如何根据自己的业务需求是否选择Azure虚拟机,Azure虚拟机最大的好处就是用户基本是可以全权负责自己的各种资产,以及无需购置任何硬件设备,网络资源等等,但是坏处就是用户需要自己负责各种软件的更新和维护。

我们这一节来学习如何决定是否需要使用Azure App Service

Azure App Service作为Azure提供的计算服务的一种,向用户提供如下的应用场景支持:

  • 托管Web应用。
  • 通过Web job提供后台作业。
  • 托管移动应用的后端。
  • 直接支持rest api,或者通过APIM来支持各种rest api

当前Azure App Service几乎支持各种主流或者非主流的编程语言,同时后台架构上也支持基于WindowsIIS以及基于Linuxnginx,还支持容器的部署。用户无需管理基础结构,提供自动缩放和高可用性。支持从 GitHub、Azure DevOps 或任何 Git 存储库进行自动部署,以支持连续部署模型。另外需要注意的是Azure App Service是平台即服务的一种(PaaS), 使得用户只需要重点关注自己的应用逻辑,维护,运维交由Azure来自动完成。

Azure App Service的成本说明

Azure App Service作为计算服务的一种,同样也是出租资源为主的服务,用户按需付费。不过App Service根据用户选择的App Service Plan来规划实际上能使用到的资源,当然也会根据该Plan来付费。App Service Plan决定了会为用户投入多少硬件资源,确定是专用硬件,还是共享硬件,会为用户保留多少的内存量等等。

提示
一个App Service Plan下可以创建多个App Service应用,同一个App Service Plan下的应用共享该Plan规定的资源。

App Service支持的应用类型

App Service支持托管目前市面上最为常见的一些服务类型,包括:

  • Web应用
  • API应用
  • Web后台任务
  • 移动应用

同时App Service平台为用户处理大多数的基础架构问题:

  • 集成部署和管理到平台内。
  • 提供机制保护用户可以访问的终结点(EndPoint)
  • 提供缩放功能(甚至是自动缩放)快速的扩展站点用于处理高流量高负载。
  • 内置负载均衡和Traffic Manager提供高可用性。

上述所有的这些特性都托管在相同的基础结构中。这些特性使得App Service非常适合托管Web应用。

Web应用

应用服务包括对使用 ASP.NETASP.NET Core、Java、Ruby、Node.js、PHP 或 Python 托管 Web 应用的全面支持。 你可以选择 Windows 或 Linux 作为主机操作系统。

API应用

就像托管网站一样,可以使用自己选择的语言和框架生成基于 REST 的 Web API。 你将获得全面的 Swagger 支持,并且能够在 Azure 市场中打包和发布 API。 可以从任何基于 HTTP- 或 HTTPS 的客户端使用生成的应用。

Web后台任务

你可以使用 Web 作业功能,在与 Web 应用、API 应用或移动设备相同的上下文中运行程序(.exe、Java、PHP、Python 或 Node.js)或脚本(.cmd、.bat、PowerShell 或 Bash)。 可以对其进行计划,也可通过触发器运行。 Web 作业通常用于作为应用程序逻辑的一部分运行后台任务。

移动应用

使用应用服务的移动应用功能来快速生成适用于 iOS 和 Android 应用的后端。 只需在 Azure 门户中单击几次,便可以:

将移动应用数据存储在基于云的 SQL 数据库中。
针对常见的社交提供程序对客户进行身份验证,如 MSA、Google、Twitter 和 Facebook。
发送推送通知。
在 C# 或 Node.js 中执行自定义后端逻辑。
在移动应用端,提供了对本机 iOS 和 Android、Xamarin 以及 React 本机应用的 SDK 支持。