The Workflows as Code paradigm is becoming increasingly essential to streamline the design and management of complex processes within data-intensive software systems. These systems require robust capabilities to process, analyze, and extract insights from large datasets. Workflow orchestration platforms such as Apache Airflow are pivotal in meeting these needs, as they effectively support the implementation of the Workflows as Code paradigm. Nevertheless, despite its considerable advantages, developers still face challenges due to the specialized demands of workflow orchestration and the complexities of distributed execution environments. In this paper, we manually study 1,000 sampled Stack Overflow posts derived from 9,591 Airflow-related questions to understand developers' challenges and root causes while implementing Workflows as Code. Our analysis results in a hierarchical taxonomy of Airflow-related challenges that contains 7 high-level categories and 14 sub-categories. We find that the most significant obstacles for developers arise when defining and executing their workflow. Our in-depth analysis identifies 10 root causes behind the challenges, including incorrect workflow configuration, complex environmental setup, and a lack of basic knowledge about Airflow and the external systems that it interacts with. Additionally, our analysis of references shared within the collected posts reveals that beyond the frequently cited Airflow documentation, documentation from external systems and third-party providers is also commonly referenced to address Airflow-related challenges.
翻译:工作流即代码范式对于简化数据密集型软件系统中复杂流程的设计与管理正变得日益重要。这些系统需要强大的能力来处理、分析大规模数据集并从中提取洞见。Apache Airflow 等工作流编排平台对于满足这些需求至关重要,它们能有效支持工作流即代码范式的实现。然而,尽管具有显著优势,由于工作流编排的特殊要求以及分布式执行环境的复杂性,开发者仍面临诸多挑战。本文通过手动研究从 9,591 个 Airflow 相关提问中抽取的 1,000 篇 Stack Overflow 帖子,以理解开发者在实现工作流即代码过程中遇到的挑战及其根本原因。我们的分析最终形成了一个包含 7 个高层类别和 14 个子类别的 Airflow 相关挑战层次分类体系。研究发现,开发者在定义和执行工作流时遇到的障碍最为显著。通过深入分析,我们识别出导致这些挑战的 10 项根本原因,包括工作流配置错误、复杂的环境设置,以及对 Airflow 及其交互的外部系统缺乏基础知识等。此外,通过对所收集帖子中共享参考文献的分析,我们发现除了经常被引用的 Airflow 官方文档外,外部系统及第三方提供商的文档也常被用来解决 Airflow 相关挑战。