如果企业希望优化网络性能和终端用户的体验,应该尽可能地将应用程序和数据托管在靠近终端用户的地方。有两种主要方法可以做到这一点——使用CDN或在物理上接近最终用户的数据中心托管工作负载。
哪种方法是最好的?答案取决于企业的预算、正在管理的工作负载类型以及用户分布有多广泛等因素。本文探讨了这些因素,以便为在CDN和数据中心之间进行选择提供指导,从而提高工作负载性能。
内容交付网络(CDN)如何影响网络性能?
CDN是存储内容缓存副本的服务器集合。如果服务器分布在广泛的地理区域,则可以将来自不同区域的用户的内容请求路由到离这些用户最近的服务器。
通过这种方式,CDN可以提高内容到达用户的速度。虽然理论上数据几乎可以瞬间在互联网上传输,但实际上,服务器和用户之间的物理距离越远,数据到达用户所需的时间就越长。延迟是由于数据在长距离传输时必须通过更多网络设备等因素造成的。
数据中心如何提高网络性能?
数据中心可以实现类似的网络性能提升,尽管方式不同。
通过战略性地选择承载工作负载的数据中心位置,企业可以将工作负载部署在物理上靠近用户的数据中心中。世界各地分布着数百个数据中心,其中包括私有数据中心、托管设施和云提供商拥有的数据中心——这使得选择最适合网络性能优化的数据中心位置成为可能。
CDN和数据中心之间的一个重要区别是,CDN只存储缓存的内容,而数据中心可以托管完整的应用程序。这种差异可能会对企业放置在CDN或数据中心中的工作负载类型产生重要影响。
CDN和数据中心哪个更好?
在CDN或数据中心中托管工作负载以提高网络性能是否更有意义取决于以下考虑因素。
(1)成本
总的来说,使用CDN将内容放置在靠近最终用户的地方,通常比在多个数据中心托管内容的成本要低。然而,从成本的角度来看,CDN是否会表现得更好取决于:
- 企业正在传输多少数据。大多数CDN提供商主要根据传输的数据总量收费,但对于数据中心来说,数据传输量只是定价的众多潜在因素之一。在某些情况下,在企业自己的数据中心中托管具有非常高网络流量需求的工作负载可能更便宜。
- 企业是建立自己的数据中心还是使用别人的数据中心。创建自己的数据中心可能需要花费数百万美元,而使用托管设施或公有云每年可能只需花费几千美元,具体取决于企业的工作负载和基础设施需求。
- 企业需要在多少个位置上托管内容。如果企业需要跨几十个位置缓存内容,那么CDN的成本可能会低得多,但是如果企业需要为用户集中的少数几个区域提供服务,那么仅在几个战略位置的数据中心托管工作负载可能更具经济意义。
简而言之,作为向多个用户分发内容的一种方式,CDN在大多数情况下比数据中心便宜。
(2)用户的位置和分布
如果企业的最终用户分散在全球各地,那么使用CDN来提高其性能几乎肯定比设置多个数据中心更有意义。但是,在用户集中在特定地理区域的情况下(例如,如果企业的用户是需要从企业园区访问内部业务应用程序的员工,而不是位于他们选择的地方的客户),将工作负载托管在靠近这些站点的数据中心可能更有意义。
(3)工作负载需求
同样,与数据中心不同,CDN不托管完整的应用程序实例。它们只是托管内容缓存。因此,CDN可以很好地提高依赖于静态内容的工作负载的性能,但在应用程序需要实时生成定制内容的情况下,它们就不那么有用了。在后一种情况下,分布式数据中心可能比CDN更好。
例如,如果企业有一个Web应用程序,主要提供一般的内容(例如图像和视频),CDN通常会提高应用程序的性能,因为用户位于不同的地区。但是,如果企业的应用程序为每个用户创建自定义图像,CDN不会提高性能,因为没有办法提前生成和缓存自定义内容。
(4)控制
因为CDN只存储缓存的内容,它不能提供控制功能。企业无法访问为其工作负载提供动力的物理基础设施,而且其配置网络和安全策略的能力通常有限。使用数据中心,企业通常可以完全控制,特别是如果在自己的硬件上运行工作负载(而不是使用公有云)。
如果企业正在处理不需要以复杂的方式监视或管理的工作负载,那么这种差异可能无关紧要。但是,对于具有独特管理需求的工作负载来说,它可能使数据中心成为比CDN更好的选择。
结论
CDN和数据中心都可以帮助加快应用程序内容的交付,但它们的实现方式不同。一般来说,CDN是更简单、更便宜的选择,尽管在某些情况下,特别是那些涉及复杂工作负载的情况下,需要的不仅仅是通用内容缓存来提高性能,而在具有战略意义的数据中心之间分配工作负载比使用CDN更有意义。