我有一个项目,我计划将 Web 应用程序作为 Azure 网站启动,然后将其迁移到 Azure 云服务(也称为托管服务)(如果需要作为扩展策略)。
做出这个决定是因为我了解到 Azure 网站的开发更加简单、快速,几乎不需要 Azure 特定的配置或代码。因此,快速而简单地开始是该项目的一个很好的起点。
但是,这对您来说是一个好的起点吗? 将 Azure 网站迁移到 Azure 云服务与将普通 ASP.NET 网站迁移到 Azure 云服务相同吗? 您会从头开始使用 Azure 云服务吗?如果是,为什么?
感谢您的宝贵时间。
最佳答案
这两种部署模型都有好处,最终取决于您想要实现的目标以及应用程序的成功。
下面我概述了每种模型的优缺点,以确保您为您的应用程序目标做出正确的选择。
Windows Azure 网站
您已经正确认识到 Windows Azure 网站是应用程序的一个很好的起点,但是您也可以认为网站确实为许多解决方案提供了足够的可扩展性。
优点
- 10 个免费网站
预览期间 [ Free for 12 months ]罢工> - 轻松部署(使用 Git、TFS、Web 部署或 FTP)
- Quick Scalability (您可以迁移到自己的专用集群[又名
保留标准]) - 简单开发(支持经典 ASP、ASP.NET、Node.js、Python 和 PHP)
- 持久的环境(大多数人都习惯了)
缺点
自定义域不支持 SSL预览版(目前没有 SLA)
Windows Azure 云服务
云服务(以前称为托管服务)绝对是 Web 应用程序 future 的愿景。它在构建时考虑到了弹性,通过扩展以满足需求,并在流量减慢时回拨容量,从而使应用程序的成本保持在可承受的范围内。
优点
- 增强对应用成本的控制(如果架构正确)
- 灵 active (您可以完全控制环境)
- SSL 支持
- 与语言无关
- 与 Web 服务器无关(尽管默认情况下 IIS 可用)
- 服务器自动管理
缺点
- 应该仔细考虑架构
- 部署时间较慢(减慢开发周期)
可移植性需要考虑的事项
上面的内容可能足以让您规划应用程序的近期 future ,并且您很可能希望在未来考虑云服务(从长远来看,它更适合许多应用程序场景)。
以下是有助于网站与云服务之间可移植性的事项列表:
开始考虑无状态
Windows Azure 网站非常好,因为它是一个持久环境,这意味着您可以将 session 状态和 Assets 等内容存储到磁盘。
虽然这是一个很好的功能,但如果您的最终目标是使用云服务,最好开始规划无状态应用程序。您可以采取以下一些措施来开始思考无状态:
- 不要依赖 session 状态
- 如果您需要,请制定一项策略以使其扩展(缓存服务、SQL 或存储)
- 使用存储服务
- 静态 HTML、CSS、JavaScript 和图像等资源最好放置在存储中
- 避免网站上出现额外带宽(可能会以更低的成本保持共享时间更长)
- 可以启用 CDN,为国际市场提供更好的体验
- 应用程序迁移到云服务时更容易更新网络 Assets
- 存储用户内容
- 如果您的应用程序已存储到存储服务,则将来迁移到云服务时可以减少一次代码修改。
- 静态 HTML、CSS、JavaScript 和图像等资源最好放置在存储中
- 不要依赖 session 状态
轻松发现数据中的模式
云服务的好处是它使您能够通过仅扩展需要扩展的内容来降低成本。开始识别规模单位的过程,即如何对数据库或存储中的表进行分区。
关于windows - 将 Azure 网站迁移到 Azure 云服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11681488/