为关系工作负载选择正确的平台
云计算变得越来越流行,可为企业带来灵活性、提供节省时间和资金的机会以及提高敏捷性和可伸缩性。 另一方面,安装在公司自己的服务器上并处于防火墙后的本地软件仍具有吸引力。 本地应用程序可靠、安全,使企业可以保持紧密控制。
关系数据库管理系统是云使组织可以利用改进的可伸缩性的一个示例。 但是,这种可伸缩性必须与对数据进行紧密控制保持平衡。 数据可以说是组织所拥有的最有价值的资产之一,某些公司不愿意或无法将保护这些数据的职责移交给第三方。
在本单元中,你将了解在云中运行数据库管理系统的一些优点和缺点。
将本地托管与云进行比较
无论公司是将关系工作负载置于云中还是决定保留在本地,数据安全性始终至关重要。 但是对于那些受到严格管制的行业中的企业而言,可能已在是否在本地托管其应用程序方面为它们做出了决策。 知道你的数据位于内部服务器和 IT 基础结构中,还可以让你更加安心。
在本地托管关系数据库要求企业不仅购买数据库软件,还需要维护用于运行数据库的所需硬件。 组织负责维护硬件和软件、应用补丁、备份数据库、在必要时还原数据库,以及通常执行使平台保持正常运行所需的所有日常管理。 还需要考虑可伸缩性。 如果需要扩展系统,则需要升级或添加更多服务器。 随后需要将数据库扩展到这些服务器上。 这可能是一项艰巨任务,需要在执行操作期间使数据库脱机。 在云中,数据中心人员可以为你处理许多这类操作,并且在许多情况下无需(或很少)停机。 可以自由地专注于数据本身,而将管理问题留给其他人。
基于云的方法使用虚拟技术非现场托管公司的应用程序。 不存在资本支出,数据可以定期备份,并且公司只需为所使用的资源付费。 对于那些计划在全球范围内积极扩张的组织,云具有更大的吸引力,因为它使你可以轻松地与任何位置的客户、合作伙伴和其他企业建立联系。 此外,云计算提供几乎即时的预配,因为所有内容都已配置就绪。 因此,集成到你的环境中的任何新软件都可以在公司订阅后立即进行使用。 借助即时预配,可消除在安装和配置上花费的任何时间,并且用户可以立即访问应用程序。
了解 IaaS 和 PaaS
将操作和数据库迁移到云时,通常有两种选择。 可以选择 IaaS 方法或 PaaS。
IaaS 是基础结构即服务的首字母缩略词。 通过 Azure,你能够在云中创建虚拟基础结构,该基础结构反映了本地数据中心的工作方式。 你可以创建一组虚拟机,使用虚拟网络将它们连接在一起,并添加一系列虚拟设备。 在许多方面,此方法类似于在组织内运行系统的方式,只是你不必考虑购买或维护硬件。 但是,你仍需要负责许多日常操作,例如安装和配置软件、进行修补、创建备份以及还原数据(在需要时)。 可以将 IaaS 视为云中的完全托管操作的折中方法;你不必担心硬件,但是运行和管理软件在很大程度上仍是你的职责。
你可以使用此方法运行对其拥有相应许可证的任何软件。 你不受限于任何特定的数据库管理系统。
IaaS 方法最适合需要操作系统级别访问权限的迁移和应用程序。 SQL 虚拟机是直接迁移。 也就是说,可以将本地解决方案直接复制到云中的虚拟机。 系统应该在其新位置上或多或少地像以前一样工作,除了一些用于考虑环境变化的小配置更改(例如,网络地址的更改)。
PaaS 代表平台即服务。 PaaS 解决方案不是让你自己创建虚拟基础结构、安装和管理数据库软件,而是为你完成这项工作。 指定所需的资源(根据你认为数据库的大小、用户数和所需的性能),Azure 会自动为你创建必要的虚拟机、网络和其他设备。 通常,你可以快速扩展或缩减(增加或减少资源的大小和数量),因为数据量和正在完成的量各不相同;Azure 可为你处理此缩放,你不必手动添加或删除虚拟机,也不必执行任何形式的配置。
Azure 为关系数据库提供多种 PaaS 解决方案,包括 Azure SQL 数据库、Azure Database for PostgreSQL、Azure Database for MySQL 和 Azure Database for MariaDB。 这些服务代表你运行托管版本的数据库管理系统。 你只需连接到它们,创建数据库并上传数据。 但是,你可能会发现存在一些功能限制,并非所选数据库管理系统的每种功能都可用。 这些限制通常是由于安全问题所导致。 例如,它们可能不会向应用程序公开底层操作系统和硬件。 在这些情况下,可能需要改写应用程序,以删除对这些功能的任何依赖项。
下图说明了在本地运行数据库管理系统(在本例中为 SQL Server)、使用 Azure 中的虚拟机 (IaaS) 或使用 Azure SQL 数据库 (PaaS) 时的优势和取舍。 对于其他数据库管理系统,相同的通用注意事项同样适用。