技术,如内容分发网络,云计算和存储,集装箱调度,负载均衡,网络应用防火墙,DDoS攻击防护服务和更多的弥补今天的服务组织网上应用程序的构建块。但切入点,以这些应用程序的每一个是基础设施的一个经常被忽视的一点:DNS。随着互联网的规模和流量迅速增长,DNS已经成为应用程序交付的一个关键因素。依赖内容分发网络(CDNs)的组织可以与他们的DNS提供商合作,创建一个CDN战略,以最好地服务于他们自己和他们的客户。
CDN:在什么和为什么
CDN的工作就像它听起来的那样:将分布式系统网络中的图像、视频、html文件和javascript等内容传递给终端用户。CDNs的出现和托管DNS公司差不多一样长。Akamai通常被认为是第一个真正的CDN玩家,该公司在第一次网络泡沫时期声名鹊起。通常,CDNs通过HTTP或HTTPS (web协议)交付内容,尽管偶尔也会出现其他协议发挥作用的视频交付等情况。
在早期,使用CDN的基本动机是为了提高内容传输的性能。
穿插了一堆文字和图像的设想一个21世纪初的网页。在幕后,加载该页面所有资产的背后,你可能需要做几十个HTTP请求。(这些天,可能是更像是几百个。)每个请求都要求你的浏览器连接到Web服务器,指定它的请求的内容,下载内容,并且显示内容。如果你有世界各地的用户(甚至在全国各地),让他们都连接到一个单一的数据中心(比如说,在弗吉尼亚也许加州),以获得您的应用程序可以工作得很好的内容,但如果你能移动content physically closer to the application’s end users so each request is done to a web server in the same locale as the user, the time to connect and fetch the content before it can be displayed is reduced.
当更好的性能是你的目标,一个CDN可以是非常有价值的,特别是如果你的用户分布广泛。如果所有用户都在纽约市,和应用程序的“原产地”的数据中心也是在纽约市,有可能不是一个伟大的业绩动机使用CDN。但是,如果你也有在美国各地,在欧洲,用户在亚洲或其他地方,然后利用一个CDN与更广泛的(最好全局)的存在,可以使所有这些用户的体验更好显著。
这里有两个以上的原因是多方面的使用CDN:
- SSL终止:这种使用情况已变得日益重要。有时,而不是直接提供静态内容给用户,一个CDN只是最终用户和应用程序之间坐着径直通过流量。In these cases, in addition to serving as a buffer against attack, a CDN can handle some aspects of the connection process — like the back-and-forth communication that goes into setting up an SSL-encrypted connection — offloading that work from the application infrastructure itself. Many of NS1’s customers today use CDNs for SSL termination in front of highly dynamic applications like APIs.
- 突发性:还记得“Slashdot效应”吗?CDN有很大的能力按需处理请求,可以处理大流量爆发(甚至攻击),通常比应用程序的原始基础设施更有效。
创建CDN战略
对于大多数CDNs,就像任何其他应用程序一样,内容传递开始于对CDN拥有的主机名的DNS查找(比如,“client-name.some-cdn.net”或类似的)。一些DNS提供商允许他们的CDN客户使用这个查找来决定他们的哪个CDN数据中心应该满足这个请求。
DNS提供者与CDNs交互的一种有趣的方式是通过在多个CDNs之间引导流量(“多cdn”用例)。例如,一家在线游戏公司可能不仅仅利用一两个,而是利用许多CDNs。他们这样做是为了在具有挑战性的市场中优化性能,优化成本(通过使用基于网络的流量管理为特定终端用户选择低/无成本的CDNs),以及通过围绕CDN中断进行路由来优化可用性。多cdn(和多云)是快速增长的用例,在未来几年中,随着越来越多的公司寻求防止服务提供商中断,多cdn(和多云)将继续变得更加流行。
通常,当一个组织与潜在的DNS提供者交谈时,DNS实现是更大的应用程序交付项目的一部分。其中经常包括对CDN策略的讨论。例如,一个企业可能使用现代的CDN在其应用程序交付的边缘进行SSL终止,并寻求将额外的CDNs加入其中,以提高性能、优化成本和最大化可靠性。有些CDNs非常适合自动化、小对象交付、SSL终止等;其他CDNs在高吞吐量、高带宽应用方面也很出色;还有一些是遗留的CDNs,它们在功能上可能不太现代,但可以作为简单企业应用程序的可靠选择。
发球直接得分内容交付
随着世界对所有类型的内容都越来越渴望,并且随时随地都期待它的出现,组织必须在应用程序交付方面加快步伐。内容交付网络可以提供帮助,企业越来越多地使用多个网络来最小化中断的风险。然而,有许多CDNs可供选择,每个都有其优点和局限性。与您的DNS提供商一起定义一个CDN策略,以解决您的应用程序及其用户的特定需求。