前面几期文章我们介绍了混合云模式,以及面向应用层的云架构解决方案的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和云存储这个案例,我们可以清晰地看到,随着公有云的深入发展,特别是公有云巨头的飞速进步,公有云已经形成了自有的、独特的生态体系。
这不仅仅体现在技术和产品层面,而且可以预见其最终还会形成商业层面的体系闭环。 所以,利用云计算的优势,拥抱变化,才能够为我们的业务发展和创新带来更多的可能性。
以上分享的这些内容,是我在近两年的工作中真切经历过的案例和感受,希望能在思路拓展上对你有所帮助。
如果你在这方面有什么好的经验和想法,欢迎你留言与我讨论。
标签:存储,CDN,绝对优势,公有,聊聊,厂商,生态,图片 From: https://blog.51cto.com/course/5826340