NotebookCloud is service that allows you to launch and control IPython Notebook servers
on Amazon EC2 from your browser. This enables you to host your own Python programming
environment, on your own Amazon virtual machine, and access it from any modern web
browser. You can set everything up in a minute or two, and it's very easy to use.
NotebookCloud is a simple web app that allows you to launch and control as many machines
as you like. The interface also provides links to any of your machines that are currently
serving IPython, so you can easily find them without having to worry about EC2 URLs.
NotebookCloud is essentially a web based wrapper around the EC2 API, so you need an Amazon
Web Services account to use it, but they are easy to sign up for and you get plenty of
freebies for the first year.
NotebookCloud is a free service, you are not charged for using it at all. AWS is
not a free service and you should ensure that you understand their terms and conditions before
Each virtual machine created on EC2 uses an Amazon Machine Image, an AMI, as its stack. AMIs are
just cloud distros. The NotebookCloud AMI uses Ubuntu as its base and then bundles a number of
useful extras. The AMI is summarised below.
NotebookCloud AMI, Version 0.1
- IPython 0.13 on Ubuntu Server 12.04 LTS
- Support for all the core IPython features, including inline plotting
- Support for R, Cython and Octave magic
- Support for python3, sh, bash, perl and ruby magic
- Includes pip, setuptools, Pexpect, nose, Sphinx, Pygments and boto
- Includes pandas, NetworkX, mpi4py, pyTables and h5py
- Includes SciKit learn and statsmodels
If you have any input regarding stuff you'd like to see bundled in the next AMI release, please
get in touch. The current AMI is focussed on scientific use, in keeping with IPython's primary focus.
Over time, support for other types of use will be included.
NotebookCloud is open source, so anyone interested in using any code or ideas for their own project is
encouraged to get in touch.
Any credit is due to the open source community at large, and the IPython developers in particular.
If you'd like to offer your thanks in some way, you should pay those guys a visit.
NotebookCloud uses Google Accounts and Amazon Web Services. Before you use NotebookCloud,
you should sign up for Gmail and AWS, making sure you understand the terms of both account
systems, especially billing on AWS, which is fine grained.
IPython Notebook will work on any modern browser, including Chrome, Firefox and Safari.
It does not work with Internet Explorer 9 or less and has not been tested on IE10 at this time.
Obviously, NotebookCloud can not support a browser that IPython Notebook can not support.
Your Personal Information
To function, NotebookCloud must have access to some of your details. These details are stored
using Google App Engine's Datastore, using 2-step verification to prevent unauthorised access.
We do not store any details beyond what is covered in this document.
All communication between your browser and NotebookCloud, as well as all communication between
NotebookCloud and AWS, is encrypted.
All communication between you and your notebook servers is also encrypted, but uses a self-signed
certificate that your server will create for you the first time it is launched, using random data
provided by NotebookCloud. Because the certificate is not issued by a recognised certificate
authority, your browser will raise a warning of some kind. It is perfectly safe to proceed and the
encryption is just as dependable as ever.
NotebookCloud needs your AWS account keys to validate requests to your EC2 account. These are
used to launch new instances, as well as to access information about those instances.
NotebookCloud can not access your server's internals. NotebookCloud servers can not read from,
write to, nor execute anything on your servers. NotebookCloud can retrieve information about the
state of your servers, as well as launch, start, stop, reboot and terminate them.
Please note: Whilst our servers ignore any instances on your AWS account that were not launched
from your NotebookCloud account, we do have the technical ability to access them. This may be a
security concern for some users.
You need to provide a password that you'll use to log into your notebooks. We do not store this password.
It is hashed as soon as it is submitted to us and stored in that form. If you forget your password,
we can not retrieve it for you. You will not be able to access your existing notebooks.
We use Google App Engine's Datastore, with access protected by 2-step verification, to store your
AWS keys, your hashed password and a list, referencing any instances we have created on your account
that still exist.
You can delete your NotebookCloud account at any point. Deletion is immediate, total and irreversible.
You can create a new account in about a minute, anytime you like.
Please note: If you have any security concerns regarding your AWS account, you should change your AWS
access keys by creating a new set, then deleting the old ones. It is also good practice to change your
The NotebookCloud AMI is public and freely available for use, modification and redistribution. It can be
launched normally, from the AWS EC2 Management Console, but this option is only useful when developing
the AMI. When launched in this way, it will not attempt to self-configure, nor will it launch the IPython
You can launch any of the instance types available on EC2 from NotebookCloud. Some of these instance types
can be expensive to run. You should always ensure you've read Amazon's official documentation to ensure
you know what you are running and what it will cost. NotebookCloud uses different names than Amazon for
instance types, as shown in the following table.
|NBC Name||EC2 API Name||EC2 Docs Name
| Micro || t1.micro || Micro Instance
| Small || m1.small || Small Instance
| Medium || m1.medium || Medium Instance
| Large || m1.large || Large Instance
| XLarge || m1.xlarge || Extra Large Instance
| High Memory || m2.xlarge || High-Memory Extra Large Instance
| High Memory x 2 || m2.2xlarge || High-Memory Double Extra Large Instance
| High Memory x 4 || m2.4xlarge || High-Memory Quadruple Extra Large Instance
| High CPU Medium || c1.medium || High-CPU Medium Instance
| High CPU XLarge || c1.xlarge || High-CPU Extra Large Instance
| GPU Cluster || cg1.4xlarge || Cluster GPU Quadruple Extra Large Instance
| Super Cluster || cc1.4xlarge || Cluster Compute Quadruple Extra Large Instance
| Death Star || cc2.8xlarge || Cluster Compute Eight Extra Large Instance