自从 MS 声称 here 以来,我一直致力于提升和转移应用程序以使用 Azure 文件存储。您可以在不更改代码的情况下进行迁移。然而,实际上,这似乎并不那么容易。我尝试将文件存储安装为驱动器号,但我发现虽然用户可以在计算机上手动执行此操作,但 Web 应用程序无权执行该操作。所以我最终使用了他们的cloud apis ,这似乎工作正常,但需要几天的时间和大量的测试来升级我们现有的应用程序以使用它。
我们遇到的另一个问题是,为了提供网址,我们必须创建一个 SAS or shared access signature ,这确实提供了额外的安全性,但也需要进行更多代码更改才能将其添加到应用程序需要向最终用户提供链接的任何地方。我还遇到了另一个链接不起作用的问题,这可能与缓存问题有关,现在似乎已通过 this hack 修复。 .
我想相信他们的说法,即您可以在不更改代码的情况下进行迁移,只需更改您的配置值以指向新的文件夹位置或其他内容,但我的经验是,这要么是彻头彻尾的谎言,要么无需更改代码即可使其工作,需要如此多的技术挖掘,以至于不值得继续沿着这条路努力。
所以我想问任何 Azure 专家或任何人,Azure 怎么可能声称你可以“在不更改代码的情况下迁移”???这似乎是一个谎言,给客户带来了意想不到的挑战,并设定了不切实际的期望。
感谢您的帮助!
最佳答案
微软声称“这是简单的直接迁移”(通常被理解为提升物理虚拟机并将其替换为虚拟机)是正确的。如果你刚刚这样做了,那就很容易了。但您不会利用 PaaS 的优势。
传统上,提升和转移意味着将所需的基础设施物理迁移到不同的位置。通常,当公司自己的大楼空间不足时,他们会将机架、路由器和服务器提升并转移到有空间的新数据中心。
但是,使用云模型时,您无法将它们物理地提升到虚拟空间中,因此我们的目的是在可能的情况下以类似的方式替换类似的东西。即-用类似的虚拟机替换所有服务器。
您所做的是云应用程序现代化工作或重新架构。这确实需要更多的工作,需要对平台和代码更改有更深入的了解,但也能获得更大的好处。 TechTarget have a simple article on the benefits of both.因为你误解了 lift and shift 的含义而称其为谎言,这有点粗暴。
进行任何类型的迁移时的一般经验法则 - 尽可能少地进行更改。因此,就您而言,首先要进行纯粹的提升和转变。让它稳定。然后进行云现代化工作。
关于c# - Azure 文件存储似乎无法正常工作 "without code changes"正如微软声称的那样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45436122/