ResearchOps: The case for DevOps in scientific applications

ResearchOps: The case for DevOps in scientific applications
复制标题

ResearchOps:科学应用中的 DevOps 案例

DOI:
--
复制
发表时间:
2015
期刊:
IFIP/IEEE Symposium on Integrated Network Management
影响因子:
--
通讯作者:
Renato F. G. Cerqueira
Renato F. G. Cerqueira
中科院分区:
--
文献类型:
--
作者:
M. D. Bayser;L. Azevedo;Renato F. G. Cerqueira

文献摘要

被引文献

相似文献

DevOps(“开发”和“运营”的合成词)是一种软件开发方法,它扩展了敏捷哲学,以快速生产软件产品和服务,并提高运营性能和质量保证。它的诞生是为了加快基于Web的系统的交付,并迅速为用户带来新的价值。许多基于Web的系统根据使用趋势发展,但没有明确的长期目标。在广泛使用Web服务之前,大多数有明确目标的软件都是以包的形式交付的,用户可以在自己的系统上安装。新版本的交付频率要低得多,版本之间的周期从几个月到几年不等。开发周期被划分为大型设计、编码和测试阶段,最终发布了一个新的稳定版本。在应用科学背景下的软件开发中,即使目标是明确的,实现它的过程也不是。因此,必须频繁发布捕获当前软件状态的工作版本,以便降低所有风险承担者的风险,并使评估项目的当前状态并将其引向正确的方向成为可能。本文探讨了DevOps概念在改进支持科学项目的软件开发方面的有用性。我们建立了科学项目和Web应用程序开发之间的异同,并讨论了相关方法需要在哪里扩展。在制定的解决方案中讨论了独特的挑战,但仍有悬而未决的问题。所吸取的经验教训被强调为研究项目中应遵循的最佳做法。这种讨论植根于我们在IBM巴西研究实验室的真实项目中的经验,这些经验也同样适用于其他研究机构。
DevOps (a portmanteau of “development” and “operations”) is a software development method that extends the agile philosophy to rapidly produce software products and services and to improve operations performance and quality assurance. It was born to accelerate the delivery of Web-based systems and quickly bring new value to users. Many Web-based systems evolve according to usage trends without a clear long-term goal. Before the widespread use of Web services, most software with a clear goal were delivered as packages that users installed on their own system. New versions were delivered with a much lower frequency, with periods in between versions ranging from months to years. Development cycles were divided into large design, coding and testing phases culminating in the release of a new stable version. In software development in the context of applied science, even when the goal is clear, the process to attain it is not. Hence, working releases that capture the current software state must be released frequently in order to reduce the risks for all stakeholders and to make it possible to assess the current state of a project and steer it in the right direction. This paper explores the usefulness of DevOps concepts to improve the development of software that supports scientific projects. We establish the similarities and differences between scientific projects and Web applications development, and discuss where the related methodologies need to be extended. Unique challenges are discussed herewith developed solutions, and still open questions. Lessons learned are highlighted as best practices to be followed in research projects. This discussion is rooted in our experience in real-life projects at the IBM Research Brazil Lab, which just as well apply to other research institutions.