自建机房?这在中国目前还没有听说成为可能——我指的是真的像Google、 Facebook那样从外到内的自建。只是若干年前听说某家国内的云服务公司要在祁连山利用风能的地方的建IDC,最后没有结果,而力荐这个项目的人也离开公司回美国了。
可能有人说:中国那么多互联网公司,在这样的机房条件下不都在提供服务吗?我们也诞生了那么多好的互联网公司啊。问题是对于云服务提供商来说,是把服务建设在机房里提供给开发者,再面向最终用户服务的。开发者自己的机房坏了,可以骂机房,云服务提供商的机房断电了,自己是千夫所指,骂谁都没有用。而且有实力做公有云服务的都是big name的公司,大家爱惜羽毛,要做都要做高标准的。
网络环境
欧洲和美国的网络是完全的互联互通——美国FCC(联邦通信委员会)有强制的要求。运营商们有的有内容,有的有眼球,对等地位的免费互联,叫peering,不对等的要网间结算,叫买IP transit。但价格也是绝对合理。
今年的行情,1Gbps左右的带宽,自己没有骨干网,到处和人家peering凑起来的接入商,大概1美元/Mbps。Tier 1的ISP,拥有全国骨干网的几家,价格在3-5美元/Mbps。而拥有大量内容的客户,比如Facebook, Google, Netflix,以及云存储和CDN服务商们,可以得到大量免费的带宽,只有小部分需要购买。曾经听过一个数据是美国一家著名的CDN,70%的带宽是免费获得的。
在这个基础上,首先技术上BGP(边界网关协议)是普遍标准,仅仅就DNS服务这种云服务和CDN都会用到的基础服务来说,Anycast是普遍采用的技术。全网的CDN节点,只会给一个IP。无论是云服务还是CDN,除了个别非常老的服务提供商,几乎其它各家用的都是Anycast。其次,网络使用非常方便,我可以开1G的端口,可以开10G的端口,可以买几百Mbps,也可以按照流量使用付费——因为网络是自由互联的,接少数几家就可以得到全国的各个网络的覆盖,任何一个机房都有自己的meet me room。上百家的ISP,甚至世界各国的ISP都可以接进来,在这个房间里,做好互联。
而且机房之间和机房之内的通信也是自由的,拉光纤实现就好。所以AWS的EC2可以推出Multi AZ的概念——同一个地区,推出两个以上独立机房,应用架构可以平行部署在两个机房里,但两个机房又是光纤直连的,媲美同一个机房的内网速度。所以用户完全可以零成本的做到多个机房的部署,不怕单一机房的故障。
而中国的网络环境,至少我看到的是相当差的。即使亚洲的网络普遍存在垄断的情况,中国的情况也是非常恶劣的。两个主要运营商之间的互联互通非常少,我都懒得去CNNIC上查最新的两家之间的互联互通的带宽,因为事实就是秃头上面的虱子,这点带宽纯属摆设。主管部委的网站上公布的互联互通的指导价格是1000元人民币/Mbps,这可相当于是160美元/Mbps啊,这是一个让全世界的人看来都无比震惊的数字!
即使真正通过协商,互联互通的价格低也实际上仍然很高,因为北京市场上的BGP价格在100美元/Mbps。在台湾,中华电信一家独大,政府给的网间互连指导价是5美与啊/Mbps。在香港,HKIX里只要有ISP执照,就可以免费的和HKIX交换流量,和香港的所有运营商免费互联。
这个导致的直接结果是中国有两张隔离的网,。显然运营商们建设的 机房只有自己的网络可以接入,中国的机房没有meet me room。因为大多数的机房只有一个运营商的网络。少数的大客户强势的需要互联互通的,运营商会硬着头皮到另一家里高价把线接进来,当然是客户买单。
这种现状给全国的线上业务带来无尽的麻烦。几乎全部上规模的互联网业务都需要在两家运营商里复制两个以一样的系统,然后用load balancing的技术把电信的流量给电信的机房,联通的给联通。这种重复的建设不知道给运营商贡献了多少收入,以及制造了多少传说中的GDP,但也很大程度上提高了互联网领域的门槛,限制了创新。中国的互联网运维队伍可能是全世界最庞大的。运维甚至成为很多互联网业务的核心竞争力。因为基础设施和网络上太复杂了。