Skip to content

Repository files navigation

Data Analytics as a Service

Data Analytics as a Service for the Government of Canada and external collaborators.

Frequently Asked Questions (FAQ)

If your question does not appear in this document, please reach out to us on our Slack Support Channel.

Who can access the AAW?

  • Anyone with a Statistics Canada (@statcan.gc.ca) email address can access the AAW.

What data formats are supported in the AAW?

The AAW includes tools that allow data science users to open almost any file. The AAW supports many commonly used file formats, including (but not limited to):

  • csv
  • xlsx
  • json
  • xml
  • sas7bdat
  • sqlite
  • many others... just ask :-)

How much does the AAW cost?

CPU Only

Use CaseCompute ResourcesTime (Hours/Week)Cost
CPURAM (GB)GPUWeeklyMonthlyAnnually
CPU: Occasional Use28081.13674.8878159.1084
CPU: During Business Hours280405.683524.43905295.542
CPU: 24/728016823.8707102.644011241.2764

Add a GPU

Use CaseCompute ResourcesTime (Hours/Week)Cost
CPURAM (GB)GPUWeeklyMonthlyAnnually
GPU: Occaisonal Use001834.468148.21241792.336
GPU: During Business Hours00140172.34741.0628961.68
GPU: 24/7001168723.8283112.460437639.056

What are the steps for getting Protected B data into MinIO?

  • One must consult with FDI (F.A.I.R. Data Infrastructure) before Protected B Data can be loaded into MinIO. The FDI team owns an Azure Data Factory pipeline for moving data, typically from on premise, to an Azure Storage Account and MinIO is our S3 gateway to that storage account.

Can we use Power BI on the AAW?

  • At the moment, no. We are currently looking into solutions for sharing data between the AAW and CAE (which supports Power BI).

Does using SAS entail different costs than the others? Are there a limited number of licenses or instances that can be run?

  • SAS support is currently experimental and will rely on existing Statistics Canada SAS software licenses.

How do you suspend your server (to save costs)?

  • Press the suspend server button (square to the left of the garbage can icon to delete a server). This will suspend the workspace to save on costs.
  • Please keep in mind all data that is not stored on persistent disks (persistent workspace volume or persistent data volumes) is deleted when a workspace is suspended. In particular data on non-persistent disks and data on the filesystem outside the workspace or data volume (for instance the /tmp folder) will be permanently lost.
  • When suspended the workspace and data volumes remain locked and cannot be deleted or attached to another server.
  • To resume a suspended server, press the resume button (triangle icon to the left of the garbage can). When resumed the server will have the same workspace and data volumes as before (with all data kept as-is if the volumes were persistent) and has the exact same specification (CPU, RAM, GPU, and other settings). Things stored outside the home directory and persistent data volumes (like conda virtual environments) will be gone and will need to be recreated if necessary.

How do I add other people to my namespace (for collaboration)?

  • As the workspace owner you can add and remove contributors, this will allow them to access your workspaces.

Are there any pre-loaded data (datasets) in AAW that we can access and use for both R and Python notebooks?

  • Our JupyterLab images come with some example notebooks and data, they can be found in /aaw-contrib-jupyter-notebooks/.
  • Our R Studio image also has some example notebooks and data, they can be found in /aaw-contrib-r-notebooks/.

Presentations

We highly encourage you to watch our YouTube presentation given at Stratosphere:

Security

A discussion about some of the security best practices in use by this platform:

Advanced Analytics Workspace

The following is a list of all the general related repositories for the Advanced Analytics Workspace project.

RepositoryDescriptionVisibility
aaw-argocd-applicationsArgoCD ApplicationsPrivate
aaw-argocd-manifestsManifests used for ArgoCD deploymentsPublic
aaw-argoflow-azureKubeflow deployment powered by ArgoCDPublic
aaw-kubeflow-containersContainers to be used within KubeflowPublic
aaw-contrib-containersContainers to be used for general purpose Data SciencePublic
aaw-contrib-jupyter-notebooksJupyter Notebooks to be used with the Advanced Analytics Workspace platformPublic
aaw-contrib-r-notebooksR Notebooks to be used with Advanced Analytics Workspace platformPublic
aaw-gatekeeper-constraintsGatekeeper constraints built specifically for AAWPrivate
aaw-goofys-injectorMount an S3 bucket, Data Lake, Blob Storage as a file system in a NotebookPublic
aaw-inferenceservices-controllerKubernetes controller for managing inference servicesPublic
aaw-kubeflow-manifestsKustomize installation manifests for KubeflowPublic
aaw-kubeflow-controllerKubeflow controller which sets PodDefaults + Vault policies for each Profile detectedPublic
aaw-kubeflow-mlopsKubeflow MLOps pipeline using GitHub ActionsPublic
aaw-kubeflow-opa-syncSynchronize profile editors into the Open Policy Agent for use in MinIO Access ControlPublic
aaw-kubeflow-pipelines-secret-scannerScan all Kubeflow pipelines for exposed secretsPublic
aaw-kubeflow-profilesKubeflow profile manifests stored in YAMLPrivate
aaw-kubeflow-profiles-controllerKubeflow profiles controller which allows for custom configuration for an individual profilePublic
aaw-minio-credential-injectorMutating webhook which adds minio credential annotations to notebook podsPublic
aaw-network-policiesKubernetes network policies for AAWPrivate
aaw-prob-notebook-controllerKubernetes controller for managing Authorization Policies associated to Protected-B NotebooksPublic
aaw-security-proposalProposal for the implementation of Protected B workloads in AAWPublic
aaw-toleration-injectorKubernetes toleration injector with support for GPUs and Node PoolsPublic

Terraform

The following is a list of all the terraform related repositories for the Advanced Analytics Workspace project.

Install the AAW Platform and Infrastructure

## Installs AAW Platform and Infrastructure#### └─── https://github.com/statcan/terraform-advanced-analytics-workspaces-infrastructure## ├─── https://github.com/statcan/aaw-dev-cc-00## ├─── https://github.com/statcan/aaw-prod-cc-00## │ ├── https://github.com/statcan/terraform-azure-statcan-aaw-environment## │ │ ├── https://github.com/statcan/terraform-statcan-aaw-network## │ │ └── https://github.com/statcan/terraform-azure-statcan-cloud-native-environment-infrastructure## │ │ ├── https://github.com/canada-ca-terraform-modules/terraform-azurerm-kubernetes-cluster## │ │ └── https://github.com/canada-ca-terraform-modules/terraform-azurerm-kubernetes-cluster-nodepool## │ └─── https://github.com/statcan/terraform-statcan-aaw-platform (see below)## └─── https://github.com/statcan/terraform-azure-statcan-aaw-region-environment
ComponentRepositoryDescription
AAWterraform-advanced-analytics-workspaces-infrastructureReference implementation for an Advanced Analytics Workspaces (AAW) infrastructure pipeline
AAWaaw-dev-cc-00Reference implementation for an Advanced Analytics Workspaces (AAW) development environment
AAWaaw-prod-cc-00Reference implementation for an Advanced Analytics Workspaces (AAW) production environment
AAWterraform-azure-statcan-aaw-environmentTerraform module of Advanced Analytics Workspaces (AAW) per-environment Azure configuration
AAWterraform-azure-statcan-aaw-networkTerraform module of Advanced Analytics Workspaces (AAW) networking
AAWterraform-azure-statcan-cloud-native-environment-infrastructureTerraform module for Statistics Canada's Cloud Native Environment Azure Cloud Infrastructure
AAWterraform-azurerm-kubernetes-clusterTerraform module for Azure Kubernetes Service (AKS) cluster
AAWterraform-azurerm-kubernetes-cluster-nodepoolTerraform module for Azure Kubernetes Service (AKS) nodepool
AAWterraform-azure-statcan-aaw-region-environmentTerraform module of Advanced Analytics Workspaces (AAW) per-region configuration of Azure
AAWterraform-statcan-aaw-platformTerraform module for the Advanced Analytics Workspaces (AAW) platform

Install the Cloud Native Platform

## Statistics Canada's Cloud Native Platform (CNP)#### └─── https://github.com/statcan/terraform-statcan-aaw-platform## ├─── https://github.com/statcan/terraform-azure-statcan-cloud-native-platform-infrastructure## │ ├─── aad_pod_identity## │ ├─── cert_manager## │ ├─── vault## │ └─── velero## ├─── https://github.com/statcan/terraform-statcan-kubernetes-core-platform## │ ├─── aad_pod_identity## │ ├─── cert_manager## │ ├─── fluentd## │ ├─── gatekeeper## │ ├─── kubecost## │ ├─── prometheus## │ ├─── vault_agent## │ └─── velero## ├─── https://github.com/statcan/terraform-statcan-kubernetes-app-platform## │ ├─── istio operator## │ └─── istio gateway handling## └─── https://github.com/statcan/terraform-kubernetes-namespace## └─── daaas-system
ComponentRepositoryDescription
CNSterraform-azure-statcan-cloud-native-platform-infrastructureTerraform module for Statistics Canada Azure Cloud Native Platform Infrastructure
CNSterraform-statcan-kubernetes-core-platformTerraform module for Statistics Canada Core Kubernetes Platform
CNSterraform-statcan-kubernetes-app-platformTerraform module for Statistics Canada Kubernetes Application Platform

Misc

RepositoryDescriptionVisibility
terraform-aaw-managed-databasesTerraform module for deployment of Azure Managed DatabasesPrivate
terraform-aaw-vaultTerraform module for configuring Hashicorp VaultPrivate

Community Engagement

The following is a list of some of the collaborative work we made available to improve upstream projects.

RepositoryDescriptionVisibility
boathouseManage Kubernetes storage mounts with GoofysPublic
jupyter-apisGolang replacement for the Kubeflow Jupyter Web APIsPublic
jupyterlab-language-pack-fr_FRJupyterLab fr-FR Language PackPublic
vault-plugin-secrets-minioVault plugin which will provision multi-user keys for MinioPublic

The following is a list of some of the forked projects where we have provided multilingual support and other UX related enhancements.

RepositoryDescriptionVisibility
kubeflowMultilingual support for KubeflowPublic
kubeflow-pipelinesMultilingual support for Kubeflow PipelinesPublic
minioMultilingual support for MinIOPublic
minio-consoleMultilingual support for MinIO ConsolePublic
rstudioMultilingual support for RStudioPublic

Developer Notes:

Fix spelling by executing fix-spelling-en and fix-spelling-fr Adding to the sensitive or insensitive category Ignoring will simply ignore the error for this round. It will trigger again next execution.

About

Documentation for the Advanced Analytics Workspace Platform

Topics

Resources

Stars

71 stars

Watchers

12 watching

Forks

Used by

Contributors

Languages