Commit 1c3ae727 authored by Dennis van Rooijen's avatar Dennis van Rooijen
Browse files

Remove meltano references

parent 21d24840
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -197,7 +197,6 @@ You can tag the Data Team in GitLab using:
| [Data CI Jobs](/handbook/enterprise-data/platform/ci-jobs/) |  | [Planning Drumbeat](/handbook/enterprise-data/how-we-work/planning/) |
| [Rstudio Guide](/handbook/enterprise-data/platform/rstudio/) | [Trusted Data](/handbook/enterprise-data/how-we-work/data-development) | [Data Science Team](/handbook/enterprise-data/organization/data-science) |
| [Jupyter Guide](/handbook/enterprise-data/platform/jupyter-guide/) | | [Data Management](/handbook/enterprise-data/data-governance/data-management/) |
| [Meltano Guide](https://internal.gitlab.com/handbook/enterprise-data/platform/Meltano-Gitlab/) | | |
| [Data Onboarding](/handbook/enterprise-data/organization/programs) | | |
| [Learning Library](/handbook/enterprise-data/organization/learning-library/) | | |
| [Tableau Guide](/handbook/enterprise-data/platform/tableau/) | | |
+0 −1
Original line number Diff line number Diff line
@@ -107,7 +107,6 @@ description: "GitLab Data Team Library"
- [Great Expectations](https://greatexpectations.io/slack)
- [Locally Optimistic](https://www.locallyoptimistic.com/community/)
- [Measure](https://docs.google.com/forms/d/e/1FAIpQLSdyAxOcI8z1EEiJDW4sGln-1GK9eJV8Y86eljX-uSlole0Vtg/viewform?c=0&w=1)
- [Meltano](https://join.slack.com/t/meltano/shared_invite/enQtNTM2NjEzNDY2MDgyLWI1N2EyZjA1N2FiNDBlNDE2OTg4YmI1N2I3OWVjOWI2MzIyYmJmMDQwMTY2MmUwZjNkMTBiYzhiZTI2M2IxMDc)
- [Open Data Community](https://opendatacommunity.slack.com)
- [Pachyderm](https://slack.pachyderm.io)
- [Prefect](https://prefect-community.slack.com/join/shared_invite/enQtODQ3MTA2MjI4OTgyLTliYjEyYzljNTc2OThlMDE4YmViYzk3NDU4Y2EzMWZiODM0NmU3NjM0NjIyNWY0MGIxOGQzODMxNDMxYWYyOTE)
+1 −3
Original line number Diff line number Diff line
@@ -79,7 +79,6 @@ This document is limited to describe the Data Platform conceptually. There are o
* [Snowflake](/handbook/enterprise-data/platform/snowflake/)
* [Snowplow](/handbook/enterprise-data/platform/snowplow/)
* [SQL Style Guide](/handbook/enterprise-data/platform/sql-style-guide/)
* [Meltano](https://internal.gitlab.com/handbook/enterprise-data/platform/Meltano-Gitlab/)
* [R/RStudio](/handbook/enterprise-data/platform/rstudio/)
* [Tableau](/handbook/enterprise-data/platform/tableau/)

@@ -109,7 +108,6 @@ Stitch and Fivetran handle the start of the data pipeline themselves. This means

Other solutions we use to extract data are:

1. [Meltano](https://internal.gitlab.com/handbook/enterprise-data/platform/Meltano-Gitlab/)
1. Custom pipelines built in [Python](/handbook/enterprise-data/platform/python-guide/) and orchestrated via [Airflow](/handbook/enterprise-data/platform/infrastructure/)
1. Flows built in Tableau Prep and orchestracted by Tableau Cloud
1. Snowflake [data share](https://docs.snowflake.com/en/user-guide/data-sharing-intro)
@@ -835,7 +833,7 @@ To use our credit consumption effectively, we try to minimize the amount of ware
| `gainsight_xs`       | This is used for gainsight data pump                                                            | 30                  |
| `gitlab_postgres`    | This is for extraction jobs that pull from GitLab internal Postgres databases                   | 10                  |
| `grafana`            | This is exclusively for Grafana to use                                                          | 60                  |
| `loading`            | This is for our Extract and Load jobs and testing new Meltano loaders                           | 120                 |
| `loading`            | This is for our Extract and Load jobs                                                            | 120                 |
| `reporting`          | This is for the BI tool for querying.                                                           | 30*                 |
| `transforming_xs`    | These are for production dbt jobs                                                               | 180                 |
| `transforming_s`     | These are for production dbt jobs                                                               | 180                 |
+2 −2
Original line number Diff line number Diff line
@@ -56,14 +56,14 @@ It is essential to assess current and future requirements for the data because t

ETL Vendors, like Fivetran give us more flexibility than a Snowflake share, but they come with additional cost to our contract. As noted, these can be a great option when we need to move quickly, especially when the criticality of a new data source is unclear.

A lack of flexibility and maintainability is still an important consideration here. We've had trouble managing high complexity pipelines within vendor interfaces, and have experienced pain in change management without the ability to apply approvals or tests to changes. If the complexity of objects and/or attributes is relatively high, it might be worth considering a custom pipeline. Another aspect to consider here is that ETL vendors are often [limited in the scheduling of the refreshes](https://gitlab.com/gitlab-data/analytics/-/issues/21649#note_2262432625)
A lack of flexibility and maintainability is still an important consideration here. We've had trouble managing high complexity pipelines within vendor interfaces, and have experienced pain in change management without the ability to apply approvals or tests to changes. If the complexity of objects and/or attributes is relatively high, it might be worth considering a custom pipeline. Another aspect to consider here is that an ETL vendor is often [limited in the scheduling of the refreshes](https://gitlab.com/gitlab-data/analytics/-/issues/21649#note_2262432625)

The volume of records is also a primary consideration for using Vendors at the moment as they are usually priced on usage. Contract impact is a required evaluation step for this solution. High cost may also warrant a custom pipeline.

Some data sources are just too sensitive to allow for a third party to have access. Keeping the pipeline within our data platform is likely required for such cases.

For Platform efficiency, we do not want vendors in this area with overlapping functionalities. This means we want a maximum of 1 vendor. While vendors often provide different sets of available connectors, the availability of connectors in a different vendor's product is not sufficient justification to add that vendor. A business case to add a new vendor to the Data Platform must include replacing the current existing vendor.
Currently, the Data Platform has multiple vendors (Fivetran, Stitch, and Meltano). This means we will consolidate to 1 vendor (to be determined).
Currently, the Data Platform has 1 vendor: Fivetran.

### Criteria for Custom Pipelines

+1 −5
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ On this page the main intention is to keep all details about the inventory we ar
The motivation is to keep a neat inventory list with details and criteria of who, why, when and what we will upgrade. Also, the plan is to expose detailed conditions regarding the upgrade and command line application to gather all details about the recent and latest versions of Python libraries. The inventory list contains:

- 🐍 `Python` versions in use
- 🛠 Tools we are using (`dbt`, `airflow`, `permifrost`, `meltano`)
- 🛠 Tools we are using (`dbt`, `airflow`, `permifrost`)
- 📚 Python libraries _(packages)_ in use (i.e `pandas`, `requests`, `matplotlib`)

We strive to have a DRI for every tool or package. The DRI responsibility is to keep that tool or package in a healthy shape by advice and or initiate upon upgrades.
@@ -63,7 +63,6 @@ There are several images we are using 🐍`Python`. Various versions are in use
| [ci-python-image](https://gitlab.com/gitlab-data/ci-python-image/-/blob/main/src/Dockerfile)                       | `3.8.3`        | `python:3.8.3-slim-buster`          | `TBA`     | `Data Platform`       |
| [data-image](https://gitlab.com/gitlab-data/data-image/-/blob/master/data_image/Dockerfile?ref_type=heads)         | `3.10.3`       | `python:3.10.3`                     | `TBA`     | `Data Platform`       |
| [dbt-image](https://gitlab.com/gitlab-data/dbt-image/-/blob/main/src/Dockerfile)                                   | `3.10.3`       | `python:3.10.3`                     | `TBA`     | `Data Platform`       |
| [gitlab-data-meltano](https://gitlab.com/gitlab-data/gitlab-data-meltano/-/blob/main/Dockerfile?ref_type=heads)    | `3.8`          | `meltano/meltano:v2.16.1-python3.8` | `TBA`     | `Data Platform`       |
| [mlfow-infra](https://gitlab.com/gitlab-data/mlflow-infra/-/blob/main/mlflow_image/Dockerfile?ref_type=heads)      | `3.8`          | `python:3.8`                        | `TBA`     | `Data Scientists`     |
| [ci-streamlit-image](https://gitlab.com/gitlab-data/ci-streamlit-image/-/blob/main/src/Dockerfile?ref_type=heads)  | `3.12`         | `python:3.12-slim`                  | `@rbacovic`     | `Data Platform`     |
| [ci-accountiq-image](https://gitlab.com/gitlab-data/ci-accountiq-image/-/blob/main/src/Dockerfile?ref_type=heads)  | `3.12`         | `python:3.12-slim`                  | `@rbacovic`     | `Data Platform`     |
@@ -84,7 +83,6 @@ flowchart LR
    pip --> data-image
    pip --> dbt-image
    pip --> mlfow-infra
    pip --> gitlab-data-meltano
    pip --> permifrost
    pip --> ci-accountiq-image
    poetry --> ci-streamlit-image
@@ -114,7 +112,6 @@ flowchart LR
        dbt-image
        gitlab-data-utils
        mlfow-infra
        gitlab-data-meltano
        permifrost
        ci-streamlit-image
        ci-accountiq-image
@@ -160,7 +157,6 @@ This is because anything becomes deprecated usually no longer receives any bug f
| [dbt](/handbook/enterprise-data/platform/dbt-guide/)                   | `1.9.2`        | [link](https://docs.getdbt.com/docs/dbt-versions/core#latest-releases)                                                 | - [dbt best practices for upgrading](https://docs.getdbt.com/docs/dbt-versions/core#best-practices-for-upgrading)<br>- [Upgrading dbt version](https://gitlab.com/gitlab-data/runbooks/-/blob/main/infrastructure/upgrading_dbt_version.md)  | `TBA`      | - `Data Platform`<br>- `Analytics Engineers`<br>- `Data Scientists` | Not more than 2 versions behind (beta release excluded) and minimum support level `critical` |
| [airflow](/handbook/enterprise-data/platform/infrastructure/#airflow)  | `2.10.5`       | [link](https://airflow.apache.org/docs/apache-airflow/stable/installation/supported-versions.html#version-life-cycle)  | [Upgrade Plan for Airflow](https://gitlab.com/gitlab-data/analytics/-/work_items/26008)                                                                                                                                                      | `TBA`      | `Data Platform`                                                     | Current version released > 1 year                                                            |
| [permifrost](/handbook/enterprise-data/platform/permifrost/)           | `0.15.4`       | [link](https://gitlab.com/gitlab-data/permifrost)                                                                      | [Upgrading permifrost version](https://gitlab.com/gitlab-data/permifrost/-/blob/master/RELEASE.md?ref_type=heads)                                                                                                                            | @rbacovic  | `Data Platform`                                                     | Not more than 2 versions behind (beta release excluded)                                      |
| [meltano](/handbook/enterprise-data/platform/Meltano-Gitlab/)          | `2.16.1`       | [link](https://github.com/meltano/meltano/releases)                                                                    | [Upgrade Meltano version](https://gitlab.com/gitlab-data/gitlab-data-meltano/-/merge_requests/34)                                                                                                                                            | `TBA`      | `Data Platform`                                                     | Current version released > 1 year                                                            |

### dbt packages inventory