在FutureStack错过了我们的大消息?在我们的圆润博客中阅读有关它的一切。 现在读它

3往期迁移到云端的停机策略

6分钟阅读

移动数据是云迁移的最棘手的部分之一。在迁移过程中,数据的位置可能对应用程序的性能产生重大影响。如果您没有在使用数据迁移服务的同时迁移数据,则您需要在您的内部部署和云数据中心之间访问数据,这肯定会导致延迟和吞吐量问题。

另外,在数据传输期间,保持数据完整,同步,自我一致需要紧密的相关性或更糟糕的应用程序停机。前者可以在技术上挑战您的迁移,但后者对您的整体业务可能是不可接受的。

移动数据和使用数据同时使用数据的应用程序是使应用程序性能可接受的必要条件。尽管如此,决定如何以及何时迁移数据相对于服务,是一个复杂的问题。经常公司将依靠一个专业知识迁移架构师,这是一个角色可以大大促进任何云迁移的成功。

不要错过:规划云采用策略的新遗物指南

无论您是否拥有一个员工云架构师,都有三种主要策略用于将应用程序数据迁移到云:

  1. 离线复制迁移
  2. Master / Read副本交换机迁移
  3. 主人/主迁移

It doesn’t matter if you’re migrating an SQL database, a noSQL database, or simply raw data files—each migration method requires a different amount of effort, has a different impact on your application’s availability, and presents a different risk profile for your business. As you’ll see, the three strategies are fairly similar, but the differences are in the details.

策略1:离线复制迁移

离线复制迁移是最简单的方法。延迟您的内部内部应用程序,将数据从内部部署数据库复制到新云数据库,然后将您的应用程序带回云中。

脱机副本迁移简单,简单,安全,但您必须将应用程序脱机脱机以执行它。如果您的数据集非常大,您的申请可能会在很大一段时间内离线,这无疑会影响您的客户和业务。

对于大多数应用程序,脱机复制迁移所需的停机量通常是不可接受的。但如果您的业务可以容忍某些停机时间,您的数据集足够小,您应该考虑此方法。这是将数据迁移到云的最简单,最昂贵的和最小危险的方法。

策略2:主/阅读副本交换机迁移

主/读副本交换机迁移的目标是减少应用程序停机,而不会显着使数据迁移自身复杂化。

对于此类迁移,您将从您的上提下数据中心运行的数据库的主版本开始。然后,您可以在云中设置数据库的读取副本副本,以一种方式将数据同步到您的内部前部门的主机到您的读取副本。此时,您仍然使所有数据更新和更改为内部部署主站,并且主设备将这些更改与基于云的读取副本同步。主副本模型在大多数数据库系统中很常见。

即使在云中迁移和运行后,您也将继续对内部部署主人进行数据写入。在一些预定的时间点,您将“切换”并交换主/读副本角色。云数据库成为主站,内部部署数据库成为读取的副本。您同时将所有写入访问从您的内部部署数据库移动到云数据库。

在切换期间,您需要短暂的停机时间,但停机时间明显低于使用离线复制方法所需的时间。

但是,停机时间是停机时间,因此您需要准确评估您的业务可以处理的内容。

策略3:硕士/主迁移

这是三个数据移民策略最复杂的,具有最大的风险潜力。但是,如果正确实现它,您可以完成数据迁移没有任何应用程序停机时间任何。

在此方法中,您可以在云中创建一个副本的内部部署数据库主机,并在两个大师之间设置双向同步,将来自内部部署的所有数据同步到云,从云到在线。基本上,您留下了典型的多主数据库配置。

设置两个数据库后,可以从内部部署数据库或云数据库中读取和写入数据,两者都将保持同步。这将允许您独立移动您的应用程序和服务,无需担心您的数据。

事实上,为了更好地控制您的迁移,您可以在云端和云中运行应用程序的实例,并将您的应用程序的流量移动到云中而无任何停机。如果出现问题,则可以在解决问题的情况下重新回滚到数据库的内部内部版本的迁移和重定向流量。

在完成迁移时,只需关闭您的内部部署主机并使用云主站作为数据库。

但是,重要的是要注意,这种方法并非复杂。设置多主数据库是非常复杂的,并且具有偏斜数据的风险和其他不合时宜的结果。例如,如果您在两个主人中同时更新相同的数据,会发生什么?或者如果您尝试在对另一个主站的更新之前从一个主机读取数据,或者该数据如何同步数据?

因此,如果您的应用程序的数据访问模式和数据管理策略可以支持它,则此模型仅适用。您还需要特定于应用程序的同步和同步解决例程来处理与其产生的同步相关问题。

如果您的应用程序,数据和业务可以处理此迁移方法,请考虑自己幸运并使用它。这是三种策略中最干净和最容易的。

减轻迁移风险

任何数据迁移都有一些风险,尤其是数据损坏的风险。迁移正在进行中,您的数据最为危险;SWIFT并确定迁移的执行是至关重要的。在完成过程之前不要停止迁移,或者您已完全退回。永远不要停止半程迁移的数据中途的迁移对任何人都没有用。

在迁移极大的数据集时,数据损坏的风险尤为高。离线数据复制和传输工具如AWS雪球可以帮助管理大量数据的迁移,但它们无需在迁移期间帮助您的应用程序的数据使用模式。即使您使用雪球等传输设备,您仍然需要使用上述迁移策略之一。

正如所有迁移都是如此,如果您无法看到应用程序在迁移之前,期间和之后,您将不知道您是否遇到问题。只有在您了解应用程序如何响应迁移过程中的各个步骤,才能保持应用程序可用性,并保持数据安全和安全。

因此,在与新的遗物平台迁移的各个方面监视您的应用程序,包括新遗物APM新的遗物基础设施,将有助于保持您的应用程序安全和安全,以及您的数据无损坏。这对于您的迁移的所有方面都至关重要,而不仅仅是您的数据迁移。