首先感谢Level3联同您们的客座作者共同推出此稿件,并将其中文版交由DVBCN&AsiaOTT制作。本文出自Cedexis——国际知名第三方CDN负载均衡服务提供商,致力于为数据中心优化Web性能,为企业提供CDN及云计算解决方案,保障互联网服务能够100%分发到全球各地,其对于OTT视频的解决方案被广泛运用于互联网领域并被认可为行业的标准之一。
在全球范围内,OTT视频服务的火热正处于时代的当下,正如传统媒体面对着新媒体的冲击,互联网上不会存在第二次机会,所以当用户因为无法得到满足的体验而离开,那么通常,它不会选择重新回来。这也就是为什么,要确保一个完美无缺的视频服务并保障核心商业互联网视频平台具有100%可靠性?
就分发技术的发展至今,一个比较具有创新的解决方案就是利用多个CDN服务提供商,组建具有可靠性的融合CDN网络。事实上,目前全球一些知名的OTT服务提供商都在那么干,据Dan Rayburn统计,全球将近一半月度经常性收入超过10万美金的OTT服务提供商均采用了融合CDN服务的解决方案。
一般融合CDN方案都有两个比较重要的关键因素:受众分析与地理网络匹配,首先OTT服务提供商的受众群体是至关重要的,每个受众都会有趋向于每日收看时间点、选择的运营商以及地理环境等要素,此外,每个用户还有更多倾向于移动小屏或者家庭大屏的趋势。每一个CDN服务提供商在不同地域都会有不同的优劣势,包括ISP结算费用、服务能力以及网络环境等,而这之间的关系也可以用以下的“S曲线”进行描述:
从以上S曲线能够看出,当OTT服务提供商选择两个CDN服务提供商时,会有部分的用户倾向于不同的服务提供商,只是用户规模可能或大或小。这份S曲线图是全球范围内,RUM真实数据监测的实时统计,尽管被任何地域、国家、城市等环境因素所限制,同时也可能被不同的ISP所干涉,但对于OTT服务提供商,却依然能够从中获得一些启示。
上述的表格基于两个全球知名的CDN服务提供商,在这个案例中,针对于客户的35%的用户比起CDN2更倾向于CDN1,而对于CDN2来说只有15%的用户从上面获得体验的改善,CDN,虽然我们依然会质疑,50%的用户可能在没有CDN的情况之下,也能获得不错的天体验,但从多个角度,包括服务的可靠性等层面来看,选择两家CDN服务提供商依然是不可或缺的。
下图是同样这两家CDN服务提供商,但仅限于美国范围,在这份数据中,CDN2的服务与CDN1的就几乎保持一致,这说明,融合CDN在不同区域内的表现力会呈现不同。
当然这也不仅仅只是局限于不同的地域,改变不同的运营商以及测量范围也会造成结果的不同。事实上,对于视频传输的CDN表现基于多方面原因,其中包括,节点安置、PoP以及网络负载等多重的影响。
其实当OTT服务提供商需要制定融合CDN方案,有很多种办法可以供参考。尽管一开始的策划及战略非常重要,但执行会更显关键。所以本文介绍的,就是针对于OTT视频平台建设CDN的五点建议:
一、确保使用的融合CDN在Active-Active配置:
许多视频分发平台会安置配置一个次要CDN用以“故障恢复”。这就意味着如果主要CDN出现了可靠性的问题,就会发送警报并手动一些失效备援。这可能会导致一些问题,比方说:
1、在主要CDN故障之后,次要CDN介入之前,用户可能会在系统上,并忍受期间存在的性能不良以及那段时间完全缺乏可用性。
2、冷启动一个CDN可能会从源上导致严重的性能故障,当你打开一个没有缓存内容的CDN,它将从根本上DDoS你的源,这也会给用户在缓存预热期造成停机或者更糟糕的性能体验。
所以一个比较好的方式是部署融合CDN的时候配置为Active-Active,这意味着主动的流量会同时在两个CDN服务提供商中出现。这将解决刚才上述的第二个疑问,因为始终都会有明显的数据被缓存在多个CDN服务提供商中。同时它也可以打破第一个问题,如果用户是依据性能路由到缓存上,这将让用户没有路由到一个表现不佳的CDN可能。
但这个“如果”仅仅基于性能,如果用户基于地理环境或者循环路由,那么可能问题仍然存在,接下来可能会谈到几种路由算法。
二、以性能与可靠度为依据进行流量管理算法:
一旦决定将融合CDN配置为Active-Active,你仍然必须决定你应该如何去分配流量,方式很多,但比较常见的是循环及其衍生、地理变量或者是基于性能。下面将讲述这些不同流量分配方式:
1、“循环”负载均衡是最为原始的流量管理方式,它能通过一种平衡的方式在应用中将流量分发到各地。所以如果运营商有两个以上的CDN服务提供商,OTT服务提供商可以给每家50%的流量,也可以测量算法,让一家CDN比另一家获得的更多。但通常使用这种管理办法意味着每一位接收者都会在这个过程中分享一定的资源,并且还有许多可能存在的陷阱。
2、基于地理进行负载均衡其实就是从某个特定地区提供流量的分配方式。这就意味着可能欧洲享有一个CDN服务提供商,然后在中国又享有一个,在地理选择之外的其余地方的用户就会感受到明显的延迟,经常能够发现一些企业想要进入BRIC(金砖四国:巴西、俄罗斯、印度、中国)的时候,才发现他们的CDN根本无法满足要求。对于地理分配而言,考虑包的传输距离是保障体验的关键,但由于节点关系以及缺乏对位置的信息(持续性的网络质量),通常让这种假设不太靠谱。不考虑ASN/ISP,基于地理位置的性能依据或许是一个比较准确的方式,对于CDN服务提供商而言,节点以及传输轨迹对体验都有巨大的影响。
3、基于性能的负载均衡往往采用CDN与云计算的监测以确定他们是否表现良好。这些监测功能通常被加入负载均衡并按照这些未经处理的统计信息进行部分决策,基于性能的负载均衡是目前最先进的方式。基于性能的负载均衡可以将重心放在延迟、吞吐量、可靠性以及监测方式上。例如,视频服务,你可以要求测量缓冲或者终端启动视频所需要的时间,你也可以使用应用程序性能监测(APM)工具来监测服务器的利用率以及可用内存和硬盘。这些都可以成为路由算法以及流量管理的依据。
三、确保最后一英里(公里)的监测性能:
关键点是能够监测到从哪个CDN传输视频流量。通过最后一英里性能和可靠性的监测,用户能够得知从运营商传输的流量是否需要通过CDN。一些综合测量应当被理性回避,尽管目前综合测量被经常运用于数据中心,但这部分监测具有有限的价值,是CDN服务提供商的营销方式,但它并不能真实表现某一种效率。对于某个CDN厂商而言,如果某个运营商在一个巨大的市场中存在某些问题,通常综合监测是无法将问题暴露出来的。
互联网充满着复杂,不断地变化并成长,节点与之的关系需要不断花时间进行管理。最后一英里的路由可能会出现拥堵,同时,系统管理员也可能升级了线路。互联网上大约有48000的ASN,其中大部分还拥有海量的用户。所以如果你想知道你网络可能存在的任何问题,从终端用户出现,在最后一英里部署你的监测。
四、选择构建合适的头端:
如果OTT视频服务提供商希望从内部管理头端,采用一家信得过的CDN或者云存储提供商,在设计整个架构的同时,时时刻刻都以N+1的思维方式去建设,把头端设计进去。
头端同样也是商业逻辑与竞争差异化的源头,智能OTT视频提供商也同样是从头端进行有限传输。所以,如果头端本身的位置不错,其实也能作为内容传输的节点来看待。在一些案例中,我们能够发现5%~10%的内容来源于头端。这将在提升视频体验的同时,对CDN成本带来积极的影响。这一类混合模型主要被两个理由推动:1、从头端传输是最能保证可行性的内容分发;2、提供显著的成本节约。
而另一个选择是,CDN服务提供商本身就是源平台。如果CDN服务提供商提供存储,保障平台在自身网络中,拥有地理冗余能用于故障修复,并且具有不错的高性能出口。存储平台应该能够将内容送给第三方CDN服务提供商,同时也能保障自身内容的负载均衡。使用第三方CDN的内部存储平台,能让你的内容被同一个运营团队所监测,这也将简化你的管理成本。当CDN访问头端的时候,第一个字节的传输时间是非常重要的,尤其当数据是视频的时候。
对于直播以及线性的需求,CDN源头上的选择就更有趣一些了。不仅需要多个直播头端,同时也要有能力多方接入两个甚至更多的CDN服务提供商。所有CDN服务提供商都要具b备将重要的直播流投入到主要和次要入口,并能够保障这些CDN中的直播或者线性可被复制,尤其当你希望每个用户都能看到一个直播球赛,多个头端的建设就更为必要了。
五、定期监测重点区域、城市或国家的CDN发展情况
最后,了解并认知你业务所需要的云计算、CDN和ISP及其未来六个月内可能出现的任何改变,性能的要求会增加。视频的缓冲是最不能被容忍的,了解动态的CDN市场发展情况,通过融合CDN提升视频体验。新的节点被部署、新的CDN提供商进入市场、新的对等关系,旧的节点也会偶尔有被撤掉的时候。大多数顶尖组织大多也都关注这些,如果你希望通过最小的缓冲和启动时间,你就需要进行必要的投资。
所以结论,一个成功的OTT服务提供商应当要学会如何建立融合CDN战略100%,并推动其分发网络的可用性和性能。