亚太内容分发大会暨CDN峰会一直致力于推动CDN产业深度融合发展和市场普及,现已成为亚太地区影响力最大的内容分发网络盛会。十年来,在以阿里云、网宿科技、腾讯云等亚太CDN产业联盟成员孜孜不辍的努力下,CDN产业已经成为基础性设施网络,以坚定的基石之姿,支撑起中国成为世界最大的互联网市场。
随着全球数字化、“一带一路”战略的推进,亚太内容分大会暨CDN峰会的影响力正在逐渐向全球延伸,同时也将中国智造CDN及产业链推广向全球每一个角落。
在6月10日下午举办的【对象存储论坛】上,阿里巴巴资深技术专家、对象存储OSS负责人 罗庆超发表了题为《对象存储OSS支撑CDN场景的经验教训》的精彩演讲。
罗庆超从多个角度出发,讲解了阿里云对象存储OSS和CDN结合过程当中的总结和教训。
一 如何提高互联网全球访问体验
提高互联网全球访问体验,需要全球部署的CDN网络支持,而在双十一这样的特殊节日怎样提高用户体验呢?罗庆超表示可以通过L1-L2-L3缓存再回到源站实现,源站不能是唯一的,要在不同的国家和地区构建源站,在此基础上构建圈层。尤其是在海外,根据国家地区的网络的情况去甄别出50毫秒的圈层、100毫秒圈层等,通过圈层部署源站,再搭建L1、L2、L3缓存,这样应用才能达到秒开效果。对象存储作为CDN源站是非常好的选择,阿里云对象存储OSS支持了淘宝、支付宝等阿里绝大部分应用,支持了CDN百Tbps级别的全球访问流量。
二 如何保护数据隐私和安全防护
如果没有为APP做安全隔离设计,数据就面临泄露的隐患。2020年,全球发生了2932起安全泄露事件,泄露记录达到370亿条。为了防护黑客攻击,对象存储的数据隐私、签名都要做防护。
OSS提供云认证体系、访问授权功能,数据可以只被指定账号使用、指定IP访问,通过日志还可提供访问审计。除了数据隐私被授权访问外,还需要面对应用突然爆发带来的影响,例如游戏类客户被竞争对手攻击,疯狂下载客户的图片、视频,让费用陡然增高,之后欠费停服。因此在CDN层面和对象存储层面,一定要做到防攻击,特别是是CC攻击、DDOS攻击能力,同时OSS提供用户带宽上限、单链接限速、沙箱防护等特性,发现谁攻击就直接把攻击来源拉入黑洞,让攻击方无法攻击整个系统。
三 如何保证数据不丢
访问的数据不存在会导致业务失败,数据丢失对于企业的影响非常大,据统计如果企业丢数据10天,则 93% 的企业将会在一年内倒闭。
没有数据可靠性衡量标准,对于云厂商来说是不可接受的,因此阿里云OSS定义了云可靠性度量的指标。通常业界对象存储是11个9的年可靠性标准,表示每年可丢失0.000000001%对象,这是可度量的值和厂家明确的定义,可以通过该标准来判断可靠性是否满足业界要求。
存储服务是云服务中最基础的,有了这个标准之后就可以让SaaS、PaaS放心使用。OSS经过优化,把这一指标提高了10倍,其中有不少关键技术,例如降低年故障率AFR,故障率降低修复的代价就越小;跨数据中心的算法,实现数据中心损坏依然有方法把数据找回来,通过这些技术把可靠性标准提高。
四 保证数据不错
数据错误存在于以下场景中:使用IT设备的时候经常会遇到这样的问题,硬盘发生静默错误,一块硬盘放置了几年,文件无法找回了,原因是存在硬盘中的介质数据是会翻转的,数据翻转的影响非常大,尤其对于金融系统,1翻转成0带来的影响和损失不可估量。因为规模非常大,除了硬盘静默数据错误外,也会发现服务器的网卡翻转,以及CPU的静默数据损坏。其中CPU静默数据损坏最难处理,谷歌和脸书都发表了相关论文,阿里也正在和高校合作一起探索解决该问题。
除了硬件错误外还有软件错误,特别是软件BUG会导致数据丢失,如果元数据收到影响,则可能从一台机器扩散到一个集群,甚至被数据复制功能扩展到全球整个服务,所以数据出错是非常困难的一件事。通过数据校验设计,端到端全流程跟踪数据错误。单纯依靠主动防护检查是不够的,还需假设数据就会出错来设计防护机制,特别是快速检测BUG、快速修复数据,将整个机制有机结合起来,才能真正的保证数据在软、硬件异常时不丢不错。
五 如何提高数据访问成功率
提高访问成功率,可以提高APP的用户体验。阿里云支撑业界APP的应对方法就是提供99.995%的可用性SLA。日常生活中APP访问成功率影响体验的场景,就是去扫码支付时,一直不成功无法交易。当今的国民级APP应用一旦出现不可用,并且超过30分钟,肯定引起重大舆情。
解决这一问题,需要使用可用性SLA度量指标,业界对象存储典型的可用性SLA为99.9%,而OSS依靠大量的冗余架构设计,将该指标提升了10倍以上,达到99.995%,从而支撑上层APP达到5个9的可用性。除了冗余架构设计外,基于公共云的DEVOPS机制,快速迭代、优化问题、智能运维都是帮助异常快速恢复的关键机制。
六 如何提升容灾能力
针对光纤挖断、地质灾害等意外带来的数据中心级故障OSS做了容灾设计,从一个数据中心将数据复制到另一个数据中心,从而保证业务连续性。
为了让多个数据中心同时提供服务,OSS还提供异地多活解决方案,它结合跨地域复制和镜像回源功能,数据从主站写入,OSS然后复制到备站,然后就可以在三个数据中心读取数据。当在备站读取时没有得到最新数据,那么采用镜像回源去主站读取最新数据。阿里云上有大量应用采取异地多活的方案,提高了数据容灾能力同时,提供多活功能,实现高可用。
七 解决海量数据扩展性
通过业务使用数据的方式来看,目录层级设计是限制文件系统扩展的瓶颈,特别是到了百万亿量级,使用目录的方式非常难。对象存储OSS采用平坦模式管理数据,在EB级规模下实现线性扩展、按需付费、读写高效。
八 如何优化性能
数据存入对象存储后,还要关注性能,特别是带宽、QPS、时延。所以在对象存储设计时,要对这三方面的性能进行全方位考虑,找出数据热点、时延抖动原因,针对瓶颈进行优化,从而实现高性能。针对数据湖场景还提供性能加速器,它靠近计算的可用区部署,让带宽和时延都得到更好的满足。
九 如何高效处理数据
罗庆超以内容分发为例,该场景需要大量处理图片、视频、文档,分发给不同的终端,将不同尺寸的图片在CDN全部缓存,成本很高。可以在需要时,才对图片进行实时处理,此时使用OSS的图片处理功能按需进行图像处理,从而减少在海量的CDN节点来处理图片,大大降低计算成本。
OSS在数据中心内提供数据就近处理框架,该框架支持多种运行环境,能够卸载各种算子,支持实时、离线处理,大幅度优化存储、网络、计算成本,这就是做OSS数据处理背后的设计逻辑。
十 如何提升优化图片体验
通过OSS访问对象的url后面指定参数,就可以完成图片处理,非常简单易用,可以称的上是云上PS,无需本地安装图片处理软件、非常高效,目前支持6种类型的格式,并且通过加速之后时延下降80%-90%。
十一 如何提升优化视频体验
如用户想对视频进行截图,然后进行协作编辑,调用OSS的视频处理就非常合适。只需要在OSS访问对象的url后指定视频截帧参数即可。整个处理都是在后端,对成本、时延、体验都非常好,阿里云上有大量视频团队调用该能力处理数据。
十二 如何提升优化文档体验
处理文档方面,可以直接在对象存储上实现文档的预览和转换,应用最多的就是钉钉。基于钉钉APP,手机上不装任何文档处理软件,就可以实现48种文件的预览,而实际上整个预览都在OSS上完成。文档转换场景,使用最多的就是生活中开发票,其背后就是文档转换,将发票抬头、税号、红印章在word文档中编辑,然后转换成PDF格式,大量线上做文档转换公司也在采用该技术。
十三 如何优化成本
如何降低成本是客户非常关心的问题,每年SS重要的任务就是和业务团队讨论成本怎样优化。从访问的路径可以看到,CDN从L1缓存、L2缓存、L3缓存、再回到源站OSS,在整条路径上拉专线,就能降低成本。第二个路径,如果访问CDN命中率低,客户端可以直接访问OSS,它减少了访问的网络路径从而成本更优,因此根据命中率优化访问路径也是降成本的重要手段。
十四 如何做好数据管理
数据治理,核心是根据数据的热度进行有效的成本优化。不少互联网应用都具有热点效应,数据集中在几周或一个月内高频访问,之后很少使用。因此,热点数据使用性能最好的标准型,价格高、性能好;访问较少的数据,保存到归档性,价格低、性能弱。数据治理时,就要根据数据的冷热度,配置生命周期策略,OSS自动将标准型数据迁移为归档型数据,从而让整体成本更低。
罗庆超最后表示,数据治理是对象存储中很关键的技术,也是很愿意和同仁们一起分享讨论的技术点。