经常会听到大家询问为什么在中国没有可靠的公有云服务。国际上成熟的云服务比如亚马逊AWS,微软Azure和Rackspace等移植到中国固然是难上加难,可是,国内土生土长的阿里云和盛大云等,即使没有政策上面的限制,也面临很多基础设施方面的问题。我一直坚信中国有全世界最聪明最有才华的工程师,技术上给些时间,不会有任何差距。但巧妇难为无米之炊,在中国建立“公有云”服务恐怕是世界上难度最大的。下面列出了这样一些我观察到的不同。
机房基础设施
在美国和欧洲,机房是资本密集型的生意,就好像房地产生意,Equinix,Coresite等是比较大的几家。机房是一种功能性的房地产,对抗震,制冷,电力等等都有不同的需求。Data center数据中心的建设和维护有严格的标准和认证,比如常听到的Tier4 data center,即对不同层级和水准的机房数据中心都拥有一套严格的认证体系。
此外,还有管理方面的诸多认证,比如SAS 70, ISO 27000,甚至环境保护方面的认证LEED Certification。大楼按照机房的要求建好以后欢迎租用。可以是整层,可以半层,甚至几个机柜都可以。公有云服务的提供商就按照自己的要求标准去看市场,很容易找到合适的Data Center。
找不到也没关系,云服务公司有能力按照自己的标准建设机房,因为只需要买地,盖房子,申请电就可以,大大小小的网络运营商们会抢着把光缆拉进来的。所有机房都有meet me room,ISP(互联网基础设施服务商)都把光缆接进去互联。而且考虑在风能,水电便宜,地广人稀的地方建设机房。当地政府也会非常的欢迎。此外,国外的机房普遍比较新。IDC说机房的平均寿命是9年,Gartner则说7年的Data center已经过于老化。
在中国,机房首先是垄断的生意,只有少数有资源的公司才能经营。首推国有电信运营商。中国的机房可能95%以上是电信运营商建设的。上面我还没有说到网络,下面可以展开再说,这里我们只讨论基础设施的部分。运营商们可以硬件上建成看起来还像样的机房,管理上基本没有通过任何标准的认证。事实上造成一种现状,就是中国市场上基本找不过通过管理认证的数据中心。如果实地考察这些数据中心,可以看到的安全措施都往往执行不到位。比如一层层的门不是自动关闭,有时候一直敞开,属于不同客户的机柜进去后可以随意打开。还听说过有的机房工作人员忍不住在室内抽烟。
也许你受够了运营商,想找像美国那样独立运营的数据中心,选择真的不多,质量更良莠不齐。我看过北京东方广场地下室的机房,机房从安全上考虑实际上根本不可以建在地下室。但这家机房有众多世界500强客户。我还看过首都机场附近的机房,从安全上考虑机房也根本不应该靠近机场。上个月,北京某家独立数据中心因为断电,导致亚马逊和凡客等多个网站中断数个小时的服务。但没有办法,即便是亚马逊中国,也必须降低标准才能在中国找到数据中心,这种情况只能是最好的选择了。题外话是,亚马逊中国建立了把国内内容定期备份到亚马逊海外的云服务AWS上的机制,所以是各个网站里最快恢复服务的。在中国,线上业务对运维的挑战恐怕是全世界最大的。
世纪互联算是国内为数不多通过ISO认证的独立运营的数据中心。但在网络的互联上他们也非常依赖于运营商。看他的网站上说BGP(边界网关协议)的带宽全网400多Gbps。这个可能就是全球某个一线互联网公司的日常流量而已。而且,它们的机柜也一直处于供不应求的状况。中国互联网的发展速度非常快,互联网机房基本成为稀缺资源,即使这样那样的问题,仍然是供不应求的。
自建机房?这在中国目前还没有听说成为可能——我指的是真的像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都可以接进来,在这个房间里,做好互联。