如果企業(yè)希望優(yōu)化網絡性能和終端用戶的體驗,應該盡可能地將應用程序和數(shù)據(jù)托管在靠近終端用戶的地方。有兩種主要方法可以做到這一點——使用CDN或在物理上接近最終用戶的數(shù)據(jù)中心托管工作負載。
哪種方法是最好的?答案取決于企業(yè)的預算、正在管理的工作負載類型以及用戶分布有多廣泛等因素。本文探討了這些因素,以便為在CDN和數(shù)據(jù)中心之間進行選擇提供指導,從而提高工作負載性能。
內容交付網絡(CDN)如何影響網絡性能?
CDN是存儲內容緩存副本的服務器集合。如果服務器分布在廣泛的地理區(qū)域,則可以將來自不同區(qū)域的用戶的內容請求路由到離這些用戶最近的服務器。
通過這種方式,CDN可以提高內容到達用戶的速度。雖然理論上數(shù)據(jù)幾乎可以瞬間在互聯(lián)網上傳輸,但實際上,服務器和用戶之間的物理距離越遠,數(shù)據(jù)到達用戶所需的時間就越長。延遲是由于數(shù)據(jù)在長距離傳輸時必須通過更多網絡設備等因素造成的。
數(shù)據(jù)中心如何提高網絡性能?
數(shù)據(jù)中心可以實現(xiàn)類似的網絡性能提升,盡管方式不同。
通過戰(zhàn)略性地選擇承載工作負載的數(shù)據(jù)中心位置,企業(yè)可以將工作負載部署在物理上靠近用戶的數(shù)據(jù)中心中。世界各地分布著數(shù)百個數(shù)據(jù)中心,其中包括私有數(shù)據(jù)中心、托管設施和云提供商擁有的數(shù)據(jù)中心——這使得選擇最適合網絡性能優(yōu)化的數(shù)據(jù)中心位置成為可能。
CDN和數(shù)據(jù)中心之間的一個重要區(qū)別是,CDN只存儲緩存的內容,而數(shù)據(jù)中心可以托管完整的應用程序。這種差異可能會對企業(yè)放置在CDN或數(shù)據(jù)中心中的工作負載類型產生重要影響。
CDN和數(shù)據(jù)中心哪個更好?
在CDN或數(shù)據(jù)中心中托管工作負載以提高網絡性能是否更有意義取決于以下考慮因素。
(1)成本
總的來說,使用CDN將內容放置在靠近最終用戶的地方,通常比在多個數(shù)據(jù)中心托管內容的成本要低。然而,從成本的角度來看,CDN是否會表現(xiàn)得更好取決于:
·企業(yè)正在傳輸多少數(shù)據(jù)。大多數(shù)CDN提供商主要根據(jù)傳輸?shù)臄?shù)據(jù)總量收費,但對于數(shù)據(jù)中心來說,數(shù)據(jù)傳輸量只是定價的眾多潛在因素之一。在某些情況下,在企業(yè)自己的數(shù)據(jù)中心中托管具有非常高網絡流量需求的工作負載可能更便宜。
·企業(yè)是建立自己的數(shù)據(jù)中心還是使用別人的數(shù)據(jù)中心。創(chuàng)建自己的數(shù)據(jù)中心可能需要花費數(shù)百萬美元,而使用托管設施或公有云每年可能只需花費幾千美元,具體取決于企業(yè)的工作負載和基礎設施需求。
·企業(yè)需要在多少個位置上托管內容。如果企業(yè)需要跨幾十個位置緩存內容,那么CDN的成本可能會低得多,但是如果企業(yè)需要為用戶集中的少數(shù)幾個區(qū)域提供服務,那么僅在幾個戰(zhàn)略位置的數(shù)據(jù)中心托管工作負載可能更具經濟意義。
簡而言之,作為向多個用戶分發(fā)內容的一種方式,CDN在大多數(shù)情況下比數(shù)據(jù)中心便宜。
(2)用戶的位置和分布
如果企業(yè)的最終用戶分散在全球各地,那么使用CDN來提高其性能幾乎肯定比設置多個數(shù)據(jù)中心更有意義。但是,在用戶集中在特定地理區(qū)域的情況下(例如,如果企業(yè)的用戶是需要從企業(yè)園區(qū)訪問內部業(yè)務應用程序的員工,而不是位于他們選擇的地方的客戶),將工作負載托管在靠近這些站點的數(shù)據(jù)中心可能更有意義。
(3)工作負載需求
同樣,與數(shù)據(jù)中心不同,CDN不托管完整的應用程序實例。它們只是托管內容緩存。因此,CDN可以很好地提高依賴于靜態(tài)內容的工作負載的性能,但在應用程序需要實時生成定制內容的情況下,它們就不那么有用了。在后一種情況下,分布式數(shù)據(jù)中心可能比CDN更好。
例如,如果企業(yè)有一個Web應用程序,主要提供一般的內容(例如圖像和視頻),CDN通常會提高應用程序的性能,因為用戶位于不同的地區(qū)。但是,如果企業(yè)的應用程序為每個用戶創(chuàng)建自定義圖像,CDN不會提高性能,因為沒有辦法提前生成和緩存自定義內容。
(4)控制
因為CDN只存儲緩存的內容,它不能提供控制功能。企業(yè)無法訪問為其工作負載提供動力的物理基礎設施,而且其配置網絡和安全策略的能力通常有限。使用數(shù)據(jù)中心,企業(yè)通??梢酝耆刂?,特別是如果在自己的硬件上運行工作負載(而不是使用公有云)。
如果企業(yè)正在處理不需要以復雜的方式監(jiān)視或管理的工作負載,那么這種差異可能無關緊要。但是,對于具有獨特管理需求的工作負載來說,它可能使數(shù)據(jù)中心成為比CDN更好的選擇。
結論
CDN和數(shù)據(jù)中心都可以幫助加快應用程序內容的交付,但它們的實現(xiàn)方式不同。一般來說,CDN是更簡單、更便宜的選擇,盡管在某些情況下,特別是那些涉及復雜工作負載的情況下,需要的不僅僅是通用內容緩存來提高性能,而在具有戰(zhàn)略意義的數(shù)據(jù)中心之間分配工作負載比使用CDN更有意義。