云原生时代,谁是容器的最终归宿?

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 容器是云原生时代的基础设施,什么是容器的基础设施?

作者 | 孟威
来源 | 凌云时刻(微信号:linuxpk)


前言

“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。”来自CNCF。

K8S对网络,存储,计算进行了编排,已经成为了云原生的操作系统,给用户展现了一个新的界面,极大的简化了用户的运维,提升了资源的弹性,真正的做到了按需使用,降低了用户的成本。云原生快速被企业和开发者接受。Forrester 预测到2022年, 全球组织/公司在生成环境运行容器化应用,从今天不足30%的比例将大幅度提升到超过75%,企业应用容器化的趋势势不可挡。

image.png


image.png

容器在生产环境的应用的比例快速上涨,从2016年首次调查的23%,到2018年上涨到73%,实际到2020年已经上涨到84%。
image.png

云原生应用正在引领各个应用领域实现云原生化,同时也在深刻改变着应用服务的方方面面。存储作为应用运行的基石,也在服务云原生化过程中提出了更多的需求。云原生存储为了满足云原生特性的要求,可用性、稳定性、扩展性、性能等核心能力都有大幅的优化。

作为国内最大的云产商,阿里云提供了丰富的云原生服务。和网络,计算的编排不同的是,存储需要考虑如何无缝的接入到K8S中进行编排和调度。K8S推出了CSI,通过统一的标准将存储和K8S进行了无缝的对接。本文讨论云原生容器对存储的挑战,面向云原生和容器等领域的发展,阿里云文件存储不断进行云原生适配和演进,完美应对云原生存储挑战,阿里云NAS是容器存储的自然选择。


云原生带来的存储挑战

新的企业负载/智能工作负载容器化、迁云、存储方面遇到的性能、弹性、高可用、安全及生命周期等方面的问题,不但需要存储产品层次的改进,还需要在云原生的控制/数据平面的改进,推进云原生存储和云存储的演进。

1.存储性能挑战:云原生应用在大数据分析、AI 等场景得到广泛应用,这些场景对存储吞吐和IOPS的需求也非常高。通过容器集群,集中处理海量数据,同时启动数千Pod,弹出海量Pod对共享文件系统进行读写。重负载下导致时延增加,高延迟毛刺增多,读写稳定性不足,同时云原生应用的快速扩容、极致伸缩等特性也会考验存储服务在短时间内迎接峰值流量的能力。

  • 集中式高吞吐对共享存储池冲击:高性能计算场景中,集中处理批量数据,同一个存储集群中带宽挤占,造成访问质量下降。
  • 峰值吞吐不足:大规模数据处理,文件数目少,峰值吞吐高,请求密集,接近独占集群的极限带宽。
  • 时延增加导致 GPU 等待:多机多卡 GPU 训练,读密集型。时延增加导致 IOwait 和 GPU 等待。

2.存储弹性挑战:云原生的极致弹性,给存储在弹性方面带来了新的挑战。随着云原生多元业务发展,数据库如MySQL等扩容,元数据管理应用如Zookeeper等在线扩容,本地盘存储容量无法弹性扩容。

3.存储高可用挑战:应用运维、系统运维时,存储随容器迁移的稳定性和可发现性挑战。

4.存储的安全挑战:面向的隔离性要求场景主要是多应用共享,文件系统多租户环境的容量配合,集群级文件系统共享访问的权限控制。用户应用的全链路数据加密要求。

5.存储的生命周期管理挑战:共享文件系统、缓存系统的声明方式创建和删除。


阿里云文件存储如何来应对这些挑战

针对以上在新的计算模式下,存储方面遇到的性能,弹性,高可用,安全,生命周期等方面的问题,不但是需要存储产品层次的改进,更需要在云原生的控制/数据平面的改进,在不久的将来实现稳定,安全,和效率并举的云原生存储。需要在云原生应用层、存储云产品层、底层存储适配和存储核心层都需要做相应的改进和提升才有可能提供更加稳定,安全和高效的面向应用的云原生存储。

随着云原生技术的发展,各个公有云厂商都开始对其云服务进行云原生化改造或适配,提供更加敏捷、高效的服务来适应云原生应用的需求。阿里云存储服务也在云原生应用适配做了很多优化,阿里云文件存储支持 CSI 、Flexvolume存储驱动无缝的衔接了云原生应用和存储服务之间的数据接口。实现了用户使用存储资源时对底层存储无感知,而专注于自己的业务开发。

文件存储NAS为云原生提供了一个完全弹性和共享的文件系统,按需使用,满足云原生极致的弹性。文件存储从性能,弹性,安全,生命周期管理等方面对云原生存储进行了打造和演进。

  1. 在AI,大数据分析,高性能计算领域,阿里云文件系统分散工作负载多文件系统和多个存储集群、多个可用区通过容器编排分散IO到多文件系统。支持客户端本地只读缓存技术、分布式存储,降低网络延迟和IO、GPU等待时间。可以支持刚性交付数十GB吞吐的能力,提升算力。
  2. 弹性方面,NAS支持自由扩缩容,按量付费,是完全托管的文件系统。极速型NAS提供了百us的延时,在金融,互联网等典型的突发弹性场景中,能够在几分钟内启动数千个容器,并完成数据的极速加载、卸载。
  3. 高可用方面,NAS支持容器快速Failover,同时支持存储快照、备份等企业级特性。
  4. 在安全方面,支持全面的AD/ACL权限管理,支持配额,打造了统一命名空间,支持对海量pod间的IO进行隔离和统一管理;文件存储产品支持传输加密、落盘加密等功能。
  5. 面对海量数据,提供了数据生命周期管理,自动归档冷数据,可以降低90%的用户成本。


为什么选择阿里云文件存储作为容器存储?

阿里云文件存储NAS为非结构化数据提供存储服务。随着云原生的快速发展,许多公司的容器化应用程序使用NAS存储数据,有些甚至存储PB级数据。阿里云在云原生布局上提供容器K8s服务(ACK)和弹性容器实例(ECI),容器实例使用NAS文件系统作为持久化存储。容器存储离不开共享文件存储。

阿里云文件存储是云原生、高可用、成本优化的完全托管的文件系统。阿里云文件存储有三款产品,通用型NAS,极速型NAS和并行文件系统CPFS。

image.png

阿里云NAS是容器存储的自然选择,因为它是一种完全托管的服务,配置简单,添加或删除数据时自动扩展,和容器基础架构一样灵活便捷。

image.png

通常,彼此共享数据的容器自然需要共享文件存储,长期运行的容器也可使用共享文件存储应对故障。阿里云文件存储同时满足容器应用场景对持久化存储弹性伸缩、灵活挂载、高性能的需求。此外,容器镜像的配置文件或初始加载数据存储可以在 NAS 文件存储上实现共享,在容器批量加载时实时读取,多 POD 间通过 NAS 共享持久化数据,在 POD 故障时可以进行故障切换。

image.png

随着新技术的发展,机器学习AI和基因处理等大量使用共享文件存储。我们通常看到如下一些示例:

  • Web服务:WordPress之类的内容管理应用程序受益于扩展到多个实例以实现性能和冗余,并且需要在多个实例之间共享上载、插件和模板。
  • 软件开发工具:JIRA和Git之类的开发人员工具需要在实例之间共享数据以实现高可用性,而代码则保留在多个阿里云可用区中以实现持久性。
  • 大数据分析和处理:诸如基因数据处理、Tensorflow机器学习框架需要通过文件系统接口访问数据,并且具有持久的共享存储,可以使多个用户和作业在同一组数据上并行运行。
  • 企业应用程序:共享Notebook(如Jupyter Jupyterhub)需要为notebook和user workplace提供持久存储,拥有共享存储可以使数据科学家轻松协作。


总结

以容器和云原生计算被企业快速接纳,Kubernetes 逐渐成为云原生时代的基础设施,容器服务成为云原生时代基础设施。新的工作负载推进云原生存储和云存储的演进,云原生控制平面实现效率等方面的能力,从数据面提升存储稳定和减小安全隐患,云存储继续夯实性能,容量,弹性,密度等基础能力,共建云原生环境下的存储生态。

阿里云文件存储是容器存储的自然选择,完美应对云原生存储在性能,弹性,高可用,安全,生命周期等方面的数据挑战。阿里云基于云原生文件存储技术的快速演进将不断赋能云原生和容器领域的快速发展。

点击此处,了解更多阿里云文件存储。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
2月前
|
Cloud Native 中间件 调度
云原生信息提取系统:容器化流程与CI/CD集成实践
本文介绍如何通过工程化手段解决数据提取任务中的稳定性与部署难题。结合 Scrapy、Docker、代理中间件与 CI/CD 工具,构建可自动运行、持续迭代的云原生信息提取系统,实现结构化数据采集与标准化交付。
105 1
云原生信息提取系统:容器化流程与CI/CD集成实践
|
9月前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
4月前
|
Kubernetes Cloud Native 区块链
Arista cEOS 4.30.10M - 针对云原生环境设计的容器化网络操作系统
Arista cEOS 4.30.10M - 针对云原生环境设计的容器化网络操作系统
141 0
|
9月前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
382 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
9月前
|
存储 人工智能 调度
容器服务:智算时代云原生操作系统及月之暗面Kimi、深势科技实践分享
容器技术已经发展成为云计算操作系统的关键组成部分,向下高效调度多样化异构算力,向上提供统一编程接口,支持多样化工作负载。阿里云容器服务在2024年巴黎奥运会中提供了稳定高效的云上支持,实现了子弹时间特效等创新应用。此外,容器技术还带来了弹性、普惠的计算能力升级,如每分钟创建1万Pod和秒级CPU资源热变配,以及针对大数据与AI应用的弹性临时盘和跨可用区云盘等高性能存储解决方案。智能运维方面,推出了即时弹性节点池、智能应用弹性策略和可信赖集群托管运维等功能,进一步简化了集群管理和优化了资源利用率。
|
8月前
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。
|
9月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
9月前
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,智算时代云原生操作系统
2024云栖大会,阿里巴巴研究员易立分享了阿里云容器服务的最新进展。容器技术已成为云原生操作系统的基石,支持多样化的应用场景,如自动驾驶、AI训练等。阿里云容器服务覆盖公共云、边缘云、IDC,提供统一的基础设施,助力客户实现数字化转型和技术创新。今年,阿里云在弹性计算、网络优化、存储解决方案等方面进行了多项重要升级,进一步提升了性能和可靠性。
|
9月前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器化到微服务
本文将带领读者踏上云原生的旅程,深入探讨容器化和微服务架构的概念、优势以及它们如何共同推动现代软件的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务应用,并解释相关的配置和操作。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供有价值的见解和实操指南。
|
10月前
|
Kubernetes Cloud Native 开发者
云原生入门:从容器到微服务
本文将带你走进云原生的世界,从容器技术开始,逐步深入到微服务架构。我们将通过实际代码示例,展示如何利用云原生技术构建和部署应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和启示。