科技云报道原创。
据IDC称,到2023年,将有超5亿的应用和服务以云原生的方式进行开发和部署,这一数字与过去40年以来人们开发的应用总数相当。
云原生的加速发展为每个行业带来新的竞争需求,云原生和容器正在迅速转变为应用程序开发和底层云基础设施服务的新蓝图。
但值得注意的是,据CNCF调查显示,目前存储系统依然是云原生场景使用和部署中面临的最主要障碍之一。
云原生环境对存储带来新挑战
存储系统一直以来都是基础设施软件中的核心之一。无论业务采用什么样的运行环境和架构,都离不开存储系统的支撑。
在过去的30年中,业务系统的运行环境经历了巨大的变化,从单独部署的物理机,小规模部署的虚拟化环境,大规模部署的云环境,以及目前的云原生平台。在这个变革的过程中,业务系统对平台敏捷性的要求越来越高。
在物理机时代,运维人员需要手动配置存储系统和部署业务系统,业务上线以周为单位。而在云原生时代,每分钟都可能发布新的应用版本,每天都可能有大量的业务要上线。
这意味着,云原生时代的存储系统,除了要满足性能、稳定性、可靠性的要求以外,还要满足业务系统对敏捷性的要求,能够通过统一的编排系统配合业务上线,并且可以实现快速扩容。
同时,为了减轻运维管理员的工作负担,存储系统自身的自动化运维能力,也成为运维团队关注的核心焦点。
尽管在云原生技术日益普及的今天,在Kubernetes上运行无状态应用已经非常成熟,平滑扩展能力也很强,但对于有状态的应用,数据需要持久化存储,还有很大提升的空间,面临着很多挑战。
据CNCF对于“在使用/部署容器过程中遇到的挑战”的调查报告中显示,云原生存储遇到的挑战表现在以下几个方面:
易用性:存储服务部署、运维复杂,云原生化程度低,缺少与主流编排平台整合
高性能:大量应用IO访问,IOPS需求高,低时延,性能成为应用运行效率瓶颈
高可用:云原生存储已经应用到生产环境,需要高可靠/高可用,不能出现单点故障
敏捷性:PV快速创建、销毁、平滑的扩展/收缩,PV随Pod迁移而快速迁移
云原生存储应具备哪些特点?
云原生存储作为一种存储系统,可靠性、性能、高可用等特点都是必不可少的。除此之外,云原生环境对存储系统提出了更高的要求。
面对诸多挑战云原生存储应具备哪些特点呢?
尽量减少环境依赖
云原生存储系统应尽量不对软硬件环境存在任何依赖,例如对内核的依赖,对特定的网络设备和磁盘型号的依赖等等。只有尽量少的依赖,才能够做到最大的适配性。
避免资源消耗过高
云原生存储系统以容器的形式和业务系统混合部署在容器平台上。如果存储系统占用过多的计算资源(CPU、内存),则会导致整体投入成本太高。
声明式运维方式
存储系统应支持通过声明式的接口进行运维管理,同时支持一定程度的自动化运维,包括在线扩容、升级等等。当发生硬件故障时,存储服务可以自动恢复,以保证业务系统不受影响。
云原生生态
云原生存储还需要能够很好地和其他云原生基础设施配合,例如云原生数据库,使得云原生数据库可以真正的在公有云和私有云都能够得到一致的用户体验。同时,云原生存储应该很好地和云原生的运维生态系统结合,包括监控、报警、日志处理等待。
总体而言,云原生存储系统可以运行在各种不同服务商提供的公有云环境或私有云环境中,并且为运维人员提供相同接口和运维方式,极大降低运维团队的负担。
市场上的云原生存储方案
为了更好的理解在云环境中如何构建云原生存储,先看几个在Kubernetes企业环境中部署主流的云原生存储方案。
Ceph on Kubernetes with Rook
Ceph是圣克鲁兹加利福尼亚大学的Sage Weil在2003年开发的,也是他博士学位项目中的一部分。Ceph LTS成熟稳定、高可用、生态强大,在云原生时代和Kubernets紧密集成。
Ceph基于RADOS(Reliable Autonomic Distributed Object Store)的高可用存储,在云原生时代之前已经广泛生产部署的高可用存储,支持最广泛的块存储RBD、文件POSIX Cephfs,以及对象存储访问协议。
RedHat/SUSE目前是Ceph最主要的商业化支持者,在多个容器平台落地案例中,RBD、CephFS 都被采用作为容器平台实施的主要存储,用来弥补基础云存储的缺失。
Rook目前是在Kubernetes产品级可用的部署和运维Ceph编排工具。
Portworx
Portworx以容器服务的方式部署,每个节点称为PX,向下对接各种公有云的块存储或者裸金属服务器,向上提供块或文件服务。
不绑定硬件形态和厂商,可接入任何一家公有云或者自建服务器集群(只需支持iSCSI或FC 协议),目前Portworx主打能力云灾备DR、多云复制,具备完备的快照(ROW)、多云管理、同步复制(RTO,秒级)异步复制(RPO
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?