

In particular, its RMagic functionality lets you run R commands inside IPython Notebook cells by prepending your commands with the %R modifier.
INOTEBOOK AMAZON EC2 CODE
Since we already had support for spinning up IPython Notebook servers inside docker containers on arbitrary EC2 machines, we opted to use IPython Notebook for our R solution.Ī little-known fact about IPython Notebook (likely because of its name) is that it can actually run code in a variety of other languages. Launchers for UI, and pyro powering API publishing Launchers for UI, and RServe powering API publishing Our bread and butter: easily run your scripts on remote machines, as many as you want, and keep them all tracked Stage of the analytical lifecycleĪble to run many experiments in parallel, quickly, and track work and resultsĮasily create a GUI or web service around your model For interactive exploratory work, we support IPython Notebooks for work in Python, but we didn't have a good solution for work in R.
INOTEBOOK AMAZON EC2 SOFTWARE
Once you have something that works, typically it will be deployed for some ongoing use: either packaged into a UI for people to interact with, or deployed with some API (or web service) so software systems can consume it.ĭomino offers solutions for all three phases, in multiple different languages, but we had a gap. Often this requires many more intensive experiments: for example, running a model over your entire data set with sevearl different parameters, to see what works best.

Eventually you have an approach that you want to invest in, and you must refine or “harden” a model. You are trying different techniques, fixing issues quickly, to figure out what might work. In the early stages of an idea, it's critical to be able to “play with data” interactively. The analytical lifecycleĪnalytical ideas move through different phases:Įxploration / Ideation. We think we're well on our way toward that goal, and this post is about a recent feature we added to fill a gap in our support for early stages of that lifecycle: interactive work in R.

Our vision for Domino is to be a platform that accelerates work across the entire analytical lifecycle, from early exploration, all the way to packaging and deployment of analytical models. And because Domino hosts all your notebooks (and data, and results) centrally, you can share your work with others just by sending a link Motivation The friendly UI also makes notebooks accessible to less technical users, letting you share your work with a broader audience.ĭomino adds other nice features to your notebook sessions: each session is preserved as a snapshot, so you can get back to any past result and reproduce past work. Since Domino lets you spin up these notebooks on ridiculously powerful machines (e.g., 32 cores, 240GB of memory), let's show off a bit:īy interleaving code, comments, and graphics, the Notebook UI provides a great way to create and preserve a narrative about the analysis you're doing. Like any other run in Domino, this will spin up a new machine (on hardware of your choosing), and automatically load it with your project files.Īny R command will work, including ones that load packages, and the system function. So how does it work? Step 1: Start a notebook session with one click: It even handles plotting and visual output! The result is what we call an R Notebook: an interative, IPython Notebook environment that works with R code.

For reasons I describe below, we adapted IPython Notebook to fill this need. We wanted a solution that: (1) let our users work with R interactively (2) on powerful machines and (3) without requiring any setup or infrastructure management. I'll explain how we built our solution to this problem, but first, I'll describe the solution itself. In our cloud-hosted environment, you can choose any type of Amazon EC2 machine you want to use or if you deploy Domino on-premise in your enterprise, you can configure your own hardware tiers.ĭomino was working great for users who wanted to run R scripts, but we had many users who also wanted to work interactively in R on a powerful server, without dealing with any infrastructure setup. Among other things, Domino makes it easy to move long-running or computationally intensive R tasks onto powerful hardware. Our product, Domino, is a platform that facilitates the end-to-end analytical lifecycle, from early-stage exploration, through experimentation and refinement, all the way to deploying or “operationalizing” a model. This post describes how and why we built our “R Notebooks” feature. “R Notebooks” use the IPython Notebook UI to run R (rather than Python) in notebook cells, giving you an interactive R environment hosted on scalable servers, accessible through a web browser.
