Open edX Insights 的开发环境

16 年 2015 月 XNUMX 日 | 作者

今天我们很高兴地宣布发布 打开 edX Analytics Devstack 并想花一些时间来解释这个项目是如何产生的。 非常感谢 Philippe Chiu 和 Braden MacDonald 为使这个项目取得成果所做的英勇努力。

在去年的第一届 Open edX Conference Hackathon 上,Philippe Chiu(来自 IONISx) 提出了一个很棒的项目:运行 整个 edX 分析堆栈 来自 Docker 容器。 该项目的目标是开发类似于大多数 Open edX 开发人员在为 edx 平台开发补丁时使用的开发人员堆栈 (Devstack)。 这个“Analytics devstack”将包含分析系统所需的所有外部依赖项,安装在一个方便隔离的容器上。 

显示分析 devstack 容器内共存的所有服务的图表

显示分析 devstack 容器内共存的所有服务的图表

edX 分析团队一直在 Elastic MapReduce 集群(在 AWS 上)上进行大部分开发,它方便地包含了运行我们的代码所需的所有依赖项。 然而,对于许多开源贡献者来说,这种方法既麻烦又昂贵。 相反,我们想在一个容器内建立一个分析堆栈,它可以摄取跟踪日志(点击流数据),处理它们,并在 行业洞察 (提供给从事 edX 课程的讲师和课程工作人员的分析仪表板)。 Philippe 和我在接下来的两天里研究了实现该目标所需的所有细节。 最后,我们已经走得很远了。 我们能够运行数据管道(edx 分析管道),但仍需要连接一些服务。 在黑客马拉松之后,我花了一点时间推动它,主要是将基于 Dockerfile 的配置转换为 ansible 角色和剧本。 这一添加使我们能够在我们选择的任何地方运行 ansible 配置(包括在 docker 映像构建过程、AMI 构建或 vagrant 映像配置步骤期间)。

快进几个月,布雷登麦克唐纳(从 开放世界) 希望为分析服务做出一些重大贡献。 他还看到了对 edX 分析服务等效的 devstack 的需求,并开发了一个可以运行整个堆栈的功能齐全的 vagrant 映像。 在这样做的过程中,他找出了一些经过初步努力后仍未解决的细节。

edX 工程团队对这一巨大贡献印象深刻,我们认为将其与现有工作合并并生产出最终产品是有意义的:

  • 安装到普通的 Open edX devstack 中,或者在完全独立的虚拟机中启动。
  • 与 LMS 在同一台机器上运行,从而显着简化网络配置,无需担心端口转发和其他此类复杂问题。
  • 与 edx/configuration repo 紧密集成,允许将来简化部署到沙盒和其他 edX 开发环境。
  • 使用与生产环境相同的部署逻辑。
  • 利用支持这些独立部署应用程序 (IDA) 的部署和管理的其他 edX 基础架构。

最终结果是 一组 ansible 角色和剧本 已合并到 edx/configuration repo 中。 现在,只需几个命令,开发人员就可以在虚拟机中建立一个完整的分析开发环境。 在此环境中,您可以在 LMS 中四处点击,运行数据管道,然后在 Insights 中刷新页面以查看图表根据您的操作而发生的变化!

想尝试一下吗? 查看 Analytics Devstack 上的文档!

想让分析开发堆栈变得更好吗? 我们希望通过以下方式对其进行扩展:

  • 我们希望能够在这种环境中运行数据管道验收测试。 目前,有一些 S3 上的硬编码依赖项. edX 工程团队计划在不久的将来这样做。
  • 我们在 edx/edx-analytics-configuration repo 中有一些与分析相关的配置内容,在 edx/configuration repo 中有其他内容。 我们想找出一种策略来降低这种情况的复杂性,通过将逻辑从一个转移到另一个,这样您就可以在一个地方找到与分析相关的操作内容。
  • 使 edx-analytics-pipeline 部署过程更加惯用,并与其他服务(例如 Insights 和 Analytics Data API)保持一致。
  • 允许 Insights 显示今天的数据,而不是总是显示昨天的数据。 一些报告目前在下一个日历日之前不会显示任何更改。

我非常感谢 Braden 和 Philippe 将这一切整合在一起,让我们所有人都能够更轻松、更有效地处理分析堆栈。 我们期待看到 Open edX 社区对 Open edX Insights 的想法有何改变,以及从中开发出哪些酷炫的项目 2015 edX 黑客松公开赛! 我们希望看到你在那里。

Gabe Mulley 是 edX 分析团队的首席软件工程师。

装载

时间更多? 查看下面的文章。

企业学习进军教育科技
征文大丰收
打开 edX 论文征集:7 月 XNUMX 日结束
Open edX 的增量改进
参加 2026 年 Open edX 会议!

2026 年 Open edX 会议将展示世界上最好的开源在线学习管理系统之一 Open edX 平台的创新用例,并发现教学设计、课程群以及操作和扩展 Open edX 平台的方法方面的最新进展,包括突破性技术,例如生成式人工智能。