---
title: "Example Workflows - Introduction"
author: "Mark Edmondson"
date: "`r Sys.Date()`"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Example Workflows - Introduction}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

The following are some R scripts for common workflows.  They assume you have previously signed up and setup a Google project, authentication and SSH.

* [Custom team RStudio Server](rstudio-team.html)
* [Remote R cluster](remote-cluster.html)
* [RStudio server + scheduler](single-scheduler.html)
* [Self-contained Shiny app](shiny-app.html)
* [OpenCPU R API server](opencpu-api-server.html)
* [Master/Slave R script scheduler](scheduled-rscripts.html)
* [Massive parallel computing](massive-parallel.html)

## Terminology

The examples refers to these objects:

* Instance - Sometimes called Virtual Machine (VM), this is the computer you start in the Google Cloud.  It can be configured just like your desktop computer at home.  `googleComputeEngineR` uses instances with the Debain Linux operating system installed. You are charged per minute they are up. 
* Docker - A program that allows you to run a further type of virtual machine on any computer.  The idea is that if any computer installs Docker, they can run the images created. 
* Docker Image - Templates of the applications you run. Contain all the information and files needed to run it within Docker.  They can contain different operating systems to what Docker is installed upon (e.g. you can run a Linux Docker image on OSX)
* Docker container - The running process made from a Docker Image when you run them.   

Read me about [Docker here](https://www.docker.com/).

An instance/VM can have multiple docker images, which are running multiple docker containers. 

