一位朋友有一个使用 ColdFusion 和 MySQL 开发的网站,由于流量迅速增加,他正在寻找更具成本效益的托管服务。我想到了 Azure。
我自己没有使用过 Azure,但是我相信可以通过 RDP 在托管的虚拟机中设置并与 Web 服务器交互?
我很好奇 ColdFusion 是否可以安装在托管的 Azure VM 中。此外,是否必须对网站进行调整才能在 Azure SQL 上运行,或者是否可以继续使用 MySQL?
谢谢。
答案1
新发布的 Azure VM 角色确实允许您以任何您喜欢的方式部署配置的 Windows VM,并且您可以通过 RDP 连接到该 VM,因此从这个意义上来说,您可以这样做。
但是,Azure VM 与普通的 Hyper-V 或 VMWare VM 确实存在一些差异。您不能直接在 Azure 中生成新的 VM,然后通过 RDP 进入它并按您想要的方式配置它。相反,使用 Azure,您可以在自己的 Hyper-V 服务器上创建 VM 并按您想要的方式配置它,然后配置一个黄金映像,将其上传到 Azure 并部署到您的 VM。在任何时候,Azure 都可以关闭您的 VM 并从您的黄金映像创建一个新的 VM。因此,您需要首先能够在本地按您想要的方式创建这个黄金 VM。
还有一个额外的复杂性,即与 Web 和 Worker 角色不同,VM 角色不是由 MS 管理,而是由您管理,因此您需要自己应用任何更新补丁等。这又意味着您不仅需要更新正在运行的 VM,还需要更新黄金映像。
最后,您无法真正在虚拟机上存储任何数据,因为 MS 不保证这些数据的安全,如果您的虚拟机从主映像重新创建,您得到的只是映像上的内容。因此,您需要将所有数据存储在类似 Azure 数据库中。
答案2
更新后的答案:Azure 虚拟机可以托管 Cold Fusion。与(现已停用的)VM 角色不同,虚拟机是在云中创建的。作为基准,您可以从多种 Linux 和 Windows 变体中进行选择,然后从那里开始构建。
一旦您的虚拟机按照您想要的方式设置好,您就可以对其进行映像处理,并将其放在您的虚拟机库中供您使用。
Azure 虚拟机的一个优点是其按分钟定价的模式,您可以在一小时内的任何时间停止您的虚拟机 - 而不是四舍五入。
有关虚拟机的更多信息:这里。
补充一点:没有必要从 MySQL 转移到 SQL 数据库(除非你想)。MySQL 在 Azure 中运行没有问题,无论是直接在虚拟机中还是通过托管合作伙伴(通过门户中的市场)。
答案3
只是想指出 Sam。如果你想托管 ColdFusion,我会选择 AWS。使用 Azure,你将支付更多费用,并且对 IP、路由、DNS 和其他需求的控制会大大减少。此外,你在 Azure 中对操作系统的控制也更少。我有点喜欢 Azure,但如果你不是 100% 的 .NET 堆栈,那么它就不是最好的主意。
使用 AWS(可能还有其他一些选项)可以让您以大约 2/3 的成本获得更多控制权(直接控制图像)。您需要的实例越多,您知道需要它们的时间就越多,您可以获得预留实例,其成本仅为 Azure 实例成本的 1/3。
至于存储,任何实例都是易失性的,这意味着您需要使用托管存储或分布式关系数据库选项,例如 AWS 的 RDS 或 Microsoft 的 SQL Azure。两种解决方案都很好,具体取决于 ColdFusion 服务所需的存储空间和计算能力。
如果您有需要关注的 .NET 应用程序,位于 ColdFusion 或其他程序上,并且想要进行 Azure 部署(即部署到 Web 角色或直接部署到服务角色),那么您可能想要使用 Azure。但我怀疑您是否会以合理的价格尝试配置 ColdFusion 以在 Azure 上使用。
我的快速建议是:
A。停止使用 ColdFusion,迁移到其他解决方案,并采用更具成本意识的架构选项(即更面向 SQL Azure + ASP.NET 的解决方案)或
B.使用 AWS 并通过 ColdFusion 按原样托管解决方案。