Page MenuHomePhabricator

[EPIC] Deploy GrowthBook - FY25/26 SDS 2.2
Closed, ResolvedPublic

Description

Background

FY24/25 SDS 2.4 covered the implementation of an initial Experimentation Lab, including:

  • A UI to define and deploy experiments (the so-called xLab UI)
  • A module that performs experiment enrollment at our edge and another in MediaWiki
  • An SDK to get enrollment details for the user and sending experiment-related analytics back to our data lake
  • Updates to EventGate to intake and decorate those events
  • An experiment analytics pipeline

Experiment Platform intends to replace the UI to define and deploy experiments (1) and the experiment analytics pipeline (5) with GrowthBook.

During SDS 2.4, DPE SRE deployed GrowthBook and Experiment Platform did propose a way to connect GrowthBook to our data lake. However, there are there are still risks that we need to mitigate and questions that we need to answer:

  • Risk: Querying our data lake will not be performant enough for our expected use of GrowthBook
  • Risk: We can’t limit GrowthBook’s access to our data lake
  • Risk: GrowthBook’s integration with FerretDB is unstable
  • Unknown: We haven’t integrated GrowthBook with CAS-SSO. What does that look like?
  • Unknown: We haven’t verified that the shape of the data that we’re collecting is compatible with GrowthBook
  • Risk: Experiment Platform onboard WMF staff to GrowthBook to define and deploy experiments, only to find out that they can’t use it as they expected

Fortunately, because of both the architectural decisions we made during SDS 2 and GrowthBook’s modularity, we can replace them out of order, i.e. WMF staff can define and deploy experiments with xLab UI while analyzing them with GrowthBook’s experiment analytics pipeline. Moreover, we can run the current experiment analytics pipeline and GrowthBook’s in parallel.

Experiment Platform believes that GrowthBook should be integrated as an experiment analytics pipeline first because it’s non-disruptive and, per the above, that’s the greatest source of risk.

Proposed Subtasks

Related Objects

StatusSubtypeAssignedTask
ResolvedGehel
ResolvedBTullis
Resolvedbrouberol
DeclinedNone
Resolvedbrouberol
Resolvedbrouberol
Resolvedbrouberol
Resolvedbrouberol
Resolvedbrouberol
Resolvedbrouberol
Resolvedbrouberol
Declinedbrouberol
DuplicateBTullis
DeclinedBTullis
Resolvedbrouberol
Resolvedbrouberol
Resolvedmpopov
Resolvedbrouberol
Resolvedbrouberol
Resolvedbrouberol
Resolvedphuedx
Resolvedbrouberol

Event Timeline

  • Investigate connecting GrowthBook to our Data Lake via Presto and the Hive Metastore, including:
    • Whether the connection is performant
    • Whether the connection can be limited to a subset of tables

@BTullis and I discussed this.

We agreed that there's some give and take with testing whether the connection is performant and is likely to need User Acceptance Testing to validate. But there are dials that DPE SRE can turn, e.g. enabling Presto query caching.

We also agreed that we should investigate limiting the connection to a subset of tables and establishing a process for adding tables to that subset. If we can and the process is estimated to be cheap, then there's no reason why we shouldn't follow the Principle of Least Privilege and do it.

BTullis triaged this task as High priority.Oct 17 2025, 9:47 AM
Gehel renamed this task from [EPIC] Deploy GrowthBook to [EPIC] Deploy GrowthBook - FY24/25 SDS 2.4.Oct 24 2025, 8:32 AM

@phuedx okay to update the title for FY25/26 and (I think?) SDS2.2?

phuedx renamed this task from [EPIC] Deploy GrowthBook - FY24/25 SDS 2.4 to [EPIC] Deploy GrowthBook - FY25/26 SDS 2.2.Nov 10 2025, 1:04 PM
phuedx awarded a token.
Gehel claimed this task.

Deployment is complete. We can still improve integration with the datalake on individual tasks.