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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python学习】 - sklearn - PCA降维相关

1、PCA算法介绍 主成分分析(Principal Components Analysis),简称PCA,是一种数据降维技术,用于数据预处理。一般我们获取的原始数据维度都很高,比如1000个特征,在这1000个特征中可能包含了很多…

【Python学习】 - sklearn - 用于生成数据的make_blobs模块

函数原型: sklearn.datasets.make_blobs(n_samples100, n_features2, centers3, cluster_std1.0, center_box(-10.0, 10.0), shuffleTrue, random_stateNone) 参数含义: n_samples: int, optional (default100) The total number of points equally di…

微服务架构及幂等性

微服务架构 微服务架构是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。 和 微服务 相对应的,这…

【Python学习】 - Matplotlib二维绘图 - plt.matshow()和plt.imshow()区别对比

给定一个8*8的数据,用两种方式分别进行输出。 xx np.zeros((8,8),dtype np.uint8) xx[0,0] 13im Image.fromarray(xx) plt.imshow(im)plt.matshow(xx) plt.show() 输出: 得出结论: 首先我不知道为啥两个窗口是不一样大的。 其次发现图…

表达式主体定义

原文地址https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/statements-expressions-operators/expression-bodied-members 通过表达式主体定义,可采用非常简洁的可读形式提供成员的实现。 只要任何支持的成员(如方法或属性&#xff0…

【机器学习】 - 数据预处理之数据归一化(标准化)与实战分析,正则化

一、为什么要进行数据归一化 定义:把所有数据的特征都归到 [0,1] 之间 或 均值0方差1 的过程。原则:样本的所有特征,在特征空间中,对样本的距离产生的影响是同级的;问题:特征数字化后,由于取值…

Java中Lambda表达式与方法引用和构造器引用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/cjhc666/article/details/54948909 方法引用: 首先看 Timer t new Timer(1000, System.…

【基于Python】 - 人工智能机器学习深度学习数据分析 - 常见问题,常用的套路与操作(持续更新)

20200221; 1.做分类问题的时候,给定你标签,你想知道每一类标签的出现频数,可以使用这个函数:np.bincount()。 如果想分析一下数据样本是否均衡的时候,可以考虑这种操作,代码十分简明。 2. 当…

Entity Framework 简介

转贴:链接https://www.cnblogs.com/davidzhou/p/5348637.html 侵删,谢谢 第一篇:Entity Framework 简介 先从ORM说起吧,很多年前,由于.NET的开源组件不像现在这样发达,更别说一个开源的ORM框架&#xff0…

关于C#中的“?”

1. 可空类型修饰符(T?) 强类型语言中引用类型可以为空,如: string strnull;而你若是定义一个值类型为空,则是会报错的。 然而,在处理数据库和其他包含可能未赋值的元素的数据类型时,我们希望…

【Python学习】 - pyecharts包 - 地图可视化

安装: https://pan.baidu.com/s/1vAlSjVbHt0EDJY6C_38oEA 提取码:t9be 在这个链接中下载对应的.whl文件,放到下图所示的目录中。 然后打开anaconda prompt 找到对应的目录,输入: pip install pyecharts-0.1.9.4-py…

【Python学习】 - anaconda中spyder的常用快捷键总结

熟练spyder中的一些快捷键后,能极大提升code效率。 这里列出常用的快捷键。(可以在spyder导航栏Tools-Preferences-Keyboard shortcut中查看有所有的快捷键) Tab/ShiftTab:代码缩进/撤销代码缩进 Ctrl1:注释/撤销注释 Ctrl4/5:块注释/撤销块…

【机器学习】 - 关于图像质量评价IQA(Image Quality Assessment)

图像质量评价(Image Quality Assessment,IQA)是图像处理中的基本技术之一,主要通过对图像进行特性分析研究,然后评估出图像优劣(图像失真程度)。 主要的目的是使用合适的评价指标,使得评价结果…

【机器学习】 - CNN

什么是卷积神经网络,它为何重要? 卷积神经网络(也称作 ConvNets 或 CNN)是神经网络的一种,它在图像识别和分类等领域已被证明非常有效。 卷积神经网络除了为机器人和自动驾驶汽车的视觉助力之外,还可以成功…

wcf wpf mfc 区别

wcf:windows communication foundation 是微软将众多通信技术集成到一起的一个分布式通信开发框架。比如.net remoting、web service、msmq等。wpf:windows platform foundation 是新型的开发windows桌面应用的框架,mfc-winform-wpf ,是这样的一个升级路…

sharepoint服务器安装已安装netframework4.5,仍提示未安装

安装sharepoint2013服务器,明明安装已安装.net framework4.5,却提示未安装,要求安装 下载附件,解压缩,替换掉sharepoint2013里面的dll文件,成功。 另外,安装SharePoint Server,本机…

【机器学习】 - 关于合适用均方误差(MSE)何时用交叉熵(cross-entropy)

分类问题用交叉熵,回归问题用均方误差。 至于原因,可以看看它们的函数式,主要是两种损失函数对分类和回归结果误差的衡量的方式不同。比如,交叉熵,在分类时(热编码),如果分类正确&a…

Asp.Net中WebForm与MVC,Web API模式对比

webform,web mvc和web api都是asp.net官方的三套框架,想对比下三者的关系,查了下资料,web api跟web mvc基本同属一脉,只是mvc多了一个视图渲染,网上有些博客介绍了webform和mvc底层源码实现的不同&#xff…

【Python学习】 - 使用PIL, cv2, keras.preprocessing, scipy.imageio, matplotlib.image, skimage读取和保存图像的方法

python中图像处理相关库有很多,这里简单介绍PIL、cv2、scipy.imageio 、matplotlib.image、skimage等常用库,其中PIL库使用最方便,cv2库功能最强大。 PIL:Python Imaging Library python安装:pip install Pillow 这里…

sharepoint 到底是什么

1、SharePoint能做什么,以前我们的开发流程不外乎几个步骤:需求分析->建表->开发->测试->实施,那么请问SharePoint能开发基于数据表增删改操作的项目吗? 能做什么这个问题比较宽泛,不太容易回答。 SharePo…