生命不息 研发不止——存储技术如何跟上DevOps口号?

日期: 2017-03-28 作者:Chris Evans翻译:徐继军 来源:TechTarget中国 英文

本文节选自2017年3月刊《存储经理人:固态闪存之现状》 DevOps术语的涵义是:开发和运营紧密协作,以全新的敏捷开发工作模式实现企业级应用程序的交付。DevOps将某些IT运维职能转移到了开发团队,能够以最快速的方式创建、开发、修订和部署应用程序,而且通常无需和任何运维团队交涉。 要提供一个敏捷或DevOps的环境,包括存储的各种资源都将更注重以云的方式使用和部署。DevOps的发展取决于IT基础设施是否具备足够的灵活性,能否按需提供足够的资源来支持应用程序的创建和部署。

因此,应用开发者会期望DevOps基础设施能支持比从前社区开发全面优化的工作方式。通常情况下,这些优化差异包括以下几点:……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

本文节选自2017年3月刊《存储经理人:固态闪存之现状

DevOps术语的涵义是:开发和运营紧密协作,以全新的敏捷开发工作模式实现企业级应用程序的交付。DevOps将某些IT运维职能转移到了开发团队,能够以最快速的方式创建、开发、修订和部署应用程序,而且通常无需和任何运维团队交涉。

要提供一个敏捷或DevOps的环境,包括存储的各种资源都将更注重以云的方式使用和部署。DevOps的发展取决于IT基础设施是否具备足够的灵活性,能否按需提供足够的资源来支持应用程序的创建和部署。因此,应用开发者会期望DevOps基础设施能支持比从前社区开发全面优化的工作方式。通常情况下,这些优化差异包括以下几点:

  • 资源动态按需可用:在开发过程中,基础架构资源基于耗用需求的变化动态供应。举例来说,这可能意味着一个新的开发环境能够依据需求信息、基于容器和虚拟机组件完成创建过程。
  • 自动化和工作流:按需构建开发环境,并且构建过程尽可能自动完成。在大多数情况下,应用程序开发框架将以主模板作为数据源来创建,然后用于部署应用程序和封装所需的组件(例如数据库服务器、web服务器等等)。
  • 扩展和应变力:DevOps的开发中经常需要调用多个环境,同时测试许多应用程序的不同版本。每个开发人员都会希望拥有自己的环境,但实际使用的时间都并不长。这意味着DevOps环境应该能持续有效地在应用启动前提供资源,然后在应用结束后销毁和回收资源。
  • 支持虚拟机和容器:几乎所有DevOps流程都依赖于虚拟机或者容器实例内的应用程序开发。支持虚拟机和容器的存储平台会提供更轻松的管理和整合体验。

DevOps的应用引入了一系列能实现可持续的应用开发过程的全新工具和框架。这些工具包括类似Jenkins和Computer Science公司的Agility发布管理系统;类似Kubernetes和Mesosphere的业务编排工具;当然,还有虚拟化框架,例如Docker、OpenStack和Vagrant。我们也开始看到平台与存储的整合,为可持续的应用开发实现自动化和安全保障。例如,Docker可以利用存储卷API插件来扩展平台功能,为持久型外部存储提供业务编排。Kubernetes可以利用各种存储资源组成持久性的数据卷,这些资源可以包括传统的数据块和文件接口(iSCSI、FC、NFS)、或者云和开源存储。

我们还应该认识到,DevOps的很大一部分其实就是类似AWS的平台的公共云,在云平台内可以很容易地创建和销毁开发环境。存储通常由云平台管理,并不会暴露给开发人员。正如我们将稍后讨论的,使用公共云支持持续开发任务的一个问题是,怎样利用测试数据来生成开发环境。

资源调配

在DevOps环境内部署存储的难度等同于创建一套私有云。存储资源必须具备按需创建和销毁资源的能力,以更加动态的方式供应。例如,在利用类似Kubernetes或者Mesosphere的编排和管理框架创建一个DevOps环境时,存储只需要简单地提供所需的资源。这意味着自动化API能够按需随时创建LUN和卷,并将它们映射到应用程序。

在类似OpenStack的应用程序部署框架内可以使用插件调用供应商开放的产品自动化接口,从而降低存储资源开销。OpenStack的Cinder项目就包括了动态创建基于块的存储、并将存储资源映射给虚拟机实例的功能。Openstack还有其它针对文件(Manila)和对象(Swift)存储的项目。大多数存储设备和软件定义存储(SDS)供应商都会提供通过提供中间插件来支持Cinder,从而实现编排流程的管理。中间驱动程序会为各厂商的存储平台翻译Cinder指令(如创建卷或删除卷),紧密跟踪记录存储资源和其关联的实例。

很明显,开发环境中的变动频繁程度远超过生产环境。由于资源的周转量巨大,存储平台必须胜任高频次的配置修改。这对旧的存储系统是个问题,因为过去的存储系统配置都几乎一成不变。存储供应商越来越强烈感受到对于“以编程方式”使用代码的需求,命令行界面和图形用户界面已经不再适用,用API来驱动产品已成为一项必备的功能。这些API应该能够并行处理多个请求(即使资源更改请求是串行的)。

多租户

一般情况下,开发人员并不关心资源会以何种方式提供。开发人员关心的是他们环境的可用性,工作期间有足够的服务级别保障。这意味着,在DevOps环境中分配存储资源时,应该着重提供多租户功能。多租户的定义是,在为共享资源提供多用户访问时,任何用户或“租户”都不会互相影响。对于DevOps环境至关重要的是,多租户功能可以严格防止单个应用程序环境消耗过多存储资源,无论是存储容量还是性能。事实上,管理员应限制每个环境的资源消耗量,尤其是在底层硬件和生产系统共用的情况下。

效率

对于高效的开发环境而言,数据优化是极为重要的一个方面。数据优化的必要性显而易见:在从主映像源生成常用开发环境的时候,或者,在生成生产数据的副本的时候。在这些情况下,类似重复数据消除的功能将会显著节省存储容量。

重复数据消除技术加上快照之类的功能让您可以快速、高效地创建大量测试环境。特别是快照功能,可以用最小的开销执行虚拟机实例的克隆。克隆操作远比创建全新虚拟机实例(然后对其进行配置)更加实用,特别是在已经对实例应用了大量自定义配置的情况下。

借用数据

准确的应用程序测试必须借助真实世界的数据,从而尽可能精确反映生产环境。在大多数开发场景下,典型做法是定期对生产数据执行复制或获取快照,并将数据副本作为测试的依据。当然,数据必须妥善地匿名处理,确保客户信息受到充分保护。

在私有云环境中,通过快照、克隆或复制方式创建生产环境的副本映像是比较容易的。这些技术假定开发平台兼容于生产环境,从而允许您将快照的副本移动到另一个平台。另外,生产和开发任务可以运行在同一硬件上,同时还能为生产数据维持恰当的性能级别和服务质量。

将数据搬运到公有云中会带来更多问题,包括在公共云存储数据的成本,将数据复制到云环境耗费的时间。类似Avere Systems vFXT的产品可以在公共云平台上运行,将数据的访问范围从组织内部扩展到云端,从而提高开发数据的可访问性。这些产品的优势是,他们只访问活动数据,从而能优化存储和网络成本。

关于监控

在资源经常被创建和销毁的高周转率环境中,总会存在存储浪费或过度使用的风险。企业频繁创建开发环境然后放弃,最典型情况是事后就忘掉,毕竟随时按需创建和启用一套环境来得太过轻松了。因为许多开发环境一直被创建,却没有及时回收,在极端情况下就很容易导致存储蔓延的后果。监控和维护可以有效控制容量和性能的增长,同时识别不再被使用的环境。监控也是实现资源回收的重要基础,并且需要足够的粒度才能准确跟踪每一个环境的创建,便于未来精准回收。

存储技术

DevOps的兴起也促进了适合敏捷开发的特定存储技术的产生。这些技术包括:

  • 超融合:存储所使用的物理硬件同时也承载应用程序的运行(包括在虚拟机或者容器内运行)。超融合管理软件能隐藏存储视图,消除虚拟机或容器的存储资源配置工作量。超融合产品使实现DevOps的过程变得更容易,只需专注于创建类似虚拟机实例的逻辑对象,而无需操心物理资源的管理。
  • 虚拟机感知的二级存储:二级存储用于存储企业内一切非生产用途的数据,包括备份和归档。存储硬件供应商已经抓住机会,使用虚拟机备份接口为来构建基于磁盘的数据保护系统,支持备份和还原之外的用途。由于虚拟机映像的灵活性,你可以从备份映像中克隆虚拟机和全部应用程序,并且直接在二级存储平台中运行,以低成本构建一套单独的DevOps环境。
  • 软件定义存储:SDS的最初模型从传统的双控制器存储演变而来,让存储软件从硬件中剥离和独立。今天,市场上已经有很多的横向扩展SDS用于数据块、文件和对象存储。其中的很多还是开源平台,可以使用商品硬件实现低成本的存储部署。对于不是非常需要高性能的开发环境,可”自助搭建”的存储产品的成本会显著低于从供应商那里购买成品硬件。

自建还是外购?

总而言之,在DevOps环境内针对存储的要求跟正在流行的私有云如出一辙。随着原本由存储管理员手动处理的工作变成自动化执行,建设存储所需的资源中,人的因素已经不再重要,存储已经开始变得不怎么有存在感了。

传统的存储对于DevOps环境可能最没有吸引力,而最新的横向扩展存储产品则是最完美的替代方案。您也可以选择自己搭建存储而不是购买厂商提供的成品硬件,从而节省大笔金钱。同时,随着开放源代码产品新版本和功能的不断升级,整体成本还有望进一步降低——这就是DevOps口号:生命不息,研发不止。

作者

Chris Evans
Chris Evans

Chris Evans已经在IT行业工作了25年以上。早期的职业生涯始于大型机领域,然后进入存储和系统编程领域,专注于开放系统存储和目前流行的虚拟化和云技术。

翻译

徐继军
徐继军

TechTarget中国特约作者

相关推荐

  • IT存储管理员:多一些业务 少一些比特

    存储专家的日子可能即将结束,然而,尽管某些存储技能已经过时,但存储管理员对于企业利益的重要性也同样重要。

  • 是时候重新思考软件定义存储了

    软件定义的存储市场似乎为用户带来了价值,但为什么还没有广泛采用呢?这其中一个原因是自建SDS的部署模式还没有被广泛接受。

  • 存储经理人2017年9月刊:容器化你的存储

    《存储经理人》2017年9月刊重点关注容器领域的企业级持久数据存储技术,未来我们将看到使用服务器闪存和新兴的持续性闪存的容器认知缓存,并且和持续存储层相结合。同时,NVMe over Fabrics对存储网络环境的革新有目共睹。另外,复制数据管理(CDM)专注于保护生产数据和改进生产数据副本的管理,正在走向主流。

  • 是什么成就了EMC新一代VxRail超融合产品?

    超融合一直是个保持快速增长的市场,越来越多的企业开始采用超融合架构。最近,EMC宣布推出新一代VxRail超融合产品组合,即VxRail 4.5。增强的性能,更灵活的配置,为超融合市场上的企业级用户带来更多更优质的选择。