35 以绝对优势立足:从CDN和云存储来聊聊云生态的崛起

前面几期文章我们介绍了混合云模式,以及面向应用层的云架构解决方案的Spring Cloud。接下来,我们就以蘑菇街的两个具体案例,来分享一下基于混合云模式的具体实践。

今天,我们先一起看一下我们最为熟悉的CDN和云存储建设。

CDN和云存储

我们之前提到,CDN应该算是最早期、最典型的公有云服务,如果我们在业务上用到了CDN服务,其实就已经算是在实践混合云模式了。

蘑菇街作为ToC的电商业务,自然会有大量的图片访问需求,其中尤以商品图片为最。为了保证用户体验,我们的产品在2011年上线之初,就应用了CDN技术,当时我们合作的都是专业的CDN厂商。

当然,大量的图片访问需求会带来大量的图片存储需求,且随着业务高速发展,这个需求量必然会极速增长。

图片的访问需求量往往会以几百万、几千万、几亿到几十亿、上百亿的增长态势呈现。而它所占用的存储空间也会从G扩展到T,到几十T、几百T,再到后来的P级别。

所以,起初我们在业务量不大的时候,还可以把图片存在自己的硬件设备上。再往后可以利用HDFS这样的对象存储技术来实现,CDN回源的请求全部回到我们自己的机房里。

但是再往后,我们在这方面的专业性就不够了。这也是我在[《为什么蘑菇街会选择上云?是被动选择还是主动出击?》]一文中介绍到的:随着体量的增加,CDN对于专业技术深度的要求就越来越高,技术层面的投入也会越来越大,这个就与我们的业务发展诉求不一致了。

因为对于蘑菇街来说,我们还是期望能够把更多的人力和物力应用到业务技术层面,而不是一味耗费在专业技术研究上。

在2013年左右,业界开始出现专业的云存储厂商。在专业技术层面要比我们精深很多,而且他们聚拢了一大批业界专业人才,积累了各类海量存储场景的实践经验,所以他们在产品研发和服务支持上也是能够持续深入的。

基于此,我们后来就选择了将海量的图片放到专业性更强的云存储之上。

到这个阶段,我们的图片访问和图片存储就近乎完全依赖外部第三方的服务,同时也形成了CDN回源访问云存储这样的云应用模式。

再往后发展,随着国内两大公有云巨头腾讯云和阿里云相继杀入CDN市场,这对传统的CDN厂商和新兴的云存储业务造成了很大的冲击。但究其主要原因,我认为还是由于云生态的规模优势发挥了作用。

云生态的优势

上面讲到,我们使用的CDN是专业的CDN厂商业务,但在当时它们并不提供云存储业务。

同时,专业的云存储厂商固然在存储技术上更擅长,加上它们大多属于创业公司,也没有太多的财力和人力再杀入CDN市场。

所以,这两块紧耦合的业务实际是由两类不同的公司在独立发展。但是,在阿里云和腾讯云这样的公有云巨头进入市场后,就极大地改变了这样一个格局。

因为阿里和腾讯各自都有遍布全球的超大规模的自有业务,在CDN、存储技术以及资源上也有很深厚的积累。当公有云蓬勃发展起来之后,这样的技术和资源积累就可以从内部通过云平台输出给公有云的用户。

那么,阿里云和腾讯云这种公有云模式有哪些优势呢?我们将CDN模式与其对比来看。

1.技术层面。CDN模式下,图片上传云存储以及CDN回源云存储,基本都是走公网网络,在国内复杂的网络条件下,传输质量就很难保障。

我记得2015年我来到蘑菇街接手运维的时候,就经常会遇到网站图片展示不出来或者打开特别慢的情况。这就需要找不同的CDN厂商定位一些个例问题,非常耗时且麻烦,令人头痛。

在这种形态下,因为是不同厂商间的协作,所以问题只能在小范围内优化,无法从根本上得到改善。但是,在以阿里云和腾讯云为代表的公有云模式下,这个问题就会迎刃而解。

因为阿里和腾讯这两大巨头各自都有全球规模的业务体量,为了保证自身业务的访问体验,它们一定会在CDN和存储技术的优化、整合上下足工夫,因此更具备自我改进的动力。

尤其是上面我们提到的上传和回源过程,在公有云模式下基本都有专线质量保障。即使没有专线,他们也会不断优化中间的线路质量。

上云后我们最明显的感受,就是上传和回源图片的成功率和速度都有非常大的改善,近一年来,我很少再碰到像图片展示慢这类问题了。

2.成本层面。主要包括三块费用:

  • CDN带宽费用。用户访问带来的CDN流量费用,由各CDN厂商收取。对于传统CDN厂商,之前价格相对固定和平稳,但是近两年公有云厂商入局后不断降价,在价格上有非常大的竞争优势,这也整体拉低了CDN价格。
  • 回源带宽费用。当CDN无法获取到对应图片时,回源到云存储获取,这部分回源带宽费用由云存储厂商收取。但是在云生态模式下,上面提到,CDN和云存储可以整合到某个公有云内部网络体系内,在这个生态中,这部分费用成本就变得非常低了。
  • 存储空间费用。这一项费用由云存储厂商收取,CDN和公有云这两种模式在这一点上没有太大区别。

还有其他诸如裁图、HTTPS等服务,都分别会有不同的计费方式,但是这块不是主要成本。

说到这里,我们从整体的商务角度看一下:如果一位客户在同一个地方购买的服务和资源越多,那么商务运作和议价空间就会越大,得到的优惠力度也会更大。这就跟我们在同一家商店买的东西越多、折扣越多是一个道理。

但是,如果这些服务和资源都是不同厂商的,那就需要多方面沟通。整个过程耗时耗力,且能够得到的优惠空间也非常有限。

所以,整体来看,云生态在CDN和云存储这个层面,实实在在地帮我们降低了成本。

3.生态优势,强者越强。云生态的天然优势在于,云平台上聚集了海量的客户资源,只要进入到这个生态中,一般情况下客户都会首选生态内的产品,而不会再跳出去选择其它独立的产品服务。

甚至即使之前用到了第三方的服务,客户也会逐渐转移回云平台这个生态体系中来。

所以,我们现在可以看到这样一种趋势:很多独立的技术产品,正在向云生态靠拢,选择跟公有云合作,争取让产品进入到某个云生态中,并提供相应的云上解决方案和技术支持。

同时,各大巨头也会寻找在某些特定领域,有相当深度的技术产品进行投资,让这些好的产品和解决方案进入到自己的云生态中,以便进一步为云上的客户提供更全面、灵活和多样性的支持。

总结

通过CDN和云存储这个案例,我们可以清晰地看到,随着公有云的深入发展,特别是公有云巨头的飞速进步,公有云已经形成了自有的、独特的生态体系。

这不仅仅体现在技术和产品层面,而且可以预见其最终还会形成商业层面的体系闭环。

所以,利用云计算的优势,拥抱变化,才能够为我们的业务发展和创新带来更多的可能性。

以上分享的这些内容,是我在近两年的工作中真切经历过的案例和感受,希望能在思路拓展上对你有所帮助。

如果你在这方面有什么好的经验和想法,欢迎你留言与我讨论。

如果今天的内容对你有帮助,也欢迎你分享给身边的朋友,我们下期见!