[Proposal] Add DataDog support to extend platform observability options

Overview

2U would like to add the ability to route frontend and backend observability data into a DataDog instance, alongside the already existing ability to do this with New Relic.

Problem

For any number of reasons (cost, feature set, etc) an Open edX instance admin may want to leverage DataDog as its observability tool instead of New Relic. This project will allow for an operator to easily configure their instance to do so.

Use Case(s)

AS AN Open edX instance administrator,
I WANT TO be able to use DataDog
IN ORDER TO achieve a variety of strategic goals

Supporting Data

Proposed Solution

Backends (edx-platform + IDAs):

  • We will enhance the monitoring abstraction layer, by separating out the concrete implementation and making the choice of implementation class will be configurable by each operator.

  • New dependencies and concrete implementations will follow the existing pattern, and will continue to live in the library.

Frontends (MFEs + frontend-build + frontend-platform):

  • The current plan is likely to adjust frontend-build and frontend-platform to support DD following similar patterns to how NR is currently supported.

Plan for long-term ownership/maintainership

  • This integration will be maintained by 2U-arch-bom team.

Open questions for rollout/releases

  • Target to include this in the Sumac release.