Overview of running Jupyter notebooks locally, in containers, IDEs, and AWS SageMaker, covering server architecture, instance sizing, examples, visualizations, and workflow benefits
This article explains the common ways to run Jupyter notebooks, how the Jupyter server and browser interface interact, and highlights Jupyter in AWS SageMaker. It also covers instance sizing, simple notebook examples, and visualization capabilities you’ll use in data science workflows.
Use Docker or another container runtime to pull ready-made Jupyter images. Containers isolate the notebook server and dependencies from the host OS while providing the same browser-based UI.
Inside an IDE
Some IDEs (for example Visual Studio Code) open .ipynb files natively and provide notebook-like experiences directly inside the editor. IDE support varies; for many data-science tasks the full Jupyter UI is preferred.
Hosted cloud service
Managed services run Jupyter servers in the cloud and give you a remote URL to access via your browser. AWS SageMaker is a common option that integrates Jupyter/JupyterLab with AWS services and storage.
When you run Jupyter locally or in a container, the Jupyter server exposes a web interface you open in a browser (for example http://localhost:8888). With a hosted cloud service such as AWS SageMaker, your browser points to a cloud URL instead — the UI (classic Notebook or JupyterLab) looks the same but runs on managed infrastructure.
Jupyter is always accessed via a web browser. The server (local, container, or cloud) runs the code and hosts the notebook application; your browser is the client.
AWS SageMaker has supported hosted Jupyter environments since its initial release. Over time AWS added:
Classic Notebook Instances — managed EC2 instances preconfigured to run a Jupyter server.
JupyterLab support — a multi-tabbed interface with extension support.
SageMaker Studio — a full ML-focused IDE built on JupyterLab that integrates many additional tools and workflows for data scientists and MLOps engineers.
Most new projects use SageMaker Studio because it provides a richer integrated environment beyond basic JupyterLab. SageMaker still supports legacy Notebook Instances for backward compatibility, but Studio is the recommended choice for new work.
Notebook Instances in AWS SageMaker are supported but considered legacy. For new projects, prefer SageMaker Studio for a modern, integrated JupyterLab-based experience.
When creating a hosted Jupyter server (Notebook Instance or a Studio kernel/compute), you choose a compute profile. SageMaker uses instance families and sizes similar to EC2 naming:
Component
Meaning
Family
Workload type (M = general purpose, C = compute-optimized, P = GPU/accelerated)
Generation
Newer generations (e.g., M6) use more recent CPU/GPU hardware than older ones (M5, etc.)
Size (t-shirt)
CPU / memory / GPU capacity (large, xlarge, 2xlarge, etc.)
Choose an instance type that matches your workloads: data preprocessing, model training, or GPU-accelerated deep learning. You can provision multiple hosted environments with different sizes for different projects.When you run cells inside a notebook, code executes on the server. Notebook cells capture stdout and visual outputs inline and save them into the .ipynb document.Example notebook cells:
Copy
# Example 1: Simple arithmetic in a notebook cella = 10b = 5print(a + b)# Output:# 15
Copy
# Example 2: Iterate over a list of prices and print eachprices = [50000, 60000, 65000, 44000, 127000]for price in prices: print(f'Current price is {price}')# Output:# Current price is 50000# Current price is 60000# Current price is 65000# Current price is 44000# Current price is 127000
A major strength of Jupyter is inline rendering of visualizations. Libraries such as Matplotlib and Seaborn render charts and plots directly into notebook output cells. These visual outputs are preserved in the .ipynb file (unless cleared), which makes notebooks ideal for combining code, visual results, and narrative in one shareable document.Common visualization types used in data science:
Visualization
Use case
Correlation heatmap
Understand relationships between numeric features; useful for feature selection
Scatter plot
Inspect relationships and outliers (e.g., house size vs. price)
Line charts, histograms, boxplots
Time series, distributions, and data summaries
Benefits of using Jupyter for data science:
Inline visualizations and instant feedback from code execution.
Integration with many cloud environments (e.g., Google Colab, AWS SageMaker, Databricks).
Self-documenting workflows: combine code cells with markdown for clear explanations, hypotheses, and reproducible steps.
Jupyter is widely used across industry (for example Airbnb, NASA, and Netflix) for exploratory analysis, model development, and collaborative data science projects.