你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
将本地数据解决方案扩展到云
当组织将工作负荷和数据转移到云后,其本地数据中心通常可继续发挥重要作用。 术语“混合云”是指公有云与本地数据中心的组合,可以创建跨越两者的集成式 IT 环境。 有些组织使用混合云作为一种途径,在特定的一段时间内将整个数据中心迁移到云中。 还有一些组织使用云服务来扩展其现有的本地基础结构。
本文介绍管理混合云解决方案中的数据时的注意事项和最佳做法。
何时使用混合解决方案
对于以下情况,可考虑使用混合解决方案:
- 需要采取某种转换策略,在较长时间内逐步迁移到纯云原生解决方案
- 法规或政策不允许将特定的数据或工作负载转移到云中
- 为实现灾难恢复和容错,需要在本地与云环境之间复制数据和服务
- 为了减少本地数据中心与远程位置之间的延迟,需要将体系结构的一部分托管在 Azure 中
挑战
建立一致的环境以满足安全、管理和开发需求,并避免重复工作
在本地与云环境之间创建可靠、低延迟且安全的数据连接
复制数据并修改应用程序和工具,以便在每个环境中使用正确的数据存储
保护并加密在云中托管、但要从本地系统访问的数据,反之亦然
本地数据存储
本地数据存储包括数据库和文件。 将这些数据存储保留在本地有几个原因。 法规或政策可能不允许将特定的数据或工作负载转移到云中。 如果有数据主权、隐私或安全方面的顾虑,可能更适合将数据保留在本地。 在迁移期间,可将某些数据保留在尚未迁移的应用程序本地。
将应用程序数据放在公有云中的注意事项包括:
成本。 Azure 中的存储成本可能比在本地数据中心维护类似特征的存储的成本要低得多。 许多公司投资购置了高端 SAN,因此,在现有硬件老旧之前,这种成本优势可能不会达到极致。
弹性缩放。 规划和管理本地环境中数据容量的增长可能有一定的难度,尤其是数据增长难以预测时。 这些应用程序可以利用按需容量,以及云中几乎没有极限的存储空间。 对于由大小相对稳定的数据集构成的应用程序而言,不太需要考虑这个因素。
灾难恢复。 Azure 中存储的数据可以在一个 Azure 区域中以及跨地理区域自动复制。 在混合环境中,可以使用相同的技术在本地与基于云的数据存储之间复制。
将数据存储扩展到云
可以采用多种做法将本地数据存储扩展到云。 一种做法是创建本地副本和云副本。 此方法有助于实现较高程度的容错,但可能需要对应用程序进行更改,以便在故障转移时能够连接到相应的数据存储。
另一种做法是将部分数据转移到云存储,同时,将较新的或者访问较频繁的数据保留在本地。 这种方法可以提高长期存储的经济效率,同时可以减少操作数据集,从而改善数据访问响应时间。
第三种做法是将所有数据保留在本地,并使用云计算来托管应用程序。 通过此选项,可将应用程序托管在云中,并通过安全连接将其连接到本地数据存储。
Azure Stack
对于整个混合云解决方案,请考虑使用 Azure Stack。 Azure Stack 是一种混合云平台,通过它可从数据中心提供 Azure 服务。 此解决方案有助于保持本地与 Azure 系统之间的一致性,因为可以使用相同的工具,且不需要更改代码。
Azure 和 Azure Stack 适用于以下用例:
边缘解决方案和断开连接的解决方案。 在 Azure Stack 本地处理数据,然后在 Azure 中聚合以作进一步分析,并在两者之间使用共同的应用程序逻辑,以此满足延迟和连接要求。
满足各种法规要求的云应用程序。 在 Azure 中开发和部署应用程序,使用 Azure Stack 在本地灵活部署相同的应用程序,以满足法规或政策要求。
本地云应用程序模型。 使用 Azure 更新和扩展现有应用程序,或构建新应用程序。 在云中的 Azure 与本地 Azure Stack 之间使用一致的 DevOps 流程。
SQL Server 数据存储
如果在本地运行 SQL Server,可以将 Azure Blob 存储用于备份和还原服务。 有关详细信息,请参阅使用 Microsoft Azure Blob 存储服务执行 SQL Server 备份和还原。 此功能提供无限的场外存储,并可以在本地运行的 SQL Server 与 Azure 中的虚拟机 (VM) 上运行的 SQL Server 之间共享相同的备份。
Azure SQL 数据库是托管的关系数据库即服务。 由于 SQL 数据库使用 Microsoft SQL Server 引擎,因此应用程序可以使用这两种技术以相同的方式访问数据。 SQL 数据库还能以有利的方式与 SQL Server 相结合。 例如,应用程序可以通过 SQL Server Stretch Database 功能访问 SQL Server 数据库中的单个表,同时将该表的部分或所有行存储在 SQL 数据库中。 此技术可自动将定义的一段时间内未访问过的数据转移到云中。 读取此数据的应用程序并不知道有任何数据已转移到云中。
如果需要让数据保持同步,将数据存储保留在本地和云中可能有难度。 要解决此难题,可以使用 SQL 数据同步这项基于 SQL 数据库的服务,它可以跨多个 Azure SQL 数据库和 SQL Server 实例双向同步选定的数据。 尽管使用数据同步可以轻松地在各种数据存储之间保持数据的最新状态,但不应将它用于灾难恢复,或者用于从本地 SQL Server 迁移到 SQL 数据库。
要实现灾难恢复和业务连续性,可以使用 AlwaysOn 可用性组在两个或更多个 SQL Server 实例之间复制数据,其中的一些实例可以在另一地理区域中的 Azure VM 上运行。
网络共享和基于文件的数据存储
在混合云体系结构中,组织往往将较新的文件保留在本地,并将较旧的文件存档到云中。 这种做法有时称为文件分层。 它提供对本地和云托管文件的无缝访问。 此方法有助于最大程度地减少网络带宽用量,以及访问最频繁的新文件的访问时间。 同时,可以利用基于云的存储来存档数据。
组织可能还希望将其网络共享完全移动到云中,例如,如果访问这些共享的应用程序也位于云中。 可以使用数据业务流程工具完成此过程。
Azure StorSimple 提供最完整的集成存储解决方案用于管理本地设备与 Azure 云存储之间的存储任务。 StorSimple 是一种经济高效、易于管理的存储区域网络 (SAN) 解决方案,可以消除与企业存储和数据保护相关的很多问题和开支。 它使用专有的 StorSimple 8000 系列设备,与云服务集成,并提供一套集成式管理工具。
将本地网络共享与基于云的文件存储配合使用的另一种方法是借助 Azure 文件。 Azure 文件提供完全托管的文件共享,可以使用标准的服务器消息块 (SMB) 协议(有时称为 CIFS)来访问它。 可以在本地计算机上将 Azure 文件装载为文件共享,或者在访问本地文件或网络共享文件的现有应用程序中使用 Azure 文件。
要将 Azure 文件存储中的文件共享与本地 Windows 服务器同步,请使用 Azure 文件同步。Azure 文件同步的一大优势是能够在本地文件服务器和 Azure 文件存储之间进行文件分层。 此功能让你可以只在本地保留最新的和最近访问的文件。
有关详细信息,请参阅确定何时使用 Azure Blob 存储、Azure 文件或 Azure 磁盘。
混合网络
本文重点介绍了混合数据解决方案,但是,还要考虑如何将本地网络扩展到 Azure。 有关混合解决方案的此方面,请参阅以下资源:
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- Zoiner Tejada | CEO 兼架构师