如今,许多组织决定将其数据库迁移到云平台中。这是正确的做法吗?组织需要考虑应用程序类型、供应商锁定和云计算特定功能的吸引力。
越来越多的组织继续将其应用程序和工作负载迁移到云中,但是,对于许多组织来说,将数据库迁移到云平台的感觉就像过独木桥一样小心谨慎。
调研机构Gartner公司预测,到2023年,将有75%的数据库在云计算数据库平台上运行。数据库向云平台迁移的大部分增长将来自中小型企业使用的应用程序,这些应用程序通常比大型组织更灵活。调研机构Gartner公司分析师Donald Feinberg表示,然而,企业采用云计算服务速度会有所放缓,特别是对于与其他企业应用程序进行了大量集成的事务处理应用程序。
Feinberg说,“大多数大型组织都有庞大的应用程序和大量的数据。因此,即使他们将100%的数据提交到云平台中,也需要5年甚至更长的时间才能完全迁移到云平台。”
组织必须决定是将现有的工作负载提升并转移到云平台上,例如简单地将其数据库托管在AWS EC2实例上,还是通过将其迁移到托管数据库(如Azure SQL数据库)来减少一些基础设施维护负担。提升和转移迁移通常是一个跳板;一旦组织的数据迁移到云平台中,再重新构建应用程序就更容易了。在理论上,这只涉及将现有数据库复制到运行在IaaS产品上的类似数据库。对于规模较小的组织来说,这个过程很简单。
但是,对于大型组织而言,从其现有实践向云计算服务的转换更为复杂。Feinberg说:“当组织的业务进入云计算环境时,所有内部程序都会改变,这需要进行新的培训。”
一家大型组织准备将数据库迁移到云平台中,在过渡期间,它们还可能难以集成应用程序以在混合基础设施上运行。
分布式应用减轻了对云平台锁定的担忧
不想被锁定在云平台中的组织可能会为数据库迁移而感到烦恼,但是更新的分布式体系结构有助于缓解这些麻烦。基于一组微服务的现代分布式应用程序通常在Kubernetes集群上运行,该集群可以托管在企业数据中心或AWS、谷歌云平台、Microsoft Azure或任何其他公共云上。
Enterprise Management Associates公司研究总监Torsten Volk说:“这种新的应用程序不再依赖于永久映射的块存储和传统的SQL数据库,但它需要一个集中的主干网来支持所有这些松散耦合的、在地理上广泛分布的微服务。”
云计算数据库提供了这个主干网——但不需要业务来剥离和替换当前的数据库基础设施。基于微服务的应用程序可以查找和保存它们的状态、交换数据、授权用户、访问日志、订阅内容提要、映射相互依赖关系、查找或提供操作数据或只是共享一堆二进制文件。
此外,基于云计算的数据库产品可以吸收来自不同地理位置的应用程序请求的难以预测的延迟,并将影响数据完整性的风险降到很低。Volk说:“所有这些超出了普通数据库管理员的工作职责范围。”
云计算数据库还提供了应用程序开发人员所需的新功能,如发布/订阅、异步消息传递、数据流、NoSQL、键值存储和图形数据库功能。
最终,任何托管云计算数据库的好处都是以应用程序与云计算提供商之间更紧密的耦合为代价的。Volk说:“组织至少要确保自己了解所产生的锁定程度。”
规划云计算数据库迁移的四个关键选择
任何云迁移都需要进行大量规划,但是在将数据库迁移到云平台中还需要做出更多关键决策。IDC公司分析师Carl Olofson为此确定了四个关键选择:
(1)选择DBMS。首先,组织必须决定如何处理数据库管理系统(DBMS)。是否应该迁移到当前使用的同一数据库管理系统(DBMS)的云计算版本?这将使工作人员能够继续使用其现有技能。与其相反,使用选定云平台的原生数据库服务可能更加经济,例如AWS云平台上的Aurora,谷歌云平台上的Cloud Spanner或Azure SQL数据库。组织也可以采用第三方云计算数据库产品。
(2)确定支持偏好。云原生数据库带有各种支持工具和实用程序。它们简化了故障排除,因为只有一个支持组织呼叫是来自数据库还是基础设施的问题。但是,如果组织的不同部门使用不同的云平台,这也会出现问题。
(3)重新考虑应用程序和分析。Olofson说,一个已经准备好迁移到云平台的企业应该借此机会重新考虑其应用程序的工作方式。考虑其他分析功能,例如支持人工智能和机器学习、时间序列和图形分析的功能。
(4)乐于改变。这些功能也可能使组织重新考虑数据库结构本身。Olofson说:“与其继续使用当前使用的相同类型的数据库系统,不如着眼于那些可以为其中一些高级功能提供更多好处的数据库系统。”除了采用迁移数据库的方式迁移之外,组织可以采用云计算数据库服务(例如Amazon Aurora或Azure Cosmos DB),或者通过云计算供应商的无服务器服务进一步开展业务。