您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 云计算 > 正文

云存储架构能解决 DevOps 的什么问题?

发表于:2022-06-29 作者:twt社区 来源: twt企业IT社区

一、云存储架构介绍

云存储,也称为数据存储即服务,是对接口后的存储的抽象,可在该接口内按需管理存储。此外,接口抽象化存储的位置,这样一来,不管存储是在本地还是远程(或混合)都无关紧要。云存储基础架构引入新的架构,能够支持为大量潜在用户提供不同水平的服务,以及地理上分散的存储容量。了解云存储架构的关键架构属性,从数据保护和完整性到存储优化。

以目前数据增长的速度来看,云存储越来越流行不足为奇。增长速度最快的数据是归档数据,鉴于很多因素它是云存储的理想之选,这些因素包括成本、访问频率、保护和可用性。但是并非所有云存储都是相同的。云存储的提供商可能主要关注于成本,而其它的云存储提供商可能关注于可用性或性能。因此没有一个架构具有单一侧重点,但是一个架构实现给定特征的程度定义了其市场和适当的使用模型。

不从效用角度谈论架构是很难的。笔者想表达的意思是,通过各种特征度量一个架构,包括成本、性能、远程访问,等等。因此,笔者首先定义一组可度量云存储模型的标准,然后探究云存储架构内的一些有趣的实现。

首先,需要讨论一个通用的云存储架构,如下图所示,设置上下文以供后面探究独特的架构特性。云存储架构主要关乎以一个高度可扩展和多租户的方式按需交付存储。通用的云存储架构包含一个导出 API 以访问存储的前端。在传统的存储系统中,这个 API 是 SCSI 协议;但是在云环境中,这些协议在演化。在那里您可以找到 Web 服务前端、基于文件的前端,甚至更多传统前端(比如 Internet SCSI 或 iSCSI)。在前端后面是一个中间件层,笔者将它称作存储逻辑。该层通过传统的数据放置算法(考虑地理布局)实现各种功能,比如复制和数据简缩。最后,后端实现对数据的物理存储。这可能是一个实现特定功能的内部协议或物理磁盘的一个传统后端。

图片

一个通用的云存储架构图

图中可以看到当前云存储架构的一些特征。注意,没有某一个特征在通用的云存储特性场景中是独有的,需要根据场景选择一些重要的特征。这些特征的定义见下表。

图片

特性中,其中以可管理性和访问方式最重要,其中的含义如下:

可管理性​

云存储的一个重点是成本。如果客户可以购买并在本地管理存储,而不是在云中租赁它,那么云存储市场就会消失。但是成本可划分为两个高级类别:物理存储生态系统本身的成本和管理它的成本。管理成本是隐式的,但却是总体成本的一个长期组成部分。为此,云存储必须能在很大程度上进行自我管理。引入新存储,其中系统通过自动自我配置来容纳云存储的能力和在出现错误时查找和自我修复的能力很重要。在未来,诸如自主计算这样的概念将在云存储架构中起到关键的作用。

访问方法​

云存储与传统存储之间最显著的差异之一是其访问方法,大部分提供商实现多个访问方法,但是 Web 服务 APIs 是常见的。许多 APIs 是基于 REST 原则实现的,即在 HTTP 之上开发(使用 HTTP 进行传输)的一种基于对象的方案。REST APIs 是无状态的,因此可以简单而有效地予以提供。许多云存储提供商实现 REST APIs,包括 Amazon Simple Storage Service (Amazon S3)、Windows Azure,和 Mezeo Cloud Storage Platform。

Web 服务 APIs 的一个问题是,它们需要与应用程序集成,以利用云存储。因此,对云存储也使用常见的访问方法来提供即时集成。例如,NFS/Common Internet File System (CIFS) 或 FTP 等基于文件的协议,iSCSI 等基于块的协议。Nirvanix、Zetta 和 Cleversafe 等云存储提供商提供这些访问方法。

尽管上面提到的协议是最常用的,但也有适合云存储的其他协议。最有趣的其中一个是基于 Web 的分布式创作与版本控制(WebDAV)。WebDAV 也基于 HTTP,且将 Web 作为一种可读写的资源加以启用。WebDAV 的提供商包括 Zetta 和 Cleversafe 等。

二、云存储架构能解决DevOps的什么问题

DevOps是指开发运维一体化,是互联网企业经常采用和谈论的技术,也是迭代应用的基础,从某种程度上说,DevOps可以是云原生应用的代名词。

与传统企业不同,互联网企业采用云原生化设计,微服务化、DevOps、容器更能够适应云环境的需要。在数据存储上,采用多副本、纠删码技术,满足数据存储可靠性的需求。云原生能够和云存储进行完美的融合吗,业内通常将云存储作为容器云的底层存储支撑单元,属于云原生能力生态的一部分。

首先,云存储架构有诸多优点,绝大多数优点由容器云进行能力覆盖,在这其中,一部分优点被DevOps进行复用,如自动化能力、可靠性能力,还包括了数据保护方面的能力。在DevOps体系内,云存储被赋予了一个概念性的名词“BaaS”,BaaS可以分为个层面进行理解,一个是公有云提供云存储服务,从目前情况看,公有云服务商通常借助第三方的云存储厂商的解决方案集成在产品服务目录或marketplace中提供服务,与公有云SaaS服务不同;同时还有一些云存储厂商自己提供服务,但是遇到了比较大的挑战。

第二种服务模式是对云上存储数据提供针对性的服务,比如数据验证,蜜罐测试,安全验证等等业务增值服务,以及帮助用户从云上把数据搬下来,实现数据合规性要求,这也是一种服务。

第三种服务,有很多用户从物理机要迁移到虚拟机,或者从虚拟机迁移到云上,或者从A云到B云。这里面有云间跨云的迁移服务,中间的VCSP的Partner就会利用Veeam的技术帮助实现这样的服务。

三、云存储、云计算、DevOps三者之间的关系

1.云计算和DevOps的关系​

DevOps的定义通常分为两个方面:

(1)开发和运维之间更友好。在使用这个定义的企业中,IT运维是单独存在的,但是对开发人员来说是非常友好的。例如,DevOps在基础设施的配备中为开发人员提供了自助目录,也为新代码的部署提供了技术支持的通道。

(2)DevOps强调独立的综合型团队。在使用这个定义的企业中,开发人员承担运维的责任,反之亦然。

云计算不是一种全新的网络技术,而是一种全新的网络应用概念,云计算的核心概念就是以互联网为中心,在网站上提供快速且安全的云计算服务与数据存储,让每一个使用互联网的人都可以使用网络上的庞大计算资源与数据中心。现阶段所说的云服务是指分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。

DevOps和云计算的出现是由于社会行为的变化以及对企业响应的相应调整。DevOps是一次高级、快速且不间断的软件程序传输过程,云平台是驱动软件实施敏捷性的性能平台。云计算推动IT转型,通过使用具和自动化技术,帮助企业缩减了工作流程,简化并嵌入DevOps流程,提高了效率,从而实现了真正意义上的变革。这两个功能互为关联,以帮助企业控制开发并利用性能,甚至消除了容易出错的环境。

2.云存储和DevOps的关系​

云存储属于云计算体系的范畴,同样也属于基础设施即代码的范畴,云存储和DevOps的集成属于基础设施即代码和DevOps集成中的一个子项。基础设施即代码是一种用描述性的方式来管理基础设施,包括了网络,虚拟机,存储,负载均衡等。

基础设施即代码和DevOps的集成通常在持续交付阶段,通过提供环境支撑、数据支撑、部署支撑等服务能力。基础设施即代码可以在DevOps最佳实践中作为关键的属性,开发人员可以更多地参与定义配置,运维团队在开发过程之前提前介入。以云存储为例,运维团队利用云存储管理工具可以提高服务器状态和配置的可见性,最终为企业内的用户提供可视性,旨在将团队聚集在一起,最大限度地发挥他们的作用。自动化通常旨在解决手动过程中的混乱和容易出错的问题,并使其更高效,更高效。允许创建更好的软件和应用程序,灵活,减少停机时间,并为公司提供整体成本效益的方式。同时,云存储提供的接口服务、可视化服务、监控服务,提高自动化能力的同时,降低技术的复杂性,这种多团队协作的方式也是DevOps的核心思想。

四、云数据和云DevOps的集成方式

早期的DevOps实践,利用云计算的优点,通过改善数据的可访问性来加强协作。然而,这些早期的DevOps实践,通常与业内头部的云供应商签订协议,提供更多的存储容量和看似更灵活、更容易访问的格式。在大多数情况下,这些协议提供了即时的满足感,但随着DevOps能力的扩展,随着DevOps实践不断深入,发现了新的痛点,因为服务费和出口费堆积如山,团队被迫增加预算以满足存储需求,或者冒着满足限制和数据丢失的风险。

这种情况造成了云存储的困境。公司要么为超过他们所需的云存储支付费用,要么不得不选择保留哪些数据,删除哪些数据。这些不可持续的供应商协议引入了扩大或缩小存储空间的财务痛点,超过了保留所有日常产生和收集的宝贵数据的好处。因此,大多数人都停留在考虑存储多少和存储什么的问题上,而不是使用其所有数据来推动业务发展。

这种形式的供应商锁定对DevOps团队来说是一种伤害,因为这些团队依靠看似无穷无尽的数据来进行实验、进行维护以及开发和部署新的应用程序。

最近IDC的一份报告显示,目前仅今年的数据存储量就有望达到59zettabytes,未来三年的创造和消费几乎超过了之前30年的总和。而DevOps固然促成了这一高峰,但随着企业的不断发展和数字化转型,企业所遇到最严重的问题是数据为王的情况下,一家公司无缝存储、访问和利用数据的能力将使其在竞争中脱颖而出。

这种增长的问题是找到在云中可持续存储这些数据的方法,特别是当团队被现有的存储协议所束缚,正在消耗预算时。这要从DevOps团队重新思考他们的方法开始。云战略不需要将云存储和可访问性视为账单和服务限制通知的反复循环,而是需要专注于只为任何特定时间所需的空间付费的能力,而不必担心访问存档数据的额外费用。

如果需要扩大存储容量,想增加多少容量就增加多少容量的可能性较小。企业由于特殊原因需要缩减规模或进行存储资源的释放,或者需要在短时间内访问存档数据,数据容量的弹性伸缩是否能够跟得上企业的发展,这些问题其实都是DevOps团队需要考虑的问题,因此需要云存储在存储的能力上增加存储生命周期管理。

通过这种转变,DevOps团队可以从保存、归档和销毁数据转向收集和利用所有数据,以推动当今数字经济中所需要的数据驱动的洞察力。这种更大能力云存储思维方式的改变消除了限制,并能够以更快、更可持续的速度进行创新。

五、云存储在DevOps发展过程中的展望

人们经常认为DevOps和云存储是独立的实体,但随着软件和应用程序开发发展到包括预测分析等功能,显然需要这两个实体之间的结合。

通过重新思考云存储在业务层的价值,DevOps团队可以释放出更高的效率,从而实现技术创新的下一次革命。​