Infrastructure as Code (IaC) tools have transformed the way IT infrastructure is automated and managed, but their growing adoption has also exposed numerous challenges for practitioners. In this paper, we investigate these challenges through the lens of Ansible, a popular IaC tool. Using a mixed methods approach, we investigate challenges, obstacles, and issues faced by practitioners. We analyze 59,157 posts from Stack Overflow, Reddit, and the Ansible Forum to identify common pain points, complemented by 20 semi-structured interviews with practitioners of varying expertise levels. Based on our findings, we propose four main recommendations to improve Ansible: 1) refactoring to mitigate performance issues, 2) restructuring higher-level language concepts, 3) improved debugging and error reporting tools, and 4) better documentation and learning resources. By highlighting the real-world struggles of Ansible users, we provide actionable insights for tool designers, educators, and the broader IaC community, contributing to a deeper understanding of the trade-offs inherent in IaC tools.
翻译:基础设施即代码(IaC)工具已经改变了IT基础设施自动化与管理的方式,但其日益广泛的应用也暴露了从业者面临的诸多挑战。本文通过流行IaC工具Ansible的视角,对这些挑战展开研究。我们采用混合研究方法,系统探究从业者遇到的实际困难、障碍与问题。通过分析来自Stack Overflow、Reddit和Ansible论坛的59,157篇帖子,识别出常见痛点,并辅以对20位不同专业水平从业者的半结构化访谈。基于研究发现,我们提出四项改进Ansible的主要建议:1)通过重构缓解性能问题;2)重组高层级语言概念;3)完善调试与错误报告工具;4)优化文档与学习资源。通过揭示Ansible用户在实践中的真实困境,本研究为工具设计者、教育工作者及更广泛的IaC社区提供了可操作的见解,有助于深化对IaC工具内在权衡机制的理解。