NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
DevOps 在 NetApp:CodeEasy 是这场游戏的关键

向 DevOps(开发与运营合二为一)的转型代表着软件开发方式的重大转变。可扩展性瓶颈、配置延迟或者缺少合适的测试和自动化工具成为公司不能承受之重。NetApp 很早就开始实施 DevOps 并创建了一个名为 CodeEasy 的内部环境,用于为一个拥有 2,000 名用户且分布在各地的大型开发社区自动执行开发以及 QA 工作区的配置过程。

Tech OnTap 最近与 NetApp 开发与发布工程经理 Kumaraswamy Namburu 面对面探讨了为什么 NetApp 大举实施 DevOps,以及公司通过自行过渡可以获得哪些优势。

TOT:为什么 NetApp 工程和运营团队决定采用 DevOps 文化?

Namburu:首先,它可以节省时间。我们共有 2,000 名开发人员,几年前,每一名开发人员经常花费若干小时来创建沙盒以及进行构建和编译。由于他们使用的流程不统一,因此可能会造成开发周期延长,引入风险和不确定性。我们还发现,当时我们采用的方法不能进行扩展,所以我们必须做出改变。

TOT:DevOps 对开发人员和运营人员的日常生活产生了哪些影响?您如何推动大家采用这一模式?

Namburu:他们开展工作的方式没有任何改变!开发人员靠写代码赚钱,他们擅长的也就是编写代码。他们应该拥有自助服务,而且不应受到任何后端复杂性的影响。开发人员发现其中的价值之后,马上就加入了进来。我们实现了 100% 的采用率,但并非一蹴而就。

TOT:向 DevOps 的转型对您的 IT 基础架构方式产生了哪些影响?

Namburu我们必须转变思路,采用不同的思维方式。我们根据具体情况利用公共云,同时使用 NetApp 私有存储来保持数据的控制权。为了保护我们的知识产权,我们还构建了一个 DevOps 私有云环境。我们发现通过更加高效地管理数据就能实现目标,根本不用针对这些问题投入大量资源。

TOT:你们使用哪些工具来引入自动化功能并节省开发人员在配置环境方面所花费的时间?

Namburu:我们自己的技术同样让我们受益匪浅,其中包括集群模式 Data ONTAP、文件系统的时间点 Snapshot 副本、FlexClone、接合路径、无中断运行和 SnapMirror。这些技术与版本管理软件 Perforce Helix 和 NetApp 自行研发的用于自动执行整个版本发布流程的软件相集成。

例如,通过运行一个 CodeEasy 脚本,开发人员可以克隆任何环境并获得一个完整的开发或 QA 沙盒,而且不占用任何存储空间。之后,他们可以将该环境复制到其他开发站点,如此一来,不同时区的开发人员和 QA 团队都可以用同一种方式呈现代码。

多年来,NetApp 软件为开发人员提供了莫大帮助,由于它可以解决常见难点,因此在迁移到 DevOps 的时候变得尤为重要。未采用这些技术的公司不仅浪费存储容量,还在做无用功。

TOT:通过应用 NetApp 技术,DevOps 工作流的哪一个阶段得到了最大改进?

Namburu: 持续集成测试 (Continuous Integration Test, CIT)。每天,我们每 10 分钟就要运行多个持续构建,并且每 3 小时运行一次 CIT,测试对应用程序功能的更改。如果某个变更造成构建或测试中断,系统会自动识别造成中断的变更、自动撤回并为开发人员提供重现问题的自动方式。由于我们在此流程中使用精简克隆和 Snapshot 副本,所以我们不仅缩短了计算周期,还能节省存储 — 我们的 DevOps 私有云可根据长期目标进行扩展。

TOT:公司应该使用哪些指标来衡量通过 DevOps 实现的成功和 ROI?

Namburu: 这取决于您遇到的问题和您希望实现的目标。就 NetApp 的情况来说,数据表明我们最终改善了上市时间和代码质量。如果我们继续沿用过去的老方法,我们不可能实现这样重大的开发里程碑,至少在相同的期限内无法实现。从系统到员工时间,我们还最大限度地提高资源的利用率。

TOT:对于刚刚开始采用 DevOps 的企业,您有哪些建议?

Namburu:首先关注观念,而不是工具。您的难题是 SCM?构建?测试?性能?还是为多个站点的开发人员提供支持?您的难题将在很大程度上决定您选择的工具,但是我们发现任何工作流均能从 NetApp 存储系统提供的丰富的 API 和数据管理服务组合中受益。

Tech OnTap
立即订阅
Tech OnTap 每月发布一次,为用户提供 IT 见解,以及对实际应用的最佳实践、技巧和工具、幕后技术访谈、演示、同行评论等的独家访问。

访问 NetApp 社区中的 Tech OnTap,立即订阅。

2016 年 3 月

关于 NetApp 工程开发工具

主要 DevOps 应用程序

  • Perforce Helix:版本管理和 SCM
  • Jenkins:持续集成工具
  • CodeEasy:内部开发的流程自动化

开发环境

  • 超过 2,000 名开发人员
  • 每名开发人员各有 150 GB 工作空间,包括构建项目
  • 在美国和印度共有四个主站点

存储环境

  • 运行集群模式 Data ONTAP 8.3 的 NetApp FAS 系统
  • 超过 4 PB 存储容量用于 DevOps

DevOps 案例研究

多年来,拉丁美洲最大的在线旅游网站 Despegar.com 的开发人员一直饱受资源访问限制的困扰。他们要依赖运营人员来配置基础架构,还需要求助于 QA 团队分别在投入生产之前和之后对应用程序进行测试。为了消除这些障碍,IT 部分采用 DevOps 方法,并构建了一个私有云,让开发人员可以自助访问基础架构资源。

如今,通过结合使用 DevOps 方式以及基于 OpenStack 和 NetApp 存储搭建的私有云,公司部署新应用程序和更新的能力已经从每周 5 次大幅增加到 1,500 次以上。

阅读 Despegar.com 案例研究

TRUSTe
联系我们   |   如何购买   |   反馈   |   招聘  |   订阅   |   隐私政策   |   © 2016 NetApp