将网站部署到 Azure 和传统 IIS

2024-04-03

我目前使用旧版 ASP.NET Web 应用程序,未来的要求之一是它可以部署到 Windows Azure。

我想知道管理 Azure 和传统 IIS Web 服务器的部署有多困难。

Azure 似乎需要 Web 应用程序项目的特定自定义版本,以便在转换后可以将自定义 Web 应用程序部署到标准 IIS 实例。

EDIT:

它是一个 ASP.NET Web 应用程序而不是网站(将所有内容编译到一个 dll 中)

UPDATE:

最后,由于将应用程序转换为在 Azure 中工作所需的工作量以及 Azure 与其他云解决方案相比的成本,我们决定使用传统的云托管虚拟服务器。

感谢您提供的非常好的答案。


是否可以将应用程序几乎按原样部署到 Azure,很大程度上取决于应用程序的工作方式。 Azure 几乎要求您的应用程序是无状态的。如果它是一个普通的 Web 应用程序,仅将数据存储在会话或应用程序缓存中,并将数据仅保存到数据库中,那么您可以将其部署到 Azure。

如果您有像后台线程一样运行的有状态服务(无论如何这都是不好的),或者如果您将数据保存到文件系统(除了临时缓存之外),那么您可能会遇到问题。事实上,迁移到 Azure 时遇到的问题与迁移到任何多服务器负载平衡解决方案时遇到的问题实际上是一样的。需要注意的是永久存储。

如果您需要将数据存储在数据库以外的地方,那么您最好使用 Azure 的存储解决方案,该解决方案具有 API 和客户端库,用于存储二进制数据、键/值数据(他们称之为表,但实际上,它不是表)和队列。它们还具有透明的 blob-as-file-system 选项以实现兼容性。如果你想在你的应用程序中使用这些,并且在 Azure 外部使用,那么你需要在你的代码和支持 Azure 服务和标准本地服务的 Azure 客户端库之间编写一个额外的层。 Azure SDK 确实包含 Azure 服务的模拟器,但它们绝对不适合生产使用。

就Azure特定项目的机制而言,这实际上并没有那么困难。是的,您需要在解决方案中创建一个特定于 Azure 的项目来定义 Web 角色和部署的内容,但它将引用您现有的 Web 应用程序,而不是相反。您可以将 Azure Web 角色部署到 Azure,也可以继续正常并发地将现有应用程序部署到 IIS。

网站、Web 应用程序、MVC 实际上没有太大区别。实际上也不一定是.NET。可以是 PHP 或 Java 或任何您想放在 VM 上的内容。就 Azure 而言,一切都是一样的。

MS 喜欢将 Azure 作为平台即服务 (Paas) 解决方案推出,他们提供大量服务,您可以在其标准平台上运行应用程序,并将其与 Amazon AWS 进行对比,他们称之为基础设施即服务-服务(Iaas)“只是”一个虚拟机。然而,MS 实际上与 AWS 一样都是 IaaS 解决方案,甚至可能更重要。 AWS 和 Azure 之间的唯一区别是 AWS 允许您选择要在 VM 上安装的内容,而使用 Azure 时,您必须使用 Windows Server 2008 R2 作为 VM 的基础(但您可以自定义 VM 映像以在其上安装自定义软件)窗户)。通过 Azure 和 AWS,主机提供了额外的 PaaS 服务,您可以利用它们进行数据存储和消息路由。 AWS 还提供大量额外服务,例如视频流。

另请注意,使用 Azure(我认为还有 AWS),您甚至可以在非托管应用程序中使用它们提供的服务。如果您想从非 Azure 应用程序使用 Azure 的数据存储,您可以这样做,只需通过 HTTP REST 调用来获取/放置数据即可。您为数据中心和非数据中心托管的应用程序之间的数据输入/输出付费的唯一区别是,如果应用程序也在数据中心内,则该应用程序是免费的(只是数据输入/输出在数据中心内是免费的,您仍然拥有存储空间和交易费用)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将网站部署到 Azure 和传统 IIS 的相关文章

随机推荐

  • 类实例上元类的方法

    我想知道在元类上声明的方法会发生什么情况 我预计 如果您在元类上声明一个方法 它将最终成为一个类方法 但是 行为是不同的 例子 gt gt gt class A object classmethod def foo cls print fo
  • 目前Mono虚拟机的性能如何?

    网络上充斥着不同语言 编译器 虚拟机的各种性能测试 然而 几乎没有任何一个使用真实场景来测试性能 此外 在 Google 上搜索此类基准通常只会产生几年前的基准 因为这些基准有最多的时间来收集它们的链接 你们中有人真正了解不同虚拟机的当前性
  • 使用 antd 在组件中创建子菜单失败

    我正在使用 antd 3 5 4 我有一个包含用户管理项目的菜单 未登录时 菜单有一个带有登录页面链接的菜单项 登录后 菜单有一个子菜单 其中包含多个链接 包括注销 我只是对连接的用户进行简单的测试以显示链接或子菜单 当所有内容都在同一个文
  • 方案/球拍:画布操作

    1 正如标题所述 当我调整窗口大小时 我绘制的对象消失 但矩形保持原样 2 原点从左上角开始 但我希望它在左下角 3 除了绘图库之外 我找不到任何缩放功能 所以如果我希望实现这样的功能 一个选项是通过绘制更大的对象并刷新画布来 缩放 def
  • 使用 FileUpload 过滤文件扩展名

    我正在编写一个 ASP NET Web 应用程序 其中涉及使用FileUpload控制 此刻 这个特殊的FileUpload控件仅需要 zip 或 gz 文件类型 如果上传的文件类型不正确 则会向用户显示错误消息 该功能已经实现 我想要做的
  • Windows Phone 8.1 中的信标 - 没有可能性吗?

    首先 是的 我已经阅读了所有其他类似的问题 其次 我正在开发应用程序 WP 8 1 WinRT 它必须使用信标 我读了很多相关内容 我知道 如果不先配对 通常无法与 BLE 设备连接 但希望最后会破灭 所以我想问一下我有什么可能性 可以在代
  • 一次上传两个文件

    我正在尝试使用 codeigniters 上传类一次上传两个文件 两个文件字段 尽管提供了字段名称 codeigniter 仍会在第二个字段上产生错误 这是 codeigniter php 或 html 的限制 还是我只是错误地使用了该类
  • $concat mongodb 中的两个字段

    我有这两个集合 employees id NumberInt 0 name Max surname Power and loggableUser id NumberInt 0 employee NumberInt 1 现在我必须在以下查询中
  • 如何以递归方式将 React 组件渲染到自身中

    我有一个组件 即列表组件 列表组件可以渲染项目 通过组件ListItem 通过下面的内容可以轻松实现 import React from react import ListItem from list item list item clas
  • 如何使用 FastAPI 防止表单输入时页面重新加载

    我有一个使用 FastAPI 的简单程序 它将浮点值乘以 2 并将其显示在 HTML 中 该值通过 HTML 表单输入 我想知道如何获得动态显示的值 而无需在按 Enter 或按提交按钮时重新加载页面 以下是脚本 main py 和 dou
  • 在 C# 中用点和小数格式化数字[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我需要先 点 然后逗号 例如 1234567 这是一个数字或金钱的示例 我想要像 1 234 567 00 谁能给我答案 如果执行代码的计算
  • Gcc 卸载编译选项

    我正在尝试使用 Ubuntu 18 04 上的 gcc 10 CUDA 11 和此 CMakeLists txt 文件 或 OpenMP 版本 构建最简单的具有 GPU 卸载功能的 OpenMP 或 OpenACC C 程序 cmake m
  • 下载的php总是损坏

    我有一个用 PHP 编写的下载脚本 我的视图文件脚本链接到 ids 然后选择与该 ID 匹配的所有数据 然后使用该数据下载照片 我的照片在文件夹中重要吗 它被移动到一个文件夹 然后该目录被上传到MYSQL数据库 目前的代码现在允许一些文件完
  • Python3,与列表重新匹配

    我读到了这个 https stackoverflow com a 17090205 6426449 https stackoverflow com a 17090205 6426449 我制作了一个不能在 django 中的用户名上使用的列
  • 在 WSL (Ubuntu) 中安装适用于 python3 的 venv

    我正在尝试配置venv在带有 Ubuntu 的 Linux 的 Windows 子系统上 我尝试过的 1 安装venv通过pip pip3 准确地说 pip3 install venv 我收到以下错误 ERROR Could not fin
  • 我应该如何在 PHP 中实现延迟会话创建?

    默认情况下 PHP 的会话处理机制会设置会话 cookie 标头并存储会话 即使会话中没有数据也是如此 如果会话中没有设置数据 那么我不想要Set Cookie在响应中发送到客户端的标头 我不希望在服务器上存储空会话记录 如果数据添加到 S
  • 表达式 > 作为属性

    我正在尝试重构通用存储库的一些代码 该存储库传入一个过滤器对象 该过滤器对象将过滤数据以及页面 排序等 各传承Filter 例如 CustomerFilter 可以选择定义自己的表达式过滤器 该过滤器将由存储库中的基类应用 因此客户过滤器将
  • 如何在 Hibernate 中进行基于自定义查询的集合映射?

    我有一个对象被映射为一组对象 非常简单 然而 我真正想做的是为该映射设置一些标准 这是当前的映射
  • 尝试在空对象引用上调用虚拟方法“int java.lang.String.length()”[重复]

    这个问题在这里已经有答案了 所以我有带有选项卡的 Android 应用程序RecyclerView 当我运行我的应用程序时 它崩溃了 logcat java lang NullPointerException Attempt to invo
  • 将网站部署到 Azure 和传统 IIS

    我目前使用旧版 ASP NET Web 应用程序 未来的要求之一是它可以部署到 Windows Azure 我想知道管理 Azure 和传统 IIS Web 服务器的部署有多困难 Azure 似乎需要 Web 应用程序项目的特定自定义版本