將您的 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 和雲服務器主要可以在性能上進行組合。