Skip to content

Commit

Permalink
Pipelines and Collaboration
Browse files Browse the repository at this point in the history
  • Loading branch information
wg102 committed Oct 31, 2023
1 parent e94daf6 commit 5d0953b
Show file tree
Hide file tree
Showing 6 changed files with 56 additions and 138 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

The ArcGIS Enterprise Portal can be accessed in either the AAW or CAE using the API, from any service which leverages the Python programming language.

For example, in AAW and the use of [Jupyter Notebooks](https://statcan.github.io/aaw/en/1-Experiments/Jupyter/) within the space, or in CAE the use of [Databricks](https://statcan.github.io/cae-eac/en/DataBricks/), DataFactory, etc.
For example, in AAW and the use of [Jupyter Notebooks](../../1-Experiments/Jupyter/) within the space, or in CAE the use of [Databricks](https://statcan.github.io/cae-eac/en/DataBricks/), DataFactory, etc.

[The DAS GAE ArcGIS Enterprise Portal can be accessed directly here](https://geoanalytics.cloud.statcan.ca/portal)

Expand Down
30 changes: 7 additions & 23 deletions docs/en/4-Collaboration/Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,39 +16,27 @@ Sharing code, disks, and workspaces (e.g.: two people sharing the same virtual m
??? question "What is the difference between a bucket and a folder?"
Buckets are like Network Storage. See the [Storage overview](../5-Storage/Overview.md) for more discussion of the differences between these two ideas.

Choosing the best way to share code, data, and compute all involve different factors, but you can generally mix and match (share code with your team through
Github, but store your data privately in a personal bucket). These cases are described more in the below sections.
Choosing the best way to share code, data, and compute all involve different factors, but you can generally mix and match (share code with your team through Github, but store your data privately in a personal bucket). These cases are described more in the below sections.

## Share code among team members

In most cases, it is easiest to share code using GitHub or GitLab to share code.
The advantage of sharing with GitHub or GitLab is that it works with users
across namespaces, and keeping code in git is a great way to manage large
software projects.
In most cases, it is easiest to share code using GitHub or GitLab to share code. The advantage of sharing with GitHub or GitLab is that it works with users across namespaces, and keeping code in git is a great way to manage large software projects.

<!-- prettier-ignore -->
??? note "Don't forget to include a License!"
If your code is public, do not forget to keep with the Innovation Team's guidelines and use a proper License if your work is done for Statistics Canada.

If you need to share code without publishing it on a repository,
[sharing a namespace](#share-compute-namespace-in-kubeflow) might work as well.
If you need to share code without publishing it on a repository, [sharing a namespace](#share-compute-namespace-in-kubeflow) might work as well.

## Share compute (namespace) in Kubeflow

<!-- prettier-ignore -->
!!! danger "Sharing a namespace means you share **everything** in the namespace"
Kubeflow does not support granular sharing of one resource (one notebook, one volume, etc.), but instead sharing of **all** resources. If you want to share a Jupyter Notebook server with someone, you must share your entire namespace and **they will have access to all other resources (Azure Blob Storage, etc.)**.

In Kubeflow every user has a **namespace** that contains their work (their
notebook servers, pipelines, disks, etc.). Your namespace belongs to you, but
can be shared if you want to collaborate with others. You can also
[request a new namespace](Request-a-Namespace.md) (either for yourself or to
share with a team). One option for collaboration is to share namespaces with
others.
In Kubeflow every user has a **namespace** that contains their work (their notebook servers, pipelines, disks, etc.). Your namespace belongs to you, but can be shared if you want to collaborate with others. You can also [request a new namespace](Request-a-Namespace.md) (either for yourself or to share with a team). One option for collaboration is to share namespaces with others.

The advantage of sharing a Kubeflow namespace is that it lets you and your
colleagues share the compute environment and volumes associated with the
namespace. This makes it a very easy and free-form way to share.
The advantage of sharing a Kubeflow namespace is that it lets you and your colleagues share the compute environment and volumes associated with the namespace. This makes it a very easy and free-form way to share.

To share your namespace, see [managing contributors](#managing-contributors)

Expand All @@ -70,15 +58,11 @@ To learn more about the technology behind these, check out the

### Sharing with the world

Ask about that one in our [Slack channel](https://statcan-aaw.slack.com). There
are many ways to do this from the IT side, but it's important for it to go
through proper processes, so this is not done in a "self-serve" way that the
others are. That said, it is totally possible.
Ask about that one in our [Slack channel](https://statcan-aaw.slack.com). There are many ways to do this from the IT side, but it's important for it to go through proper processes, so this is not done in a "self-serve" way that the others are. That said, it is totally possible.

## Managing contributors

You can add or remove people from a namespace you already own through the
**Manage Contributors** menu in Kubeflow.
You can add or remove people from a namespace you already own through the **Manage Contributors** menu in Kubeflow.

![ Manage Contributors Menu](../images/kubeflow_contributors.png)

Expand Down
25 changes: 6 additions & 19 deletions docs/en/4-Collaboration/Request-a-Namespace.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,23 @@
# Overview

By default, everyone gets their own personal namespace, `firstname-lastname`. If
you want to collaborate with your team, you can
[request a new namespace](Request-a-Namespace.md#requesting-a-namespace) to
[share](Overview.md#share-a-namespace-in-kubeflow).
By default, everyone gets their own personal namespace, `firstname-lastname`. If you want to collaborate with your team, you can [request a new namespace](Request-a-Namespace.md#requesting-a-namespace) to [share](Overview.md#share-a-namespace-in-kubeflow).

# Setup

## Requesting a namespace

To create a namespace for a team, go to the AAW portal. **Click the &#8942; menu
on
[the Kubeflow section of the portal](https://analytics-platform.statcan.gc.ca/)**.
To create a namespace for a team, go to the AAW portal. **Click the &#8942; menu on [the Kubeflow section of the portal](https://www.statcan.gc.ca/data-analytics-services/aaw)**.

![The hamburger menu to the right of Kubeflow on the portal](../images/KubeflowNamespace.PNG)

Enter the name you are requesting and submit the request. Be sure to use only
lower case letters plus dashes.
![Submit your request for a shared namespace](../images/KubeflowNamespace2.png)
Enter the name you are requesting and submit the request. Be sure to use only lower case letters plus dashes. ![Submit your request for a shared namespace](../images/KubeflowNamespace2.png)

<!-- prettier-ignore -->
!!! warning "The namespace cannot have special characters other than hyphens"
The namespace name must only be lower-case letters `a-z` with dashes. Otherwise,
the namespace will not be created.
The namespace name must only be lower-case letters `a-z` with dashes. Otherwise, the namespace will not be created.

**You will receive an email notification when the namespace is created.** Once
the shared namespace is created, you can access it the same as any other
namespace you have through the Kubeflow UI, like shown below. You will then be
able to [share and manage](Overview.md#share-compute-namespace-in-kubeflow) to
your namespace.
**You will receive an email notification when the namespace is created.** Once the shared namespace is created, you can access it the same as any other namespace you have through the Kubeflow UI, like shown below. You will then be able to [share and manage](Overview.md#share-compute-namespace-in-kubeflow) to your namespace.

To switch namespaces, take a look at the top of your window, just to the right
of the Kubeflow Logo.
To switch namespaces, take a look at the top of your window, just to the right of the Kubeflow Logo.

![Select your Namespace](../images/kubeflow_manage_contributors.png)
90 changes: 23 additions & 67 deletions docs/fr/4-Collaboration/Aperçu.md
Original file line number Diff line number Diff line change
@@ -1,110 +1,66 @@
Il existe de nombreuses façons de collaborer sur la plateforme. Selon votre
situation,ce qu vous voulez partager et le nombre de personnes que vous
souhaitez partager avec. Les scénarios se décomposent en gros en ce que vous
voulez partager (**Données**, **Code**, ou **Environnements de calcul** (e.g.:
Partager les mêmes machines virtuelles)) et avec qui vous voulez le partager
(**Personne**, **Mon équipe**, ou **Tout le monde**). Cela conduit au tableau
d'options suivant:
La collaboration est essentielle en science des données car elle permet à des individus ayant des perspectives et des parcours différents de travailler ensemble pour résoudre des problèmes complexes et générer de nouvelles informations. En science des données, la collaboration peut impliquer de travailler avec des personnes issues de divers domaines tels que les mathématiques, l’informatique et les affaires, ainsi qu’avec des experts en la matière possédant une connaissance approfondie d’une industrie ou d’un domaine particulier.

Il existe de nombreuses façons de collaborer sur la plateforme. Selon votre situation,ce qu vous voulez partager et le nombre de personnes que vous souhaitez partager avec. Les scénarios se décomposent en gros en ce que vous voulez partager (**Données**, **Code**, ou **Environnements de calcul** (e.g.: Partager les mêmes machines virtuelles)) et avec qui vous voulez le partager (**Personne**, **Mon équipe**, ou **Tout le monde**). Cela conduit au tableau d'options suivant:

| | **Privée** | **Équipe** | **StatCan** |
| :---------: | :-----------------------------------: | :----------------------------------------------------------: | :------------------: |
| **Code** | GitLab/GitHub ou un dossier personnel | GitLab/GitHub or dossier d'équipe | GitLab/GitHub |
| **Données** | Dossier personnel ou compartiment | Dossier d'équipe ou compartiment , ou espace de noms partagé | Compartiment partagé |
| **Calcul** | Espace de nom personnel | Espace de noms partagé | N/A |

Le partage de code, de disques et d'espaces de travail (par exemple : deux personnes partageant la même machine virtuelle) est décrit plus en détail ci-dessous. Le partage de données via des compartiments est décrit plus en détail dans la section **[Stockage Blob Azure](../5-Stockage/StockageBlobAzure.md)**.

<!-- prettier-ignore -->
??? question "Quelle est la différence entre un compartiment et un dossier?"
Les compartiments sont comme le stockage sur réseau. Consulter [ présentation du stockage](../Stockage.md) pour plus de détails sur les différences entre ces deux options.
Les compartiments sont comme le stockage sur réseau. Consulter [ présentation du stockage](../5-Stockage/Aperçu.md) pour plus de détails sur les différences entre ces deux options.

Choisir la meilleure façon de partager le code, les données et le calcul
implique des facteurs, mais vous pouvez généralement mélanger et assortir
(partager le code avec votre équipe via github, mais stockez vos données en
privé dans un compartiment personnel). Ces cas sont décrits plus en détail dans
les sections ci-dessous
Choisir la meilleure façon de partager le code, les données et le calcul implique un ensemble de différent facteurs, mais vous pouvez généralement mélanger et assortir (partager le code avec votre équipe via github, mais stockez vos données en privé dans un compartiment personnel). Ces cas sont décrits plus en détail dans les sections ci-dessous

## Partager le code entre les membres de l'équipe

Dans la plupart des cas, il est plus facile de partager du code en utilisant
GitHub ou GitLab. L'avantage du partage avec GitHub ou GitLab est que cela
fonctionne avec les utilisateurs à travers les espaces de noms, et conserver le
code dans github est un excellent moyen de gérer de grands projets logiciels.
Dans la plupart des cas, il est plus facile de partager du code en utilisant GitHub ou GitLab. L'avantage du partage avec GitHub ou GitLab est que cela fonctionne avec les utilisateurs à travers les espaces de noms, et conserver le code dans git est un excellent moyen de gérer de grands projets logiciels.

<!-- prettier-ignore -->
??? note "N'oubliez pas d'inclure une licence !"
Si votre code est public, n'oubliez pas de respecter les directives de l'équipe d'innovation et d'utiliser une licence appropriée si votre travail est effectué pour Statistique Canada.

Si vous devez partager du code sans le publier sur un
référentiel,[ partager un espace de nom](#share-compute-namespace-in-kubeflow))
pourrait aussi fonctionner.
Si vous devez partager du code sans le publier sur un référentiel,[ partager un espace de nom](#partager-le-calcul-espace-de-nom-dans-kubeflow)) pourrait aussi fonctionner.

## Partager le calcul (espace de nom) dans Kubeflow

<!-- prettier-ignore -->
!!! danger "Partager un espace de nom signifie que vous partagez **toutes les choses**
dans l'espace de nom".
Kubeflow ne prend pas en charge le partage granulaire d'une ressource (un bloc-notes, un compartiment MinIO, etc.), mais plutôt le partage de **tous** ressources. Si vous souhaitez partager un serveur Jupyter Carnet note avec quelqu'un, vous devez partager l'intégralité de votre espace de nom et **ils auront accès à toutes les autres ressources (compartiment MinIO, etc.)**.

Dans Kubeflow, chaque utilisateur dispose d'un **espace de nom** qui contient
son travail (son serveur de Carnets notes, pipelines, disques, etc.). Votre
espace de nom vous appartient, mais peut être partagé si vous voulez collaborer
avec d'autres. Vous pouvez aussi
[ Demander un Espace de nom](Demander-EspaceDeNom.md) (soit pour vous-même, soit
pour partager avec une équipe). Une option de collaboration consiste à partager
des espaces de noms avec les autres.

L'avantage de partager un espace de nom Kubeflow est qu'il vous permet, ainsi
qu'à vos collègues partagent l'environnement de calcul et les compartiments
MinIO associés au espace de nom. Cela en fait un moyen très simple et libre de
partager.
!!! danger "Partager un espace de nom signifie que vous partagez **toutes les choses** dans l'espace de nom"
Kubeflow ne prend pas en charge le partage granulaire d'une ressource (un bloc-notes, un volume, etc.), mais plutôt le partage de **toutes** ressources. Si vous souhaitez partager un serveur bloc-notes Jupyter avec quelqu'un, vous devez partager l'intégralité de votre espace de nom et **ils auront accès à toutes les autres ressources (Storage Blob Azure, etc.)**.

Dans Kubeflow, chaque utilisateur dispose d'un **espace de noms** qui contient son travail (ses serveurs bloc-notes, pipelines, disques, etc.). Votre espace de noms vous appartient, mais peut être partagé si vous souhaitez collaborer avec d'autres. Vous pouvez également [demander un nouvel espace de noms](Demander-EspaceDeNom.md) (soit pour vous-même, soit pour le partager avec une équipe). Une option de collaboration consiste à partager des espaces de noms avec d’autres.

L'avantage du partage d'un espace de noms Kubeflow est qu'il vous permet, à vous et à vos collègues, de partager l'environnement de calcul et les volumes associés à l'espace de noms. Cela en fait un moyen de partage très simple et libre.

Pour partager votre espace de noms, consultez [gestion des contributeurs](#gestion-des-contributeurs)

<!-- prettier-ignore -->
??? conseil "Demander de l'aide en production"
Le personnel d'assistance d'Espace de travail d'analyse avancée se fera un plaisir de vous aider avec les cas d'utilisation orientés vers la production, et nous pouvons probablement vous faire gagner beaucoup de temps. Ne soyez pas timide [Demander pour l'aide](../Aide.md)!

## Partager des données

Une fois que vous avez un espace de nom partagé, vous avez deux approches de
stockage partagé
Une fois que vous avez un espace de nom partagé, vous avez deux approches de stockage partagé

| Possibilité de stockage | Avantages |
| :------------------------------------------------------------ | :--------------------------------------------------------------------------------------------- |
| Serveurs/espaces de travail Jupyter partagés | Plus adapté aux petits fichiers, aux cahiers et aux petites expériences. |
| Compartiments partagés( consultez [Stockage](../Stockage.md)) | Mieux adapté pour une utilisation dans les pipelines, les API et pour les fichiers volumineux. |
| Compartiments partagés( consultez [Stockage](../5-Stockage/Aperçu.md)) | Mieux adapté pour une utilisation dans les pipelines, les API et pour les fichiers volumineux. |

Pour en savoir plus sur la technologie qui les sous-tend, consultez le
[Stockage](../Stockage.md).

### Partager avec StatCan

En plus des compartiments privés ou des compartiments privés partagés par
l'équipe, vous pouvez également placez vos fichiers dans le _stockage partagé_.
Dans toutes les options de stockage de compartiment (`minimal`, `premium`,
`pachyderm`), vous disposez d'un compartiment privé, **et** d'un dossier à
l'intérieur du compartiment « partagé ». Jetez un œil, par exemple, au lien
ci-dessous :

- [`shared/blair-drummond/`](https://minimal-tenant1-minio.covid.cloud.statcan.ca/minio/shared/blair-drummond/)

Tout utilisateur **connecté** peut voir ces fichiers et les lire librement.

### Partage avec le monde

Renseignez-vous sur celui-ci dans notre
[chaîne Slack](https://statcan-aaw.slack.com). Là il existe de nombreuses façons
de le faire du côté informatique, mais il est important que cela aille par des
processus appropriés, de sorte que cela ne se fait pas de manière «
libre-service » que d'autres sont. Cela dit, c'est tout à fait possible.
[Stockage](../5-Stockage/Aperçu.md).

## Recommandation : Combinez-les tous
### Partager avec le monde

C'est une excellente idée de toujours utiliser github avec des espaces de
travail partagés est un excellent moyen de combiner le partage ad hoc (via des
fichiers) tout en gardant votre code organisé et suivi
Renseignez-vous à ce sujet sur notre [chaîne Slack](https://statcan-aaw.slack.com). Il existe de nombreuses façons de procéder du côté informatique, mais il est important que cela passe par des processus appropriés, afin que cela ne se fasse pas de manière « libre-service » comme le sont les autres. Cela dit, c'est tout à fait possible.

## Gestion des contributeurs

Vous pouvez ajouter ou supprimer des personnes d'un espace de nom que vous
possédez déjà via le Menu **Gérer les contributeurs** dans Kubeflow.
Vous pouvez ajouter ou supprimer des personnes d'un espace de noms que vous possédez déjà via le menu **Gérer les contributeurs** dans Kubeflow.

![Contributors Menu](../images/kubeflow_contributors.png)

Expand Down
Loading

0 comments on commit 5d0953b

Please sign in to comment.