DevOps 是一种不断演变的理念和框架,倡导更快更优化的应用程序开发,以及更快地向客户发布新的或修订的软件功能或产品。
DevOps 实践有助于应用程序开发团队 (Dev) 与其 IT 运维团队 (Ops) 的同事之间实现更顺畅、持续的通信、协作、集成、可见性和透明度。
“Dev”和“Ops”之间这种密切关系贯穿 DevOps 生命周期的每个阶段:从初始软件规划到编写代码、开发、测试和发布阶段,再到部署、运维和持续监控。这种关系推动了持续的客户反馈循环,包括进一步改进、开发、测试和部署。这些工作的一个成果是更快地持续发布必要的功能变更或新增功能。
有些人将 DevOps 目标分为四类:文化、自动化、衡量和共享 (Culture, Automation, Measurement, and Sharing, CAMS),DevOps 工具可以辅助实现这四个方面的目标。这些工具可以使开发和运维工作流更加简化和协作,自动化执行先前在集成、开发、测试、部署或监控中涉及的耗时的手动或静态任务。
开发运营历史
许多用于简化软件开发和部署的开发运营方法在敏捷软件开发和精益编程方面具有早期的基础。但是,开发运营最初是从几个基层组织发展而来的,目的是协调开发人员及其运营团队对应人员的活动。
21 世纪初,我们发现需要保持 Google 和 Flickr 等热门网站的可用性,以防止出现大量点击。这种需求导致使用软件可靠性工程师( SRE ),即运营人员与开发人员密切合作,以确保在代码投入生产后站点能够持续运行。
2009 年,在一次会议上, Flickr 工程师 John Allspaw 和 Paul Hammond 介绍了自己的类似于开发运营的方法。他们的演示文稿标题为 " 每天部署 10 多人:在 Flickr 上开展开发和运营合作 " 。 同年, Patrick Debois 在比利时组织了第一个 "DevOps 日 " 。此外,随着在全球举办更多的开发运营日,还加入了 #DevOps 话题标签,并获得了势头。
在未来几年中,我们开发了行业和开源工具和框架,并提出了进一步推进 DevOps 目标的建议。
NetApp 和 DevOps
NetApp 通过 DevOps 帮助促进更好的业务成果:运营团队以更少的工程设计提供自动化基础架构,开发人员在可靠且可预测的环境中创建,而摩擦更少。借助 NetApp ® 技术,您可以信心十足地提供企业所需的服务和功能,以便在内部环境和云环境中最大限度地提高开发人员的工作效率。
借助 NetApp ,开发人员,测试, QA 和运营团队可以轻松地将基础架构资源(例如永久性存储卷)用作代码,所有这些资源都可以通过 DevOps 管道中熟悉的工具来实现。例如, NetApp 存储 API 以及 IAC 与 Puppet , Ansible , Docker , Kubernetes 和 OpenShift 等工具的集成。
但是, NetApp 并不只是让开发人员轻松地将存储用作代码。NetApp 技术还可以让运营部门放心地为开发和测试人员配置和交付资源。然后,开发人员和测试人员可以通过自行配置快照或克隆等快速节省时间的存储功能来加快编码和测试周期。借助这些功能,实时生产数据或代码集的副本只需几秒钟或几分钟即可配置为代码,从而加快开发和 QA 工作流的速度。
NetApp 对社区的承诺扩展到了 thePub。此开发人员社区鼓励合作,分享提示和技巧,并围绕最新的 DevOps 实践和协议展开辩论。