容器生态与持久性存储的新融合

简介:
  正如最初设想的,容器已经成为无状态型微服务的最佳载体。容器的敏捷、灵活、小开销,与微服务是绝配。因此,容器与DevOps琴瑟和谐,成为近十年的最热门技术,就像装上了火箭发动机一样。

与此同时,“无状态”的负面性,也开始呈现。真正的应用也用容器,但应用都是有状态的。而且,大多数应用存在两种存储形式,数据交换和存档采用第一种,(多种形式的)持久性存储,运行中的应用实例和临时库则用第二种,临时性存储。

容器vs. 虚拟机

与虚拟机不同,应用在无状态容器上运行时,实例是不会持久化的,一旦因任何原因出错,不可能恢复。应用可以访问容器所在主机的存储,但除非容器及其载体也在虚拟机上,否则极易触发安全隐患。反观虚拟机,若当前主机上的实例出故障,虚拟机可以快速重启另一主机上的实例。这一点是容器不被主流IT接受的最主要原因。

行之有效的微服务/小程序架构,需要数据在容器间移动,或者在数据所在地实例化容器服务,这样通常更快。从敏捷和灵活性来看,确实需要一种跨容器的数据状态载体。

现在,应用可在各种平台上构建存储,从对象到块存储,从SAN到超融合。对于想完全取代hypervisor的容器而言,满足广泛的存储方案是完善生态的必经之路。

要说的是,不同玩家,理解上颇有一些哲学上的微妙差异。Hypervisor玩家嚷嚷着支持无状态容器,是因为有状态容器可能会终结hypervisor。一些容器玩家支持无状态容器,也许是“原教旨主义”的体现——在容器的发展早期,“无状态”是其区分hypervisor的一个重要卖点。

大多数容器用户非常喜欢容器的敏捷、易用性。再加上一台服务器能跑3-5倍多实例(相比虚拟机)的事实,简直让DevOps玩家到爱不释手的地步。因此,为容器增加持久性存储功能,一定是其产品变革的首选项。实际上,行业内的变化完全符合这一预期。

容器存储,是一个乱象丛生,百家争鸣的新领域,各家都在积极推出自己独特的方案,彼此互不相容。这虽然让用户头疼,但也正说明这一市场方兴未艾。

产品和供应商

让我们来看看形形色色的容器存储方案。Portworx PWX允许容器挂载共享型的弹性块存储。StorageOS在此基础上,还搭载各种类型/协议的外部存储,并提供压缩。Rancher Labs强项是本地存储,同时支持跨服务器的数据迁移。微软Windows Server提供面向OS内核和Hyper-V实例的共享解决方案。

另外,ClusterHQ使用Flocker,一种开源产品,允许创建跨容器甚至主机的共享存储空间。Flocker本由VMware提供支持,且能与EMC、NetApp等主流供应商产品集成,但ClusterHQ选择完全自主开发,因此就拒绝了VMware的强力支撑。

容器的核心层软件堆栈也有动静。Kubernetes 1.6及更高版本,允许按需存储和多种存储类型,包括所有主流云计算方案底层的StorageClass对象,OpenStack协议簇,VMware vSphere以及三大公有云服务供应商。超融合系统也秘而不宣地整合容器存储,相信Nutanix等供应商不久就会公布升级计划。

有趣的是,容器开发者们喜欢说“持久性数据”,而非“持久性存储”。我一向觉得,传统视野里的文件系统概念,在当前的对象存储、软件定义存储/微服务、细粒度容器虚拟化等新思潮面前,已经过时了。技术演变的结果也许就是,一个全新的细粒度存储。

NVDIMM的出现,这股变革热潮也许将更迫切。几年之内,NVDIMM就会将块存储单元从4KB降到单字节级,因此当前的容器存储很可能完全不适应未来的需要,而持久性数据(存储)才是一个正确的选择。

 
 
 
作者:Jim O'Reilly
来源:51CTO
目录
相关文章
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
611 59
|
存储 监控 对象存储
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
针对本地存储和 PVC 这两种容器存储使用方式,我们对 ACK 的容器存储监控功能进行了全新升级。此次更新完善了对集群中不同存储类型的监控能力,不仅对之前已有的监控大盘进行了优化,还针对不同的云存储类型,上线了全新的监控大盘,确保用户能够更好地理解和管理容器业务应用的存储资源。
768 274
|
Kubernetes 持续交付 开发者
探索后端技术的未来:微服务架构与容器化部署的融合
在数字化时代的浪潮中,后端技术正经历着前所未有的变革。本文将深入探讨微服务架构和容器化部署如何共同推动后端技术的发展,提升应用的性能、可扩展性和可靠性。通过分析现代软件开发的需求,我们将揭示这两种技术如何互补,以及它们在未来后端开发中的潜力和挑战。
|
Kubernetes Cloud Native 持续交付
容器化、Kubernetes与微服务架构的融合
容器化、Kubernetes与微服务架构的融合
622 82
|
存储 监控 对象存储
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
405 0
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
|
存储 监控 对象存储
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
306 1
|
存储 监控 对象存储
ACK容器监控存储全面更新:让您的应用运行更稳定、更透明
介绍升级之后的ACK容器监控体系,包括各大盘界面展示和概要介绍。
|
存储 运维 Kubernetes
容器数据保护:基于容器服务 Kubernetes 版(ACK)备份中心实现K8s存储卷一键备份与恢复
阿里云ACK备份中心提供一站式容器化业务灾备及迁移方案,减少数据丢失风险,确保业务稳定运行。
|
运维 Kubernetes Cloud Native
云原生之旅:容器化与微服务的融合
【10月更文挑战第28天】 在数字化转型的浪潮中,云原生技术如星辰般璀璨,引领着企业IT架构的未来。本文将带你穿梭于云原生的世界,探索容器化技术和微服务架构如何携手共舞,打造灵活、高效的应用部署和运维模式。我们将通过实际代码示例,揭示这股力量背后的奥秘,并展现它们是如何为现代软件开发带来革新。准备好了吗?让我们启航,驶向云原生技术的深海。
|
运维 Cloud Native Android开发
云原生之旅:容器化与微服务架构的融合之道安卓应用开发入门指南
本文将深入探讨云原生技术的核心要素——容器化和微服务架构,并揭示它们如何共同推动现代软件的开发与部署。通过实际案例分析,我们将看到这两种技术如何相辅相成,助力企业实现敏捷、可扩展的IT基础设施。文章旨在为读者提供一条清晰的道路,指引如何在云原生时代利用这些技术构建和优化应用。 本文将引导初学者了解安卓应用开发的基本概念和步骤,从安装开发环境到编写一个简单的“Hello World”程序。通过循序渐进的讲解,让读者快速掌握安卓开发的核心技能,为进一步深入学习打下坚实基础。
264 28