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 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 highlight key directions for improving Ansible, with implications for other IaC technologies, including stronger failure locality to support debugging, clearer separation of language and templating boundaries, targeted documentation, and improved execution backends to address performance issues. By grounding these insights in the real-world struggles of Ansible users, this study provides actionable guidance for tool designers and for the broader IaC community, and contributes to a deeper understanding of the trade-offs inherent in IaC tools.
翻译:基础设施即代码(IaC)工具已彻底改变了IT基础设施的自动化与管理方式,但其日益广泛的应用也向从业者暴露了诸多挑战。本文以主流IaC工具Ansible为视角,通过混合研究方法深入探究从业者面临的实际困境。我们系统分析了来自Stack Overflow、Reddit及Ansible论坛的59,157篇技术讨论帖以识别共性痛点,并辅以对20位不同专业水平从业者的半结构化访谈。基于研究发现,我们提出Ansible改进的关键方向,其启示亦适用于其他IaC技术领域,包括:强化故障局部性以支持调试、明确语言与模板边界、建立精准化文档体系,以及优化执行后端以应对性能瓶颈。通过将研究结论扎根于Ansible用户的实际困境,本研究为工具设计者及更广泛的IaC社区提供了可操作的改进指南,并深化了对IaC工具内在权衡机制的理解。