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