将您的 WordPress 网站迁移到云平台

已发表: 2020-06-05

世界著名的 WordPress CMS 从根本上基于 PHP 和 MySQL,为从个人博客到高流量网站的所有内容提供了二十多年的支持。 然而,从 2003 年创建和首次发布开始,它的创建者并没有考虑现代弹性和可扩展的基于云的基础设施来构建它。 到目前为止,谁能预测到技术的发展方式?

幸运的是,随着 WordPress 社区的扩大,以及后期更成熟的 WordPress 版本的发布,其能力得到了显着扩展。 最终,我们现在有了可以构建适当利用云服务器和基础架构的 WordPress 基础架构的场景。

在这篇博客中,我们将探讨 WordPress 和云服务器之间的关系,以及何时应该结合使用它们。 出于上下文的目的,我们将确保非常详细地涵盖与该主题相关的概念。 所以,事不宜迟,让我们深入研究吧!

云是什么?

简要回顾一下,通俗地说,云是一种通过 Internet 提供 IT 服务和资源的无处不在的方式,因此可以按需访问或以现收现付的方式访问。 因此,基本上,云服务器充当互联网上方便的“存储单元”,因此,“云”一词。 这可能是我所提供的关于云的最简单的答案,无论如何,继续前进!

话虽如此,有许多云服务提供商,但最著名的是亚马逊网络服务(市场份额最大),其次是微软 Azure 和谷歌云。 尽管存在其他公共云提供商,例如阿里云、DigitalOcean、IBM Cloud 和 Linode,但这三者有时被称为“超大规模”。 平心而论,值得一提的是,一些公共云提供商还提供标准托管服务(例如 WordPress 共享托管),而另一些则不提供。 但我们稍后会深入探讨。

云的美妙之处在于它显着地为小型企业提供了公平的竞争环境。 这是通过允许他们访问以前只有更大的玩家才能使用的最先进的在线资源。 所有这些都不需要巨额资本投资,包括购买硬件、建立昂贵的数据中心以及聘请全职维护 IT 部门。

在大多数情况下,大多数云提供商还提供按需付费模式和托管服务,例如自动扩展和数据库管理服务等。因此,这对于许多不打算或不能这样做的公司非常有吸引力有能力投资于成熟的 IT 基础设施。 从本质上讲,让他们专注于核心业务,让云供应商处理技术问题。

云提供了对无数好处的访问; 然而,显着的好处是:

  • 它提供了一个无处不在的面向服务的架构,在世界任何地方都可以使用。
  • 提供方便灵活的计算
  • 它利用不同层次的按需服务
  • 降低总拥有成本
  • 减少信息技术开销
WordPress 云的优势

云服务的类型

通常,公共云提供商在三个垂直领域提供服务,即:基础设施即服务 (IaaS)、平台即服务 (PaaS) 和软件即服务 (SaaS)。 为方便起见,让我们总结一下所有这些服务类型之间的差异以及它们各自的含义,好吗?

  1. IaaS:基础设施即服务为用户提供不同的云基础设施,如虚拟计算、操作系统、队列、存储、VLAN、负载平衡器等。 这种类型的云垂直需要深入的技术知识来部署和操作应用程序。 例如,每个组件都需要技术管理来启动扩展或缩减,或执行负载平衡。
  2. PaaS:另一方面,平台即服务模型提供更多托管服务。 这基本上意味着软件更新和修补的责任主要属于云供应商。 此外,借助 PaaS,由云本身编排的基础架构特定操作(例如扩展、备份、数据复制)可以透明地进行。
  3. SaaS:可以说,所有这些垂直领域中最著名的是软件即服务模型,它提供了在云中管理的功能齐全的软件。 SaaS 模型可以同时包含 IaaS 组件和 PaaS 应用程序,或者分别使用这两个垂直领域中的任何一个。
IaaS-PaaS-SaaS 之间的区别

最终,尽管上面强调了所有模型,但随着越来越多的供应商采用更多混合服务,这些服务可能属于 IaaS 或 PaaS,云平台之间的界限正在迅速变窄。 例如,Amazon Web Services 从 IaaS 产品(EC2、SQS 和 S3)开始,然后在此过程中添加了 PaaS 组件(关系数据库和非关系数据库)。 相比之下,Microsoft Azure 扩展了 PaaS 组件(Azure 网站和 SQL 数据库)和 IaaS(虚拟机和存储)。

WordPress-stack-on-Amazon-Cloud

什么时候适合迁移到云端?

尽管如此,毫无疑问,大多数软件应用程序都可以以一种或另一种方式托管在“超大规模器”上。 然而,问题一直是——它是否合理、是否多余、可能过度杀伤或在某些情况下导致资源利用不足。

话虽如此,值得注意的是特定应用程序非常适合云计算,因为它们迫切需要某些云计算功能。 例如,他们可能需要编码器、CDN、关系数据库或自动扩展资源的能力的组合。 尽管如此,在某些情况下,其他应用程序只是为了转移到云端而未能充分利用其所有资源。 无论哪种方式,这都不是犯罪。

哪些 WordPress 应用程序类型最适合云迁移?

由于我们已经确定云可以处理任何异地计算应用程序,无论其容量如何。我们的警告仍然存在,正如我们强调的那样,尽管如此,并非每个应用程序都适合云计算。 那么,哪些 WordPress 应用程序类型适用于云?

WordPress-应用程序类型-理想的云

1. 具有周期性和苛刻处理需求的应用程序

一般而言,此类应用程序通常会执行计算密集型操作,例如对各种数据形式的批处理分析功能。 这种批量分析功能可以采取不同的形式,包括:从一种格式到另一种格式的文件转换、语义文本分析、数据分类、报告、文本索引、数据聚类,甚至机器学习的神经网络训练等。

因此,由于这些操作的发生时间往往是可预测的,因此它们最终需要超大规模云提供商提供的强大计算能力。 这是因为公共云提供商总是拥有最先进的硬件来满足如此巨大的需求。 因此,本质上,对于拥有此类应用程序的小型企业,云可以帮助他们规避如此繁重且不必要的硬件投资(有时可能是反动投资)

此外,组织可以选择通过云进一步加速其批处理能力——更快地结束,例如在不到一小时而不是 3 或 4 小时内。 这在云环境中非常易于管理,因为管理员可以启动更多的计算单元。 然而,在 WordPress 标准托管中,由于硬件限制,这样的实现将非常具有挑战性。

2. 需要高可用性 (HA) 和可扩展性的应用程序。

我们基本上有两个类别需要考虑。 第一类是希望为其最终用户提供 HA(高可用性)服务的应用程序。 然后,我们的应用程序预计其使用量会增加或计划将其服务扩展到更大的用户群。

高可用性设置意味着应用程序没有单点故障 (SPOF)。 这通常是通过向应用程序的每个端点、组件或服务添加冗余来实现的。 此外,此设置自然假设需要更多硬件和机制来实现高可用性,例如自动故障转移过程、负载平衡和监控。

第二类涉及打算增加其用户群(并具有灵活的可扩展性)的应用程序。 例如,他们可能计划扩展他们的产品/服务; 或期望以后扩展到新市场。 因此,这意味着需要进行重大的云升级并在其之上建立合适的管理层以使其正常工作。

3. 使用高峰不可预测的应用程序

此类应用程序通常通过在线商店、产品站点、流行博客等与用户频繁交互。因此,此类 Web 服务通常具有可预测且稳定的用户群,但在某些情况下,它们最终可能会随机吸引大量用户. 例如,如果它们在流行的网页上被引用,或者与它们相关的视频传播开来,就会出现峰值。 或者,由于优惠券和促销代码,营销活动比最初预期的更成功。

因此,本质上,当您无法预测潜在的入站流量或发生的确切时间范围时,云迁移可能是理想的选择。 这样的网站所有者倾向于准确地预测流量的激增,但不知道会有多少流量,也不知道流量将如何分配。

阅读更多:11 种有效的方法来扩展您的 WordPress 网站以获得高流量

因此,对于这种情况,由于分散使用可能导致大量硬件季节性未使用,因此反动或紧急硬件采购是不值得的。 在这种情况下,除了云实施之外的任何东西都是鲁莽的。

4. 需要各种测试环境的应用

许多人并不知道,用户可以利用云来运行测试环境。 当需要执行一组特定的测试(例如安全测试或负载测试)时,此类测试环境可以是永久的或临时的

因此,基本上,实现这样的测试环境需要高端硬件,并且执行安全测试和负载测试的硬件采购成本可能相当高。 这主要是因为这些测试需要每年执行几次,并且需要完整的生产设置才能实现目标。 这就是为什么从成本的角度来看,为此类测试购买全新的硬件最终会成为一种低效或多余的行动。 这就是云成为一种选择的地方。

因此,总结一下我们的观点,影响云采用的主要因素是:用户群、使用模式、容错需求和测试需求。 当然,更多的因素可以证明云应用程序候选资格,但这四个因素通常很突出。

将云平台与 WordPress 结合使用

大多数 WordPress 应用程序使用标准托管,但是,选择在 AWS 云和谷歌云等平台上运行网站的 WordPress 用户有所增加。

这表明更多的网站所有者关心如何建立一个适当扩展的网站。 例如,它应该能够为不断变化的访问者提供服务,并且足够灵活,以允许快速轻松地更新内容,同时保持容错。 最后一点很重要,因为它让所有者放心,当出现问题时,网站仍然能够充分发挥其功能。

因此,为了增加上下文,典型的 WordPress 托管是一种托管服务,本质上是一种软件即服务 (SaaS)。 虽然迁移到公共云构成了影响平台即服务 (PaaS) 安装。 从本质上讲,使用 PaaS 的 WordPress 安装将基础架构维护、备份、复制和可用性转移给了云供应商。

管理云服务器可能很困难

除非您是知识渊博或专家,否则配置或供应您的服务器环境并不容易推断。 它需要知道如何管理您的云实例,同时建立一层安全协议以确保保护您的云实例。

从一个角度来看,此类安装可能需要您具备 Linux 命令的能力,因为默认 AWS 服务器不附带任何图形用户界面可供使用。 因此,使用 CLI 的能力势在必行,这对于服务器端知识有限的人来说可能是一个挑战。

但是,一些云提供商确实提供了资源来帮助减轻服务器管理的麻烦,让您专注于您的 WordPress 网站。 这些相同的工具会密切关注您服务器的安全性,以保护您的网站免受网络攻击。 此类解决方案可以为用户提供集成 SSL、创建临时站点、执行网站克隆和管理 cron 作业的能力,只需单击几下即可。

规划 WordPress 云迁移

在选择将您的 WordPress 应用程序迁移到云之后,确定适用的架构蓝图、选择可靠的云供应商、优化您的应用程序架构、测试您的设置然后发布非常重要。

确定您的架构蓝图可以让您主要识别 WordPress 应用程序的独立和可扩展部分。 其次,在选择云供应商时,一定要在考虑数据库能力等因素的同时选择最合适的。 例如,SQL Server 数据库可能非常适合 Azure SQL 数据库或 AWS RDS,而 MySQL 数据库也可能非常适合 AWS RDS。

此外,云供应商可能会影响应用程序的最终架构。 此外,在测试设置时,始终考虑真实大小的数据,因此,旨在建立生产数据的完整克隆,主要包括数据库数据和用户生成的内容。

成本

每个云供应商的初始总成本也应该仔细计算。 由于大多数云供应商都有在线价格计算器,您可以使用它们。 此外,还要注意计算时间、带宽和存储等方面,以及访问某些对象存储的 GET 请求数和负载均衡器小时数等指标

在云服务器上安装 WordPress 的最佳实践

1. 确保利用内容交付网络 (CDN)

请记住,大多数 WordPress 应用程序都提供静态和动态内容的混合。 静态内容是图像、JavaScript 文件或样式表。 而动态内容是在服务器端利用 WordPress PHP 代码生成的任何内容。 例如,从数据库生成的元素,或者为每个查看者个性化的元素。

由于网络延迟对最终用户体验很重要,因此必须利用 CDN,因为它们通过允许您向世界各地的用户一致地交付内容来帮助解决网络延迟。

因此,由于用户通常在地理上分布在世界各地,CDN 本质上有助于在全球范围内以低延迟和高数据传输速度加速内容的分发。

阅读更多:提高 WordPress 网站速度的提示

2. 数据库缓存

数据库缓存可以显着减少延迟并增加 WordPress 等应用程序的吞吐量。 它通过在内存中存储频繁访问的数据片段以实现低延迟访问,例如 I/O 密集型数据库查询的结果。 因此,这意味着当从缓存中提供大部分查询时,需要访问数据库的查询数量会减少。 因此,降低了与运行数据库相关的成本。

3. 无状态 Web 层

从根本上说,无状态应用程序忽略了以前的交互并且不存储会话信息。 对于 WordPress,这意味着所有最终用户都会收到相同的响应,无论哪个 Web 服务器处理了他们的请求。

因此,要在自动扩展配置中利用多个 Web 服务器,您的 Web 层必须是无状态的。 此外,无状态应用程序可以水平扩展,因为任何请求都可以由任何可用的计算资源(我们称之为“网络服务器实例”)提供服务。

但是,默认情况下,WordPress 将用户上传的内容存储在本地文件系统上,因此不是无状态的。 因此,将您的 WordPress 安装和所有用户配置、插件、主题和用户生成的上传移动到共享数据云平台以帮助减少 Web 服务器上的负载并使 Web 层无状态是很重要的。

阅读更多:WordPress 插件可以安全使用吗?

为此,您可以使用第三方存储来存储 PHP 会话。 这可以是简单的键值存储或数据库本身。 所有主要的云供应商都提供了诸如 Azure Tables 或 AWS DynamoDB 之类的键值存储,它们应该是高度可用的,并且可以被所有与会话数据交互的应用程序组件访问。

最后的想法。

总之,云计算已成为更流行的数据管理形式,它具有无与伦比的能力,可提供增强的规模经济、数据安全性、互操作性、易于访问性和能源效率。 它本质上改变了我们在全球范围内管理、分配和使用计算、存储和网络资源的方式。

因此,如果您预计会出现高流量激增、需要高可用性、有意外的可扩展性要求、有动态处理需求以及需要独特的测试环境,则 WordPress 和云服务器主要可以在性能上进行组合。