Azure 应用服务、虚拟机、Service Fabric 和云服务的比较

2024-01-02 01:58

本文主要是介绍Azure 应用服务、虚拟机、Service Fabric 和云服务的比较,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • Azure 提供了几种托管网站的方式:Azure 应用服务、虚拟机、Service Fabric 和云服务。 本文可帮助你了解这几种方式,并针对 Web 应用程序做出正确的选择。

    Azure 应用服务是大多数 Web 应用的最佳选择。 部署和管理都已集成到平台,站点可以快速缩放以应对高流量负载,而内置的负载均衡和流量管理器可以实现高可用性。 可使用联机迁移工具将现有站点轻松迁移到 Azure 应用服务、使用 Web 应用程序库中的开源应用,还可使用所选框架和工具新建站点。 WebJobs 功能使得将后台作业处理添加到应用服务 Web 应用变得轻松。

    如果要创建新应用或重新编写现有应用以使用微服务体系结构Service Fabric 是不错的选择。 在共享计算机池上运行的应用可以从小规模开始,根据需要扩展为包含成百上千个计算机的大规模。 有状态服务可轻松地以一致且可靠的方式存储应用状态,而 Service Fabric 会自动管理服务分区、缩放和可用性。 Service Fabric 也支持具有 Open Web Interface for .NET (OWIN) 和 ASP.NET Core 的 WebAPI。 与应用服务相比,Service Fabric 也能更好地控制或直接访问基础结构。 可以远程登录服务器,或配置服务器启动任务。 云服务的控制和易用程度类似于 Service Fabric,但它现在是旧版服务,因此建议将 Service Fabric 用于新的开发。

    如果现有应用程序需要大幅修改才能在应用服务或 Service Fabric 中运行,可选择虚拟机来简化到云的迁移。 但相比于 Azure 应用服务和 Service Fabric,正确配置、保护和维护 VM 需要更多的时间和 IT 专业知识。 如果你考虑采用 Azure 虚拟机,请确保将修补、更新和管理 VM 环境所需的持续性维护工作纳入考虑。 Azure 虚拟机是服务架构 (IaaS),而应用服务和 Service Fabric 是平台即服务 (Paas)。

    功能比较

    下表比较了应用服务、云服务、虚拟机和 Service Fabric 的功能,帮助用户做出最佳选择。 若要了解每个选项的 SLA 的当前信息,请参阅 Azure 服务级别协议。

    功能应用服务(Web 应用)云服务(web 角色)虚拟机Service Fabric注释
    接近即时的部署X  X将应用程序或应用程序更新部署到云服务(或者创建 VM)至少需要几分钟;将应用程序部署到 Web 应用只需数秒钟。
    向上扩展到更大的计算机且无需重新部署X  X 
    Web 服务器实例共享内容和配置,这意味着进行扩展时无需重新部署或重新配置。X  X 
    多个部署环境(生产和过渡)XX XService Fabric 允许为应用创建多个环境,或者同时为应用部署不同的版本。
    自动操作系统更新管理XX  部分通过修补业务流程应用程序 (POA),将来完全通过。
    无缝平台切换(轻松地在 32 位和 64 位之间转移)XX   
    使用 GIT、FTP 部署代码X X  
    使用 Web 部署来部署代码X X 云服务支持使用 Web 部署将更新部署到单个角色实例。 但是,不能将其用于初始部署角色,并且如果将 Web 部署用于更新,则必须单独部署到角色的每个实例。 需要提供多个实例,才能针对生产环境获得云服务 SLA 资格。
    WebMatrix 支持X X  
    访问 Service Bus、存储空间、SQL 数据库之类的服务XXXX 
    托管多层体系结构的 web 或 web 服务层XXXX 
    托管多层体系结构的中间层XXXX应用服务 Web 应用可轻松托管 REST API 中间层,而 WebJobs 功能可托管后台处理作业。 可在专用网站中运行 WebJobs,实现层的独立可扩展性。
    集成的 MySQL-as-a-service 支持XX   
    支持 ASP.NET、经典 ASP、Node.js、PHP、PythonXXXXService Fabric 支持使用 ASP.NET 5 创建 Web 前端,或者也可按来宾可执行文件的形式部署任何类型的应用程序(Node.js、Java 等)。
    向外扩展到多个实例且无需重新部署XXXX虚拟机可以扩大到多个实例,但必须编写这些虚拟机上运行的服务,来处理向外扩展。必须配置负载均衡器以在计算机之间路由请求,并且请确保可用性集中有多个 VM 实例。
    支持 SSLXXXX对于应用服务 Web 应用,只有基本和标准模式支持自定义域名的 SSL。 若要了解如何结合使用 SSL 和 Web 应用,请参阅为 Azure 网站配置 SSL 证书。
    Visual Studio 集成XXXX 
    远程调试XXXX 
    使用 TFS 部署代码XXXX 
    使用 Azure 虚拟网络进行网络隔离XXXX另请参阅 Azure 网站的虚拟网络集成
    支持 Azure 流量管理器XXXX 
    集成的端点监视XXX  
    对服务器的远程桌面访问 XXX 
    安装任何自定义 MSI XXXService Fabric 可按来宾可执行文件的形式托管任何可执行文件,还可在 VM 上安装任意应用。
    能够定义/执行启动任务 XXX 
    可以侦听 ETW 事件 XXX 

    方案和建议

    以下是一些常见的应用程序方案,其中每个方案都包含有关最适合的 Azure Web 托管选项的建议。

    • 我需要一个具有后台处理的 Web 前端和一个数据库后端,用以运行与本地资产集成的业务应用程序。
    • 我需要一种可靠的方式来托管公司网站,既可以进行良好地扩展也能实现全国性覆盖。
    • 我具有在 Windows Server 2003 上运行的 IIS6 应用程序。
    • 我是小型企业所有者,我需要使用一种成本较低的方式来托管站点,同时也要兼顾将来的业务增长。
    • 我是 Web 或图形设计师,我想为客户设计和构建网站。
    • 我要将带有 Web 前端的多层应用程序迁移到云中。
    • 我的应用程序依赖高度自定义的 Windows 或 Linux 的环境,我想将其转移到云中。
    • 我的站点使用开放源代码软件,我希望在 Azure 中托管它。
    • 我有一个需要连接到公司网络的业务线应用程序。
    • 我想为移动客户端托管 REST API 或 web 服务。

    需要具有后台处理的 Web 前端和数据库后端,运行与本地资产集成的业务应用程序。

    Azure 应用服务是针对复杂业务应用程序的理想解决方案。 可以通过该网站开发应用,这些应用可以在负载均衡平台上自动缩放、使用 Active Directory 进行保护并连接到本地资源。 使用该网站,可以通过世界级门户和 API 轻松地管理这些应用,并且还能通过应用洞察工具深入了解客户使用这些应用的情况。 Webjobs 功能允许将后台进程和任务作为 Web 层的一部分运行,而混合连接和 VNET 功能则可实现轻松地重新连接到本地资源。 Azure 应用服务针对 Web 应用提供三个 9 的 SLA,且能够:

    • 在自愈性自动修补云平台上安全可靠地运行应用程序。
    • 跨数据中心的全国网络进行自动缩放。
    • 备份和还原,以进行灾难恢复。
    • 遵守 ISO、SOC2 和 PCI 的要求。
    • 与 Azure Active Directory 集成

    我需要一种可靠的方式来托管公司网站,既可以进行良好地扩展也能实现全国性覆盖。

    Azure 应用服务是托管公司网站的理想解决方案。 通过 Web 应用,可以轻松快速地缩放站点,满足整个数据中心全国网络的需求。它涵盖了本地范围,提供了容错和智能流量管理功能。 所有内容均位于提供世界级管理工具的平台上,让可以快速轻松地更深入了解站点运行状况和站点流量。 Azure 应用服务针对 Web 应用提供三个 9 的 SLA,且能够:

    • 在自愈性自动修补云平台上安全可靠地运行网站。
    • 跨数据中心的全国网络进行自动缩放。
    • 备份和还原,以进行灾难恢复。
    • 使用集成工具管理日志和流量。
    • 遵守 ISO、SOC2 和 PCI 的要求。
    • 与 Azure Active Directory 集成

    我具有在 Windows Server 2003 上运行的 IIS6 应用程序。

    Azure 应用服务可轻松避免在迁移较旧的 IIS6 应用程序时带来的基础结构成本。 Microsoft 已经创建易于使用的迁移工具和详细的迁移指南,可利用这些工具和指南检查兼容性,并确定需要进行的任何更改。 因为与 Visual Studio、TFS 和常见的 CMS 工具集成,所以能够更轻松地将 IIS6 应用程序直接部署到云中。 部署后,Azure 门户可以提供强大的管理工具,允许通过缩减规模管理成本,并根据需要扩展规模来满足业务要求。 使用迁移工具可以:

    • 轻松快速地将旧版 Windows Server 2003 Web 应用程序迁移到云中。
    • 选择在本地保留附加的 SQL 数据库,以创建混合应用程序。
    • 自动转移 SQL 数据库与旧的应用程序。

    我是小型企业所有者,我需要使用一种成本较低的方式来托管站点,同时也要兼顾将来的业务增长。

    Azure 应用服务是适合该情况的强大解决方案,原因是其可免费使用且随后可按需添加更多功能。 每个免费的 Web 应用都附带 Azure 提供的域 (your_company.chinacloudsites.cn),并且平台中包含集成的部署和管理工具,以及帮助用户轻松入门的应用程序库。 还有许多其他服务和扩展选项,让站点可以随着用户需求的增加而发展。 通过 Azure 应用服务,可以:

    • 从免费层开始,并根据需要向上扩展。
    • 使用应用程序库快速设置流行的 Web 应用程序,如 WordPress。
    • 根据需要向应用程序添加其他 Azure 服务和功能。
    • 使用 HTTPS 保护 Web 应用。

     备注

    应用服务免费和共享(预览)托管计划是基本层,与其他应用服务应用在相同的 Azure VM 上运行。 某些应用可能属于其他客户。 这些层仅旨在用于开发和测试目的。

    我是 Web 或图形设计师,我想为客户设计和构建网站

    对 Web 开发人员和设计师而言,Azure 应用服务可与各种框架和工具轻松集成(包括 Git 和 FTP 的部署支持),并可与 Visual Studio 和 SQL 数据库等工具和服务紧密集成。 通过应用服务,可以:

    • 将命令行工具用于自动化任务。
    • 使用流行的语言,如 .Net、PHP、Node.js 和 Python。
    • 选择三个不同的扩展级别,向上扩展到超高容量。
    • 与其他 Azure 服务(例如 SQL 数据库、服务总线和存储空间)或者来自 Azure 应用商店的合作伙伴产品(例如 MySQL 和 MongoDB)集成。
    • 与工具集成,例如 Visual Studio、Git、WebMatrix、WebDeploy、TFS 和 FTP。

    我要将带有 Web 前端的多层应用程序迁移到云中

    如果运行多层应用程序,如连接到数据库的 Web 服务器,Azure 应用服务则是一个不错的选择,它可以与 Azure SQL 数据库紧密集成。 还可以使用 WebJobs 功能运行后端进程。

    如果需要加强对服务器环境的控制,例如想要远程登录服务器或配置服务器启动任务,可以为一个或多个层选择 Service Fabric。

    如果想要使用自己的计算机映像,或者想要运行不能在 Service Fabric 中配置的服务器软件或服务,可以为一个或多个层选择虚拟机。

    我的应用程序依赖高度自定义的 Windows 或 Linux 的环境,我想将其转移到云中。

    如果应用程序需要对软件和操作系统进行复杂的安装或配置,虚拟机可能是最佳解决方案。 通过虚拟机,可以:

    • 使用虚拟机库从某个操作系统(如 Windows 或 Linux)开始着手,并针对用户的应用程序要求对其进行定制。
    • 创建并上传现有本地服务器的自定义映像,在 Azure 中的虚拟机上运行。

    我的站点使用开放源代码软件,我希望在 Azure 中托管它

    如果应用服务支持开放源框架,则会自动配置应用程序所需的语言和框架。 通过应用服务,可以:

    • 使用多种流行的开放源代码语言,如 .NET、PHP、Node.js 和 Python。
    • 安装 WordPress、Drupal、Umbraco、DNN 和许多其他第三方 Web 应用程序。
    • 迁移现有应用程序,或通过应用程序库创建新的应用程序。

    如果应用服务不支持开源框架,则可在其他某个 Azure Web 托管选项上运行该框架。 使用虚拟机,可以在计算机映像(基于 Windows 或 Linux)上安装和配置软件。

    我有一个需要连接到公司网络的业务线应用程序

    如果想要创建业务线应用程序,网站可能需要直接访问公司网络上的服务或数据。 可在应用服务、Service Fabric 和虚拟机上使用 Azure 虚拟网络服务来实现此目的。 可在应用服务上使用 VNet 集成功能,该功能使 Azure 应用程序能够像在公司网络上一样运行。

    我想为移动客户端托管 REST API 或 web 服务

    利用基于 HTTP 的 Web 服务,可以支持各种客户端,包括移动客户端。 如 ASP.NET Web API 的框架与 Visual Studio 集成,能够更加轻松地创建和使用 REST 服务。 这些服务来自 web 端点,因此可使用 Azure 上的任何 web 托管技巧支持此方案。 但应用服务托管 REST API 的理想选择。 通过应用服务,可以:

    • 快速创建移动应用或 API 应用,以便在 Azure 全国分布的某个数据中心内托管 HTTP Web 服务。
    • 迁移现有服务或创建新的服务。
    • 实现 SLA 的单个实例可用性,或者将可用性扩展到多台专用计算机。
    • 使用已发布的站点将 REST API 提供到任何 HTTP 客户端,包括移动客户端。

    后续步骤

    若要深入了解 3 个 Web 托管选项,请参阅 Azure 简介。

    若要开始使用为应用程序选择的选项,请参阅以下资源:

    • Azure 应用服务
    • Azure 云服务
    • Azure 虚拟机
    • Service Fabric

这篇关于Azure 应用服务、虚拟机、Service Fabric 和云服务的比较的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/561042

相关文章

springboot家政服务管理平台 LW +PPT+源码+讲解

3系统的可行性研究及需求分析 3.1可行性研究 3.1.1技术可行性分析 经过大学四年的学习,已经掌握了JAVA、Mysql数据库等方面的编程技巧和方法,对于这些技术该有的软硬件配置也是齐全的,能够满足开发的需要。 本家政服务管理平台采用的是Mysql作为数据库,可以绝对地保证用户数据的安全;可以与Mysql数据库进行无缝连接。 所以,家政服务管理平台在技术上是可以实施的。 3.1

比较学习难度:Adobe Illustrator、Photoshop和新兴在线设计平台

从入门设计开始,几乎没有人不知道 Adobe 公司两大设计软件:Adobe Illustrator和 Photoshop。虽然AI和PS很有名,有一定设计经验的设计师可以在早期探索和使用后大致了解AI和PS的区别,但似乎很少有人会系统地比较AI和PS。目前,设计软件功能多样,轻量级和网页设计软件已成为许多设计师的需求。对于初学者来说,一篇有针对性的AI和PS比较总结文章具有非常重要的指导意义。毕竟

Python几种建表方法运行时间的比较

建立一个表[0,1,2,3.......10n],下面几种方法都能实现,但是运行时间却截然不同哦 import time#方法一def test1(n):list=[]for i in range(n*10):list=list+[i]return list#方法二def test2(n):list=[]for i in range(n*10):list.append(i)#方法三d

微服务中RPC的强类型检查与HTTP的弱类型对比

在微服务架构中,服务间的通信是一个至关重要的环节。其中,远程过程调用(RPC)和HTTP是两种最常见的通信方式。虽然它们都能实现服务间的数据交换,但在类型检查方面,RPC的强类型检查和HTTP的弱类型之间有着显著的差异。本文将深入探讨这两种通信方式在类型检查方面的优缺点,以及它们对微服务架构的影响。 一、RPC的强类型检查 RPC的强类型检查是其核心优势之一。在RPC通信中,客户端和服务端都使

中国341城市生态系统服务价值数据集(2000-2020年)

生态系统服务反映了人类直接或者间接从自然生态系统中获得的各种惠益,对支撑和维持人类生存和福祉起着重要基础作用。目前针对全国城市尺度的生态系统服务价值的长期评估还相对较少。我们在Xie等(2017)的静态生态系统服务当量因子表基础上,选取净初级生产力,降水量,生物迁移阻力,土壤侵蚀度和道路密度五个变量,对生态系统供给服务、调节服务、支持服务和文化服务共4大类和11小类的当量因子进行了时空调整,计算了

SpringCloud - 微服务

1、微服务介绍         参考: 微服务百度百科 1.1 概念         微服务(或称微服务架构)是一种云原生架构方法,在单个应用中包含众多松散耦合且可单独部署的小型组件或服务。 这些服务通常拥有自己的技术栈,包括数据库和数据管理模型;通过一个REST API、事件流和消息代理组合彼此通信;以及按照业务能力进行组织,具有通常称为有界上下文的服务分隔线。         微服务特

大型网站架构演化(二)——应用服务和数据服务分离

随着网站业务的发展,一台服务器逐渐不能满足需求:越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足。这时就需要将应用和数据分离。应用和数据分离后整个网站使用三台服务器:应用服务器、文件服务器和数据库服务器,如图。              这三台服务器对硬件资源的要求各不相同: 应用服务器需要处理大量的业务逻辑,因此需要更快更强大的CPU;

Struts2与struts1与springmvc比较

最近做项目用到了struts2,之前一直是用struts1和springMVC。感觉到了struts2从很大程度上和这两个还是有很大区别的,所以今天搜集了些资料,给他们做一下对比。            Struts1官方已经停止更新,现在用的也比较少,这里主要讲一下struts2和struts1比较都有哪些不同和进步。Struts2可以说不是完全从struts1改进来的,因为

算法8—不通过比较,找出两个数的最大值

问题: 比如:给定两个值 5和10,不通过比较,直接找出最大值。 分析: 一旦涉及到不用比较找最大值,想都不用想,一般只能通过位运算来实现。  max = a - ((a-b)&((a-b)>>31)) 或者 max = ((a+b)+|a-b|)/2 如果找最小值,我们只需把两个值相加,减去max即可。

微服务(服务治理)

服务远程调用时存在的问题 注册中心原理 服务治理中的三个角色分别是什么? 服务提供者:暴露服务接口,供其它服务调用服务消费者:调用其它服务提供的接口注册中心:记录并监控微服务各实例状态,推送服务变更信息 消费者如何知道提供者的地址? 服务提供者会在启动时注册自己信息到注册中心,消费者可以从注册中心订阅和拉取服务信息 消费者如何得知服务状态变更? 服务提供者通过心