一、前言
在刚刚落幕的2019中国数据与存储峰会上,阿里云对象存储OSS(Object Storage Service)和业界专家一起探讨了《企业数据上云构建数据湖的正确姿势》。OSS作为非结构化数据存储池和数据湖底座,为双十一期间淘宝、天猫、支付宝等应用提供了如丝般顺滑的图片、视频体验,OSS基于多年支撑双一的上云经验,从“迁、存、稳、用”四个纬度总结了上云的正确姿势。
二、(迁)数据迁移之道:闪电立方
针对企业的非结构化数据,OSS提供两类迁移方案:
数据迁移时,要基于容量、网络带宽选择合适的方案,同时要关注迁移数据的一致性。
2.1离线迁移(闪电立方设备)
当容量大、带宽小时,推荐离线迁移(闪电立方设备),它有3类设备:
- 闪电立方Mini。迁移数据量为40TB,无需占用机架空间。
- 闪电立方II。迁移数据量为100TB,占用3U机架空间。
- 闪电立方III型。迁移数据量为480TB,占用6U机架空间。
它们迁移的理论带宽都是20Gbps,采用AES-256加密方案,提供最大40:1的压缩能力,支持多种数据源,如NAS、FastDFS、HDFS等。
如2018年迁移115网盘时,因为数据量巨大、迁移时间短,所以选择了离线迁移的闪电立方设备形式。通过双方努力,仅仅45天就完成100PB的数据迁移,迁移完成后115科技总经理刘睿表示:“将基础设施托付给阿里云后,115科技团队得以集中精力,聚焦顶层设计,为用户提供更好的产品体验和服务。”
2.2在线迁移服务
在容量可控、带宽足够时,推荐使用在线迁移服务。当前,支持多种数据迁移方案:阿里云OSS间迁移、HTTP/HTTPS源迁移、七牛云迁移、腾讯云COS迁移、AWS S3迁移、AWS S3 Inventory 迁移、Azure Blob迁移、又拍云迁移、百度云BOS迁移、金山云KS3迁移、谷歌云GCP迁移、ECS数据到OSS的迁移、NAS数据到OSS的迁移。结合OSS的镜像回源功能,可以平滑迁移存量数据,实现业务不中断。
2.3迁移工具
除迁移服务外, OSS还提供迁移工具。容量小于30TB时,推荐使ossutil;容量大于30TB时,推荐使用ossimport,它支持丰富的数据源,可采用单机、多机模式部署,从而适应大规模的数据迁移。
迁移过程中,建议使用CRC64检查数据一致性;同时,可以查看日志、并对比源和目的对象列表,确认迁移完备度。
三、(存)安全存储之道:安全白皮书
数据迁移上云后,就可以参考OSS的安全白皮书做好安全存储工作。实施过程,包括认证、授权、加密、日志监控。
3.1认证
阿里云访问控制RAM(Resource Access Management)认证体系支持云账号(例如邮箱登陆控制台)、RAM用户 (典型如使用Access Key用于开发)、临时安全令牌STS(Security Token Service)、单点登录SSO(Single Sign On)、OAuth认证,以及对象存储OSS的签名URL认证机制。
SSO支持和微软的AD(Active Directory)、Google G Suite、Okta等对接,从而可以使用企业现有的AD账号登陆阿里云。
3.2授权
OSS支持三种授权模式:
- RAM策略授权。基于用户,配置访问资源的策略。
- Bucket策略授权。基于桶资源,配置单用户、多用户、IP的访问策略。
- ACL,分为桶ACL和对象ACL。可以选择设置公共读写、公共读&私有写、私有读写、默认权限(继承桶ACL)。
3.3加密
OSS提供两大类加密方式,服务端加密SSE(Server-Side Encryption)和客户端加密CSE(Client-Side Encryption)。
服务端加密,又分为如下种类:
- SSE-OSS使用OSS完全托管加密,OSS负责对象加密、解密的密钥管理。
- SSE-KMS使用KMS托管密钥进行加解密,它包含三种模式:OSS默认托管的KMS密钥、采用BYOK(Bring Your Own Key)方式管理KMS密钥(该模式又细分为两类:阿里云提供的BYOK材料、用户自有的BYOK材料)。
客户端加密,分为如下两类:
- CSE-C用户自主管理密钥,客户端基于自有技术管理密钥。
- CSE-KMS由KMS托管用户主密钥,客户端使用阿里云KMS技术来管理密钥。
如果对数据非常敏感,推荐客户端加密,从而保证到OSS的全流程都是密文,安全度最高,但对客户端有性能影响。采用服务端加密,卸载加密处理在云上,保证在OSS内部处理时,都是密文。
3.4日志监控
用户在访问 OSS 的过程中,会产生大量的访问日志。日志存储功能,可将 OSS 的访问日志,以小时为单位,按照固定的命名规则,生成一个 Object 写入您指定的 Bucket(目标 Bucket,Target Bucket)。通过这些日志信息,可用于安全审核。
OSS监控服务提供系统基本运行状态、性能以及计量等方面的监控数据指标,并且提供自定义报警服务,帮助跟踪请求、分析使用情况、统计业务趋势,及时发现以及诊断系统的相关问题。
四、(稳)数据保护之道:容灾备份
安全保存好数据后,然后就是做好数据保护,保证数据不丢不错,抵御自然灾害、人为误操作。
4.1跨区域复制
跨区域复制(Bucket Cross-Region Replication)是跨不同OSS数据中心(地域)的存储空间(Bucket)自动、异步复制文件(Object),它会将Object的创建、更新和删除等操作从源存储空间复制到不同区域的目标存储空间。
跨区域复制功能能够很好的提供Bucket跨区域容灾,或满足用户数据复制的法规需求。目标Bucket中的对象是源Bucket中对象的精确副本,它们具有相同的对象名、元数据以及内容,例如创建时间、拥有者、用户定义的元数据、Object ACL、对象内容等。
4.2同城冗余存储
OSS采用多可用区(AZ)机制,将用户的数据分散存放在同一地域(Region)的3个可用区。当某个可用区不可用时,仍然能够保障数据的正常访问。OSS同城冗余存储提供99.9999999999%(12个9)的数据设计可靠性以及 99.995% 的服务设计可用性。
OSS的同城冗余存储能够提供机房级容灾能力。当断网、断电或者发生灾难事件导致某个机房不可用时,仍然能够确保继续提供强一致性的服务能力,整个故障切换过程用户无感知,业务不中断、数据不丢失,可以满足关键业务系统对于“恢复时间目标(RTO)”以及“恢复点目标(RPO)”等于0的强需求。
4.3版本控制
开启存储空间(Bucket)版本控制特性后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。通过文件(Object)的版本控制,用户在错误覆盖或者删除 Object 后,能够将 Bucket 中存储的 Object 恢复至任意时刻的历史版本。
版本控制和数据生命周期结合可实现类似回收站功能,避免软件错误、人为误操作、病毒攻击等逻辑错误造成的数据丢失。
五、(用)价值挖掘之道:数据湖
数据保护完善后,不能作为数据资产静静的躺在角落,而是应该构建数据湖、挖掘数据的价值,这是企业上云最关键的目标。
企业通过构建云上数据湖、挖掘更多价值,从而驱动行业新未来,数据湖构建分为4个环节:
- 多源站数据采集
- 基于OSS构建数据湖
- 进行结构化、非结构化数据处理与分析
- 数据可视化
5.1非结构数据分析
OSS产品长期为行业提供解决方案,基于数据就近处理的架构原则,卸载了合适的算子到存储,提供了丰富的数据处理能力,典型如:
在双十一期间,基于近存储的数据卸载处理框架,大大降低业务的带宽需求,并采用硬件加速技术,实现10倍的图片处理时延优化。
5.2结构化大数据分析
针对结构化数据的大数据分析,OSS和阿里体系的大数据相关产品结合,通过业务打磨,提供了如下典型的解决方案:
- 阿里云 EMR JindoFS + OSS 的大数据分析,它通过OSS做持久化、本地存储缓存加速计算本地化,以及优化的元数据管理,实现比HDFS更佳的性能。
- 阿里云 DLA + OSS 的大数据分析,DLA(Data Lake Analytics)对用户保存在 OSS里面的数据建立数据湖,对数据进行各个维度的分析,分析完成得到业务洞见之后,再把这些产生的结果回流到的 RDS,供前台业务决策。
- 阿里云 MaxCompute + OSS 的大数据分析,实现阿里云计算、数据的生态融合。基于OSS海量视频、图像、音频等数据的巨大价值,拉通OSS数据、TableStore数据、和MaxCompute内部存储数据,在MaxCompute的核心计算引擎上进行融合。
六、总结
综合企业上云的“迁、存、稳、用”的四个步骤:
- 数据迁移,关注数据量、带宽、一致性。
- 安全管理,配置认证、授权、加密、日志监控。
- 数据保护,开启跨域复制、同城冗余、版本控制+生命周期管理。
- 价值挖掘,支持结构化、非结构化数据分析。
通过多年的企业数据上云经验,公共云并非会让企业IT人员失业,而是实现知识拓展、技能提升。因为使用公共云,让基础设施管理就是代码调用(Infrastructure as a code),从而可以让企业IT人员有更多的时间、精力学习最新的技术,比如大数据、AI、5G等。