CDN的理想与现实
多年之前,当《Kingdom of Heaven》这部史诗电影发行的时候,中国的影迷使用电驴和BT来寻找种子,而那个时候,高清也才刚刚进入电影领域,个人同事不惜用自家的电脑花费一个星期的时间去下载高清的版本。而如今,中国的影迷在使用迅雷去下载《越狱》,而每一集越狱播出之后,在20小时以内,迅雷上面就能够下载到有中文字幕的完整版本,而影迷只要半个小时就能够下载完成,他们使用的是以“CDN”为基础的所谓P2SP服务。咱们在这里不须要讨论盗版的问题,咱们在这里想谈论的只是互联网和CDN的改变……
咱们要谈论CDN么?
互联网的改变让CDN变得不那么神秘与高深
CDN是个古老的东西,在互联网发展之初就已经出现了。一群MIT的精英份子发现若是要让任何地方的人均可以很快的打开本身的网站的话,就须要象在世界各地盖教堂同样,把本身的网页发布到离信众最近的地方去。因此,他们用一种简单的缓存镜像的办法实现了这种发布。最先的入主这个教堂网络的是Yahoo!那是在1998年。就像天作良缘,Yahoo!使用了当时世界上最大的CDN网络,固然如今他仍是最大的。啊,忘了解释:CDN是内容投递网络(Content Delivery Network)的简称。咱们能够在Wiki上面轻易找到这个单词的解释,但并非全部人都能轻易理解CDN和它的意义,由于它是一个架接在互联网与传统电信运营商之间的看不见的桥梁。
让咱们继续回顾互联网与CDN在那耀眼的一瞬以后的日子,互联网经历了泡沫的破裂,新模式的创新,但CDN却好像渐渐的被人遗忘了。咱们熟悉的portal,垂直portal,鼠标加水泥,B2B,C2C,B2C,P2P,Web2.0,搜索,竞价排名,Page Ranking, RSS,Wiki,Meshup,podcasting,网络游戏,Social Network……那么多咱们耳熟能详的名词,或者其实并不明白其中的真正意思,但在炫耀本身的互联网阅历的时候随口说出的几个里面,惟独没有CDN……直到短视频的出现。
当YouTube出如今世人面前的时候,人们为互联网的又一次革命而叫好,而与此同时,人们看到了在YouTube后面的一个强大的CDN支持,是这个CDN网络把YouTube的无数视频展示在人们面前,在这个时候,人们发现CDN是不可或缺的,CDN在经历了那么长时间的默默无闻之后,忽然一晚上间闻达于诸侯,就象君士坦丁大帝把天主教定为国教同样,你们忽然认识到了一个不为人熟知的领域。但咱们看到的是什么呢?君士坦丁介绍给罗马的天主教是耶稣创立时的教义么?咱们所看到的CDN是MIT创立时的CDN么?
人们开始搜索CDN,研究CDN,发现CDN是那么的简单,能够用一页PPT就把原理讲的清清楚楚,而网络硬件的厂商也会这样和互联网的客户说,咱们能够提供完整的CDN解决方案,你不须要作什么,买咱们的硬件,它已经可以解决你全部的CDN问题。
今后,CDN变成了一个流行词汇,尤为是在高盛领投LimeLight(全球第二大CDN公司) 1.2亿美金以后,忽然之间,世界各地都出现了大大小小的CDN公司,无数的投资蜂拥而至,就像那时的罗马,人人都开始信仰天主教,也许是真的信仰,也许是为了圣餐,也许是为了研究,总之,“咱们都爱CDN”。
也许有人问:咱们谈论的是同一个CDN么,或者咱们谈论的不是CDN?
当咱们在说CDN的时候,全部的公司都是谈到两个偶像,就像谈耶稣和圣母同样,一个是Akamai(世界第一大CDN公司),一个就是LimeLight。因此,阵营就分开来了,要么介绍本身是师从Akamai,要不就说本身是LimeLight的真传弟子,尽管大部分这么说的人几乎没有见过Akamai和LimeLight的网络和服务,但并不影响你们对本身的夸耀和标榜。而CDN是什么却愈来愈没有人关注,哪怕是LimeLight和Akamai的区别也被人忽略了。咱们每个谈论CDN的人谈论的是同一个概念么?
CDN是有专利的,这一点与天主教的圣经不一样,CDN的解释是能够经过查询这些文件发现的。CDN在利用DNS的转受权来引导最终访问者找到最理想的缓存或者镜像站点,它是基于域名的一种服务。在不一样的实现方式下,最终的定位到哪一个缓存和镜像站点的策略有很大的不一样。Akamai使用的是传统的基于地理位置的定位策略,在世界各地的ISP里面,都会有本身的节点,而经过智能DNS的判断,能够为用户找到离本身地理位置“最近”的节点。而LimeLight则用的是彻底不一样的策略,LimeLight有本身的骨干网,给访问者的节点并非地理位置“最近”的节点,而是路由层面“最近”的节点,这一点有点像咱们访问网站不经过域名而直接经过IP访问同样,它会寻找对于访问者的ISP最近的路由是哪里,用那里的节点服务于这个访问。LimeLight的策略已经在很大程度上改变了CDN的工做方式,因此,当LimeLight准备上市的时候,谁都会认为他们已经绕过了Akamai的专利壁垒,但不幸的是,以后他们仍是遇到了诉讼的麻烦,或许由于DNS转受权是没法改变的……
在这样的壁垒下面,任何作CDN的公司都好像要面对宗教法庭同样,要么被烧死,要么就皈依。因此,有好事者想咱们若是使用其余的方式作CDN该有多好?咱们既然能够把驴弄进贵州,为何不能把P2P融进CDN?我记得一位Akamai的高管对我说过,那不是CDN,CDN是透明的……,因此,让咱们忘了P2PCDN吧……。也许尚未人搞清楚P2P和CDN的关系,那么Cloud呢?也许是个好主意。但实际上客户已经在本身发展他们认为的CDN了,其中也包括所谓的P2P CDN。
那么CDN真的象咱们想象的那么美好么?就像天国王朝里面的圣地?
当年的《天国王朝》,无数的十字军涌向耶路撒冷,那里是天国,是一个可让灵魂升华与遍地黄金的地方,但生活在圣城的人们却发现事实与理想相去甚远……,如今人们涌向CDN,是由于它是一个看起来很美的行业,但实际上如何呢?
自从CDN成为一个业内的大众词汇,CDN服务就像卖白菜同样了,几乎没有人关心你的CDN和别人的CDN有什么差异,只是问多少钱1M,多少钱1G,好用么?回答的也是那么的合乎情理:你能够试试,很差不要钱。
另外一方面,CDN客户的流失率历来没有下过10%,高的公司能够达到20%-30%,测试客户更是今天测,明天走。正是由于这样,客户基本上找不到知足要求的CDN公司,从而让不少人开始质疑CDN自己有问题,甚至忽然以为CDN应该是一个夕阳产业。
好在中国但凡叫得出名字的CDN公司,这几年的收入都是翻翻的,虽然利润少的可怜,并且那些利润也不是从CDN业务中得到的……
但咱们同时发如今美国的Akamai却有着不一样的表现,2007年6亿美金的销售额,1亿美金的纯利润,毛利更是超过40%,2008年至少有30%的成长。难道美国是CDN的天国,而中国就是被异教践踏的土地?仍是咱们并无看到CDN真正的一面?就像柏拉图所描绘的山洞,咱们看到只是火光照耀的影子?
事实上,互联网出现以来,只有CDN是没有海外公司进入中国市场的互联网业务,而正是这样的安排或者壁垒,让中国的CDN与海外的CDN有着巨大的差异。
差异?差距,仍是用差异吧。
(美国的CDN与中国CDN的对比)
在美国,CDN领域里面会有这样一些分类:静态内容的加速,动态内容的加速,大文件下载加速;对不一样的客户类型,还会有不一样的系统与之对应,好比SSL加速,Long Tail加速,Streaming加速;而对不一样行业客户也会有不一样的加速系统,好比媒体类客户加速,电子商务类客户加速,软件与IT行业客户的加速等等。甚至于对不一样的客户规模也会有不一样的系统与之对应:大流量客户的加速,中小客户的加速,甚至我的客户的加速;CDN的系统是一个庞杂而专业性很是强的领域。在这些领域与系统中,全部的功能甚至网络都是不同的,配置的系统也是不同的。
但在中国,这些系统的差异大部分是在售前的嘴里和不知所云的白皮书里面。而网络都是一个,功能都是一个,实现方式也是一个,因此就会出现若是一家CDN公司作不了一个功能,几乎全部的CDN公司都作不到,由于你们都是用最“通用的方式构建本身的通用CDN”,从而使中国CDN成为一个从电信转卖带宽的代理商。
咱们发现了几个有趣的小例子:
中国的网站很注意防盗链(虽然并不注意防盗版),可是竟然没有哪家CDN公司能够提供一个让客户满意的防盗链的系统,虽然各家都在说本身提供防盗链。就象个人一个作远程教育的朋友和我说的同样,“测试了可以叫得出名字的全部的CDN公司,但却没有一家CDN公司能够作好防盗链。”但在Akamai,这是一个好久就标准化的服务了。
中国是一个游戏和软件下载的大国,互联网上的主要流量是下载,而直到最近,国内的CDN公司才开始能够提供基于HTTP下载成功数的统计功能,并且还不是全自动的,是须要客户配合设置才可使用。一样,在Akamai,这也是基本服务项目。
再有一个例子与视频有关了,短视频网站使用的Flash视频,在用户端是和文件下载没有区别的,用户会尽量快的去下载完视频文件,而一般播放一个视频只须要300K码流就能够流畅播放,这样会有两种状况致使资源的浪费,第1、用户看视频并无看完,但下载已经下载完了;第2、用户若是是宽带接入的话,虽然只须要300K带宽,可实际上却使用了1M。对于最终用户来讲,这两点几乎不会有什么实际影响,但对视频网站来讲,这意味着浪费了宝贵的带宽资源,在同等条件下支付了更多的成本。这与上面谈到的HTTP下载成功数计费是一个道理。而在美国,CDN公司是能够控制每一个HTTP连接的速度,好比在开始播放的前30秒,1分钟不进行限速,而超过这个时间,就能够把速度控制在须要的范围内,以节省带宽资源。
至于SLA(服务等级协议),就更加的有趣,一般在中国的SLA是不会做为依据的,而评估好坏的标准是“你本身上网看看就知道了么”,这是中国如今一家发展很快的CDN公司的老总的见解。奇怪的是,使用CDN以后,没有哪家客户有能力在去进行全部地区的测试,看一下本身的网站是否比原来快。在这样的状况下,有些作论坛的客户就会发动本身在各地的版主进行测试,收集意见,而后再告诉CDN公司,大家哪里哪里很差,可否调一下?咱们的CDN服务商而后说,“噢,你先给咱们解释你是怎么测试的?给我一个大家测试的IP,我看看是否是不是中国的IP啊,千万不要给我你本身机器的IP,要给我Local DNS的IP……,不知道Local DNS?怎么连这个都不知道呢?……那是……”(其实我我的以为还应该问问版主是否是中国人,也许这样更容易发现问题),我只能说,这是多好的客户啊……,在美国的CDN服务商会感动的掉泪的。
在美国,用户会天天获得一份SLA报告,会标出在什么时间段SLA没有达到标准,若是用户须要,还会给用户具体哪一个区域没有达到SLA标准,而全部的这些,都只须要用户登陆到BOSS的portal上面。
相似的例子还有不少,好比流的点播加速,长尾市场,小图片的加速等等。这些服务功能的差异也许还不是最主要的,而成本的控制与自动化的运营倒是CDN公司可否盈利的关键,Akamai部署一个客户只须要10分钟,而国内部署须要客户在填写复杂的表格后,耐心的等待1天时间;Akamai管理上万台服务器只须要4我的,任什么时候间10%的服务器宕机都无需处理,由于系统会自动保证服务的可靠运行并自主恢复,而国内最小的CDN公司运维人员也有几十个,而且疲于应付各类“突发”事件。
如今,也许咱们应该提一个建议,开放中国的CDN市场,让大部分中国的网站均可以看到真正的CDN服务是什么样子。
再有一个例子与视频有关了,短视频网站使用的Flash视频,在用户端是和文件下载没有区别的,用户会尽量快的去下载完视频文件,而一般播放一个视频只须要300K码流就能够流畅播放,这样会有两种状况致使资源的浪费,第1、用户看视频并无看完,但下载已经下载完了;第2、用户若是是宽带接入的话,虽然只须要300K带宽,可实际上却使用了1M。对于最终用户来讲,这两点几乎不会有什么实际影响,但对视频网站来讲,这意味着浪费了宝贵的带宽资源,在同等条件下支付了更多的成本。这与上面谈到的HTTP下载成功数计费是一个道理。而在美国,CDN公司是能够控制每一个HTTP连接的速度,好比在开始播放的前30秒,1分钟不进行限速,而超过这个时间,就能够把速度控制在须要的范围内,以节省带宽资源。
至于SLA(服务等级协议),就更加的有趣,一般在中国的SLA是不会做为依据的,而评估好坏的标准是“你本身上网看看就知道了么”,这是中国如今一家发展很快的CDN公司的老总的见解。奇怪的是,使用CDN以后,没有哪家客户有能力在去进行全部地区的测试,看一下本身的网站是否比原来快。在这样的状况下,有些作论坛的客户就会发动本身在各地的版主进行测试,收集意见,而后再告诉CDN公司,大家哪里哪里很差,可否调一下?咱们的CDN服务商而后说,“噢,你先给咱们解释你是怎么测试的?给我一个大家测试的IP,我看看是否是不是中国的IP啊,千万不要给我你本身机器的IP,要给我Local DNS的IP……,不知道Local DNS?怎么连这个都不知道呢?……那是……”(其实我我的以为还应该问问版主是否是中国人,也许这样更容易发现问题),我只能说,这是多好的客户啊……,在美国的CDN服务商会感动的掉泪的。
在美国,用户会天天获得一份SLA报告,会标出在什么时间段SLA没有达到标准,若是用户须要,还会给用户具体哪一个区域没有达到SLA标准,而全部的这些,都只须要用户登陆到BOSS的portal上面。
相似的例子还有不少,好比流的点播加速,长尾市场,小图片的加速等等。这些服务功能的差异也许还不是最主要的,而成本的控制与自动化的运营倒是CDN公司可否盈利的关键,Akamai部署一个客户只须要10分钟,而国内部署须要客户在填写复杂的表格后,耐心的等待1天时间;Akamai管理上万台服务器只须要4我的,任什么时候间10%的服务器宕机都无需处理,由于系统会自动保证服务的可靠运行并自主恢复,而国内最小的CDN公司运维人员也有几十个,而且疲于应付各类“突发”事件。
如今,也许咱们应该提一个建议,开放中国的CDN市场,让大部分中国的网站均可以看到真正的CDN服务是什么样子。
到这里,其实咱们忽略了一个重要的问题,需求!中国的客户使用CDN不少时候是但愿以此解决南北互通的问题,而美国客户没有这个问题,他们使用CDN首要考虑的是off load和下降成本。在有人发现有其余更加经济实惠的方案以后,CDN在米国的日子好像也很差过了。
CDN被逐出了圣地?
BT的出现对媒体行业来讲是打开了一个盒子(也许是潘多拉,也许是宝盒),盗版的发行比以往任什么时候候都要快,成本也更低;而同时,视频直播也达到了史无前例的低成本,咱们也许还记得在P2P客户端上看欧洲杯,看NBA,看奥运,若是是换成CDN,任何公司都会没法负担。
在看看客户状况,伟大的Google是一个什么事情都要in source的公司,它历来不使用CDN,但它的服务遍布全球,Amazon的EC2,SaleForce的CRM系统,Second Life的虚拟世界,他们都没有在CDN上,但他们一样出色,并且看起来更有效率,成本更低。
如今,已经没有人会考虑使用CDN作大规模的直播服务了,充其量是做为一个备份手段;而自从YouTube离开LimeLight之后,CDN的光环也开始慢慢退去,VC和投机者开始又一股脑的质疑这个奇怪的生意,CDN有价值么?为何盈利这么困难呢?就像勇猛的萨拉丁赶走了十字军同样,难道CDN会被P2P和不断升级的光纤所取代?仍是象通过改革的宗教同样,即便历经文艺复兴与科技的反复冲击,而今依然影响着无数的人们。
CDN的宗教革命?
咱们之因此把CDN比做宗教,是由于CDN到如今也有不少“流派”,LimeLight的大节点,大带宽的作法被许多IDC与运营商背景的公司所推崇,而传统的Akamai模式则是独立于运营商以外的CDN公司所首选的道路;而各类新奇理念的出现更是让CDN行业象是一个万花筒,从而也使其拥有更多的互联网气息。Amazon的Cloud Front,EC2;Level 3的ITM;Prime的CDN Aggregation,CDTM;Simple CDN的S3+等等,如此众多的演变,任何一种都是对传统CDN,甚至是对LimeLight模式的革命。感谢LimeLight与Akamai的成功,让不少优秀的工程师与天才的梦想家投入到CDN这个被Akamai一家统治多年的领域,并不断给咱们与CDN客户以惊喜。但当咱们把目光从美国看回中国的时候(上述全部的公司都是美国企业),咱们要面对的是什么样的现实?
中国的CDN是CDN的佛教仍是道教?仍是象柏阳说得被中国这个大染缸去其精华留其糟粕的垃圾?
说道中国的CDN,咱们可能要问:何时CDN开始没人关注SLA?何时CDN开始不提供标准的95/5计费?何时,全网配置的服务被悄悄替换成了“部分”节点配置?何时,CDN变成了一个黑匣子,客户无从了解本身的服务与问题,也没法控制本身的内容的发布与刷新(美国的CDN客户是能够直接本身设置3段TTL时间的)。这些咱们无从而知,由于可能从咱们开始认识中国CDN的时候就已是这个样子了。
因此这些后来的中国的CDN厂商第一件要作的事情就是鼓吹本身的节点数量,而无论是否这些节点都为全部客户提供服务(客户甚至不知道有几个节点在为本身服务。PS:通常状况下,中国CDN公司为每一个客户配置的节点不会超过20个)
因此,当海外的CDN公司在网站上介绍其服务的时候,中国客户一般很难找到他们全球有多少节点的信息,而中国CDN公司则乐此不疲的修改本身的节点地图,也无论地图画得就像一张地雷分布图。而销售人员更是信口开河的讲本身的公司有几百个节点,好笑的是,几乎全部的CDN公司都有“几百”个节点,全中国的IDC恐怕都不够这些CDN公司瓜分的了。
中国CDN已经把CDN本土化了,常常挂在嘴边的是外国公司不了解中国的网络,也许是吧,但到如今为止,没有一家本土CDN公司能够解决教育网的服务质量问题。而大部分的客户到CDN节点机房看到的状况是:“哦,怎么大家在使用和咱们本身同样的系统?!”这是为何呢?由于中国的CDN公司认为CDN是运营业务,就像中国移动,中国电信同样,最主要的是运营;
而象Akamai这样的美国CDN公司首先认为本身是技术公司,而后才是运营公司,Akamai的系统从底层到应用是本身开发的,全部的服务是本身开发的,全部的控制与监管是本身开发的,甚至在早期,连硬件都要本身开发。我记得一位VC界的著名人物这样评价在中国很出名的CDN企业:“他们没有技术”。这就是中国CDN与美国CDN公司的最大差距。那咱们要问,难道十几年中国CDN的发展就白费了么?固然不是的,中国的CDN在花费了大量的时间在处理用户的客户化需求,惋惜这些需求主要表如今计费领域,有的CDN公司竟然有上百种计费方式。
而对于CDN的黑盒子问题(即用户看不到及时全面的数据),就像佛教的禅宗同样,一句“不可说”,客户也没有任何办法。而对于道教的无为则一般会用在对付客户的投诉上面。固然,这是不能责怪CDN的运营人员的,即便在CDN如火如荼的年代,可以说清楚CDN的具体状况与细节的人也仍是少之又少。记得上面提到的发展很快的那家CDN公司的老总说到视频:“咱们以为视频是一个很简单的服务,根本没有难度”,但当客户测试他们视频服务,却选择了其余运营商以后,已经不多听到这种气壮山河的言论了。
中国的CDN虽然经历了很长的时间,但却没有真正的积累下来,而本土化,或者异化的CDN使原本就难于理解的CDN服务被断章取义的成为一个Cache和带宽的替代词汇。
而事实上,真正的CDN服务或者CDN的原本面目咱们也许就从没有见到,就像中国的网站编程,在IE下看的好好的,可是换了浏览器就全乱了,这才发现原来没有按照W3C标准编写,而问题是不少的编程人员根本就没看过这些标准,因此也就不知道原来IE并非严格遵守W3C解析与渲染的。
To be, or not to be: that is the question!
当莎士比亚的这句名言做为出如今这里的时候,咱们应该考虑的是CDN的将来,仍是中国CDN的将来?
让咱们在更高的层面来看待现在的年代,愈来愈多的闪光点出如今这个领域,就像在Google出现以前,没有人关注搜索同样,CDN有可能成为第二个孕育奇迹的行业。CDN伴随着互联网的成长起起落落,如今的服务已经不只仅局限在内容的分发,愈来愈多的CDN公司开始提供以复杂分布式存储为核心的存储网络服务,Amazon的S3是一个典型的表明,而Prime的FileGrid则是另外一个值得关注的方向。Amazon在这个领域已经耕耘多年,虽然不是一个CDN公司,但实际上的服务内容已经涵盖了CDN服务,而其基于运计算的EC2服务更是如今可使用的惟一的“云”了。有人说云计算就是CDN的将来,这也许还很远,Bill Gate的话也许更有道理:“云存储离咱们更近一些”。不管是云计算仍是云存储,对于CDN公司来讲,都要比其余任何行业的公司都要靠近云端,而CDN的路线图也必定会是这样的发展,从内容网络到存储网络再到计算网络,而将来的CDN也会象使用电灯同样容易。
对于CDN的将来憧憬,另外的方向就是CDN云,尽管只是一个概念,但确实是一个很宏伟的想法,虽然如今能够看到的服务只有Prime的CDTM,或许这是CDN云的初级阶段──一个利用众多的CDN网络构建一个更高效成本控制更好与更智能的网络,但谁可以忽视这使人兴奋的进步与想象力?
在中国,各家CDN公司都开始大力开发本身的产品,也从没有象如今这样重视研发。而Akamai,CDNetwork已经开始进入中国;Prime也开始在中国展开一些试探。中国的客户已经开始体验到不一样的服务,有的CDN公司提出的SLA至少看起来已是一份有价值或者是能够度量的标准文件了。虽然路仍是有些漫长,但相信中国的客户将会很快体验到世界水准的CDN服务,以及天才工程师们所创造的更多使人兴奋的网络产品。
中国乃至世界CDN领域的大变革正发生在咱们身边,也许明天你就会看到一个不一样的CDN来到你的眼前。编程