Azure 应用服务解决方案设计

已完成

Azure 应用服务是一个基于 HTTP 的服务,可用于生成和托管 Web 应用、后台作业、移动后端和 RESTful API。 可以使用所选编程语言,从 GitHub、Azure DevOps 或任何 Git 存储库生成自动部署。 应用服务提供自动缩放和高可用性。

有关 Azure 应用服务的注意事项

借助 Azure 应用服务,所有应用都具有共同优势。 这些优势使应用服务成为任何托管 Web 应用程序支持新工作负载和迁移数据的理想计算解决方案。

显示用于选择 Azure 应用服务以生成新工作负载并支持直接迁移的决策树的流程图。

  • Azure 应用服务是平台即服务 (PaaS) 环境。 你只需专注于网站开发和 API 逻辑。 Azure 将处理基础结构以运行和缩放 Web 应用。

  • 应用服务支持使用多种语言和框架进行开发,并提供具有安全终结点的集成部署和管理。

  • 应用服务提供具有高可用性的全球规模的内置负载均衡和流量管理。

  • 应用服务提供内置身份验证和授权功能(有时称为“简易身份验证”)。 只需编写极少量的代码甚至不编写任何代码即可将用户登录并访问数据。

连续部署

Azure 应用服务支持持续部署。 Azure DevOps 为开发人员提供支持团队计划工作、进行代码开发协作以及构建和部署应用程序的服务。 在持续部署代码时,请尽可能地为新的生产生成项目使用部署槽

图示显示使用 Azure 应用服务时用于开发、过渡、主要和生产环境的容器槽位。

选择标准应用服务计划层或更好的层级时,可以将应用部署到过渡环境、验证更改并执行性能测试。 准备就绪后,可以交换过渡槽和生产槽。 交换操作将根据生产规模所需触发必要的辅助角色实例。

Azure 应用服务成本

你需要为应用在处理请求时使用的 Azure 计算资源付费。 具体费用取决于你选择的 Azure 应用服务计划。 应用服务计划决定了为主机投入多少硬件。 计划指定是使用专用硬件还是共享硬件,以及预留的内存量。 可以为不同的应用使用不同的应用服务计划,并且可以随时纵向扩展和缩减计划。

使用 Azure 应用服务时的注意事项

让我们了解一下使用 Azure 应用服务的一些场景。 查看这些选项时,请考虑如何将 Azure 应用服务集成到 Tailwind Traders 基础结构中。

  • 考虑 Web 应用。 使用 ASP.NET、ASP.NET Core、Java、Ruby、Node.js、PHP 或 Python 通过应用服务创建 Web 应用。 你可以选择 Windows 或 Linux 作为主机操作系统。

  • 考虑 API 应用。 使用你选择的语言和框架生成类似于基于 REST 的 Web API 的 API 应用。 Azure 应用服务提供全面的 Swagger 支持,并且能够在 Azure 市场中打包和发布 API。 可以从任何 HTTP 或 HTTPS 客户端使用应用。

  • 考虑 WebJob。 使用应用服务 WebJob 功能运行程序或脚本。 程序示例包括 Java、PHP、Python 或 Node.js。 脚本示例包括 cmd、bat、PowerShell 或 Bash。 可对 WebJobs 进行计划,或通过触发器运行 WebJobs。 Web 作业通常用于作为应用程序逻辑的一部分运行后台任务。

  • 考虑移动应用。 练习使用 Azure 应用服务的移动应用功能来快速生成适用于 iOS 和 Android 应用的后端。 在移动应用端,应用服务提供了对本机 iOS 和 Android、Xamarin 以及 React 本机应用的 SDK 支持。 只需在 Azure 门户中执行几个步骤,便可以:

    • 将移动应用数据存储在基于云的 SQL 数据库中。
    • 针对常见的社交提供商对客户进行身份验证,如 MSA、Google、X 和 Facebook。
    • 发送推送通知。
    • 在 C# 或 Node.js 中执行自定义后端逻辑。
  • 考虑持续部署。 选择标准应用服务计划层或更好层级,以启用代码的持续部署。 将应用部署到过渡槽,并使用测试运行验证应用。 当应用准备好发布时,交换过渡槽位和生产槽位。 交换操作将根据生产规模所需预热必要的辅助角色实例,从而缩短故障时间。

  • 考虑身份验证和授权。 利用 Azure 应用服务中的内置身份验证功能。 无需任何语言、SDK、安全专业知识,甚至不需要任何代码即可使用 Web 应用或 API 中的功能。 可以与多个登录提供商集成,例如 Microsoft Entra ID、Facebook、Google 和 X。Azure Functions 提供与应用服务中相同的内置身份验证功能。

  • 考虑多个计划来降低成本。 可为不同的应用配置不同的 Azure 应用服务计划。 随时纵向扩展和缩减计划。 在免费应用服务计划中开始免费测试 Web 应用。 想要将自定义 DNS 名称添加到 Web 应用时,只需将计划纵向扩展到共享层即可。