Choose a notebook solution

This page describes the differences between Vertex AI's notebook environment options so that you can choose the best one for your project.

Vertex AI provides two notebook environment solutions:

  • Colab Enterprise: A collaborative, managed notebook environment with the security and compliance capabilities of Google Cloud. If your project's priorities are to collaborate with others and to avoid spending time managing infrastructure, Colab Enterprise might be the best option for you. See the following Colab Enterprise section.

  • Vertex AI Workbench: A Jupyter notebook-based environment provided through virtual machine (VM) instances with features that support the entire data science workflow. If your project's priorities are control and customizability, Vertex AI Workbench might be the best option for you. See the following Vertex AI Workbench section.

Colab Enterprise

Learn about a few of Colab Enterprise's strengths in the sections that follow. For more information, see Introduction to Colab Enterprise.

Share and collaborate

Colab Enterprise lets you share notebooks and collaborate with others. You can share a notebook with a single user, Google group, or Google Workspace domain. You control this access through Identity and Access Management (IAM).

Managed compute

Colab Enterprise lets you work in notebooks without having to manage infrastructure. Colab Enterprise provisions a runtime for you when you need it. If you want to, you can configure runtimes for specific needs, but Colab Enterprise starts them for you and shuts them down when you no longer need them.

Integrated into the Google Cloud console

Colab Enterprise's integrations with Google Cloud services make it easier to use notebooks that interact with those services. You can use Colab Enterprise from within the Google Cloud console, with features built into both Vertex AI and BigQuery.

Inline code completion

Vertex AI lets you write code with Gemini assistance. Use the inline code completion suggestions to complete coding projects faster. To learn more, see write code with Gemini assistance.

Vertex AI Workbench

Learn about a few of Vertex AI Workbench's strengths in the sections that follow. For more information, see Introduction to Vertex AI Workbench.

Instance types

Vertex AI Workbench provides several Jupyter notebook-based instance types for your data science workflow:

  • Vertex AI Workbench instances: An option that combines the workflow-oriented integrations of a managed notebooks instance with the customizability of a user-managed notebooks instance.

  • Vertex AI Workbench managed notebooks (deprecated): Google-managed environments with integrations and features that help you set up and work in an end-to-end notebook-based production environment.

  • Vertex AI Workbench user-managed notebooks (deprecated): Deep Learning VM Images instances that are heavily customizable and are therefore ideal for users who need a lot of control over their environment.

All of the Vertex AI Workbench options provide the following:

  • Prepackaged with JupyterLab.
  • A preinstalled suite of deep learning packages, including support for the TensorFlow and PyTorch frameworks.
  • Support for GPU accelerators.
  • The ability to sync with a GitHub repository.
  • Google Cloud authentication and authorization.

Vertex AI Workbench instances

Vertex AI Workbench instances might be a good choice if you need the workflow-oriented integrations of managed notebooks and the customizability of user-managed notebooks.

Add conda environments

Vertex AI Workbench instances use kernels based on conda environments. You can add a conda environment to your Vertex AI Workbench instance, and the environment appears as a kernel in your instance's JupyterLab interface.

Adding conda environments lets you use kernels that aren't available in the default Vertex AI Workbench instance. For example, you can add conda environments for R and Apache Beam. Or you can add conda environments for specific earlier versions of the available frameworks, such as TensorFlow, PyTorch, or Python.

For more information, see Add a conda environment.

Access to data

You can work more efficiently by accessing your data without leaving the JupyterLab interface.

From within JupyterLab's navigation menu on a Vertex AI Workbench instance, you can use the Cloud Storage integration to browse data and other files that you have access to.

Also from within the navigation menu, you can use the BigQuery integration to browse tables that you have access to, write queries, preview results, and load data into your notebook.

Automated notebook runs

You can set a notebook to run on a recurring schedule. Even while your instance is shut down, Vertex AI Workbench will run your notebook file and save the results for you to look at and share with others.

Automated shutdown for idle instances

To help manage costs, you can set your Vertex AI Workbench instance to shut down after being idle for a specific time period. For more information, see Idle shutdown.

Health status monitoring

To help ensure that your Vertex AI Workbench instance is working properly, you can monitor the health status.

Editable Deep Learning VM instances

Vertex AI Workbench provides API methods for modifying the underlying VM through the Notebooks API.

Vertex AI Workbench managed notebooks

Managed notebooks are usually a good choice if you want to use a notebook for data exploration, analysis, modeling, or as part of an end-to-end data science workflow.

Managed notebooks instances let you perform workflow-oriented tasks without leaving the JupyterLab interface. They also have many integrations and features for implementing your data science workflow.

The following are some of the integrations and features that are included in managed notebooks.

Control your hardware and framework from JupyterLab

In a managed notebooks instance, your JupyterLab interface is where you specify what compute resources your code will run on, for example, how many vCPUs or GPUs and how much RAM, and what framework you want to run the code in. You can write your code first, and then choose how to run it without leaving JupyterLab or restarting your instance. For quick tests of your code, you can scale your hardware down and then scale it back up to run your code against more data.

Custom containers

Your managed notebooks instance includes many common data science frameworks to choose from, such as TensorFlow and PyTorch, but you can also add custom Docker container images to your instance. Your custom containers appear as kernels in your instance's JupyterLab interface.

For more information, see Add a custom container to a managed notebooks instance.

Access to data

You can access your data without leaving the JupyterLab interface.

From within JupyterLab's navigation menu on a managed notebooks instance, you can use the Cloud Storage integration to browse data and other files that you have access to.

Also from within the navigation menu, you can use the BigQuery integration to browse tables that you have access to, write queries, preview results, and load data into your notebook.

Automated notebook runs

You can set a notebook to run on a recurring schedule. Even while your instance is shut down, Vertex AI Workbench will run your notebook file and save the results for you to look at and share with others.

Dataproc integration

You can process data quickly by running a notebook on a Dataproc cluster. After your cluster is set up, you can run a notebook file on it without leaving the JupyterLab interface.

Automated shutdown for idle instances

To help manage costs, you can set your managed notebooks instance to shut down after being idle for a specific time period. For more information, see Idle shutdown.

Vertex AI Workbench user-managed notebooks

User-managed notebooks can be a good choice for users who require extensive customization or who need a lot of control over their environment.

Customizable Deep Learning VM instances

User-managed notebooks instances are Deep Learning VM instances. You choose specific details about your virtual machine (VM) instance when you create your user-managed notebooks instance. For example, you select your machine type and the framework for your user-managed notebooks instance when you create it. You can change your instance's machine type after creation, though this requires a restart of your instance.

On your user-managed notebooks instance, you can make manual modifications like updating software and package versions. Changing the framework on your instance is a more involved process.

Because user-managed notebooks instances are exposed as Compute Engine instances, you can customize them in the same ways that you can customize Compute Engine instances. For more information, see the Compute Engine documentation.

Networking and security

For users who have specific networking and security needs, user-managed notebooks can be the best option.

Both user-managed notebooks and managed notebooks support VPC Service Controls, but you have more control over a user-managed notebooks instance's VM. This makes it easier to configure user-managed notebooks instances manually to satisfy some specific networking and security needs.

Health status monitoring

To help ensure that your user-managed notebooks instance is working properly, you can monitor the health status.

What's next

To get started, create one of the following: