近几年云原生成为云计算领域炙手可热的话题,并逐渐形成“云原生是企业IT架构未来方向”的业内共识。我们看到,在云原生这一全新的IT架构下,传统存储正面临挑战,而基于容器、Kubernetes(以下简称“k8s”)的云原生架构下的存储新需求愈发旺盛。近日,创道硬科技研究院邀请骥步科技的刘洋总,在线分享了《云原生重塑存储》的主题讲座,以下是讲座要点。

 

什么是云原生?

 

云原生是一个宽泛的概念,并没有明确的定义。CNCF(云原生计算基金会)定义的云原生三大特征:容器化封装、动态和自动化管理(k8s)、面向微服务。相比目前虚机为主的云技术来说,云原生架构更加适合云计算,更能发挥云计算的生产力。

 

这些技术和概念该如何理解呢?

 

容器 (Docker)。2013年,Docker项目正式发布,Docker容器是应用最为广泛的容器引擎,在思科、谷歌等公司的基础设施中大量使用。容器技术跟虚拟化技术做对比,KVM(开源软件,基于内核的虚拟机)等虚拟化技术是在操作系统级别上进行虚拟和隔离,每个虚机都是独立的操作系统。而容器是在一个操作系统中,呈现轻量级的虚拟化。容器内并不封装OS,仅封装程序本身和必要的环境文件,使得每个容器占用的服务器资源更少(一台服务器能够部署更多容器)、启动和运行较虚拟机更快,对IT资源的使用效率更高。

 

Kubernetes(k8s)。容器运行软件程序,程序多了如何调用?为解决这个问题,在docker容器发布的次年(2014年)K8S出现了。K8S是容器编排系统,用于容器管理,容器间的负载均衡,能够自动感知、自动将容器应用在集群内的其他机器里重新运行。

 

微服务是可以独立部署的、小的、自治的业务组件,业务组件彼此之间通过消息进行交互。微服务的组件可按需独立伸缩,具备容错和故障恢复能力。由于微服务架构具有“支持快速上线”“支持独立扩容和恢复”的优势,因此成为云计算应用的标准架构。容器是微服务架构的运行载体。
微服务架构中的核心功能组件包括网关、微服务治理、服务注册、配置管理、限流和熔断、负载均衡、自动扩容、自动故障隔离、自动业务恢复、监控和日志组件等。

 

云原生的技术优势可以极大释放云计算的红利,追求极致弹性和敏捷性;具备高度服务自治和故障治愈(不需要管理员太多干预);异构资源标准化,大规模可复制(满足下游客户专注于应用本身,每朵云k8s都可以运行,可以跨多云做复制)等优势。

 

传统IT架构 VS 虚拟化架构 VS 云原生架构

 

云原生架构的优势体现在哪?

 

传统的IT架构是以服务器、操作系统和程序三层构成,由于不同的服务器、操作系统可能不兼容,在应用开发流程中常出现开发者与使用者的系统环境差异导致程序无法运行的现象,虚拟化架构的出现就是为了解决这一问题。

 

虚拟机架构在宿主机操作系统上增加了虚拟层,其上可以运行不同的、彼此隔离的虚拟操作系统,应用开发者得以将程序与操作系统等环境一起打包后进行分发和安装,从而解决不同的用户系统环境不兼容的问题。

 

基于容器的云原生架构本质上也是虚拟化,然而容器镜像在封装时并不涉及操作系统,仅有程序+运行环境。

 

物理服务器上可以部署多个虚拟机;虚拟机上可以部署多个容器。当然,容器不一定要部署在虚机上,也可以直接运行在物理机上。

 

对于应用开发和提供商而言,下游客户通常已经具备操作系统环境,使用虚拟机再次打包操作系统会造成资源的浪费并降低程序运行速度。容器在提供虚拟化运行空间的同时减少了资源的调用,可以被视作更为轻量、高效的虚拟机。

 

从传统的物理机、虚拟化到容器架构的发展,体现了计算机领域追求低耦合、高灵活性的整体趋势。相比虚拟化架构,云原生架构进一步提升开发效率和运维效率,具备更好的灵活性和扩展性。

 

 

有统计报告分析,94%的国内用户,在开发测试、生产环境其中的一环部署容器,认可云原生是未来的技术趋势。

 

云原生下的存储新需求

 

数字经济主要围绕数据生产和数据消费两个环节展开。两个环节的中枢点就是数据存储,涉及到“存取管保”。

 

云原生时代,存储需求发生了什么变化?

 

一是以应用为中心。存储服务的对象是应用而不再是机器;使用者更多是应用DevOps人员而不是存储管理员。

 

谈存储不能脱离应用。K8s以应用为中心,使云原生存储服务对象不再是机器而是应用。K8s直接面向应用,由此可以实现性能进一步优化(不同的应用对存储性能要求不同)。

 

传统存储里非常难做的是存储容量优化(以更小的物理空间提供更大的存储空间)。对传统存储厂商来说,最难做的就是如何预估存储超售比,不同应用产生的数据空洞也是不一样的。在云原生的生态下,知道了下游应用,云存储厂商有可能做更准确的估算,超售更精确。

 

DevOps是运营和开发团队之间的合并。他们是负责开发,部署和管理应用程序和软件的人。此外,他们部署了不同的自动化工具来自动化开发过程。云原生下,用自动化替代人员管理。

 

二是生来多云。支持多种异构的云基础设施;提供跨多云的数据流动能力。

 

随着云技术越来越成熟,越来越多的企业面临多云的需求:部分对数据安全不敏感且具有大量网络流量的业务需要使用公有云服务,而对数据安全性和服务稳定性要求较高的业务需要使用私有云服务。

 

公有云和私有云在产品设计理念上完全不同,产品的使用方式、运维方式、服务质量、产品参数也完全不同。即使同样是公有云或者私有云,不同的服务提供商之间也存在着巨大差异。多云的环境,对企业的运维团队提出了巨大的挑战。

 

而在云原生架构下,开发者在设计云原生应用时,只需要关注应用被如何创建和部署,无需关注在哪里运行。云原生存储系统可以良好的运行在各种不同服务商提供的公有云环境或私有云环境,并且为运维人员提供相同接口和运维方式,极大的降低运维团队的负担。云原生是屏蔽底层的操作系统,实现数据在不同的基础设施上流动。

 

三是与云原生生态集成。以云原生的方式交付;高度自动化;使用云原生的工具链。

 

云原生存储新机遇在存储服务层

 

 

存储产品的独特价值从平台层向服务层迁移。最早存储是基于本地硬件设备,而后部署在虚拟平台层,现如今云原生架构下,存储平台层比较难产生技术区分点,存储平台层技术已经趋近成熟。从云的角度看,服务层的存储生态正在发生变化,由此带来了存储产品的价值在堆栈上不断上移。

 

2021年是中国“十四五”的开局之年,数字经济被提到了非常高的高度,也将作为接下来五年经济增长最主要的引擎之一,由此带来,制造业、医疗、教育和中小企业的数字化转型进程逐渐加快。存储服务供应商不仅仅是提供给客户存储解决方案,也需要更深层次地考虑到用户的具体应用。以云原生为代表的创新模式,给存储系统带来了新的升级需求。