R Scripts in the Google Cloud via Cloud Run, Cloud Build and Cloud Scheduler.
googleCloudRunner
As easy as possible R scripts in the cloud, via Cloud Run, Cloud Build and Cloud Scheduler. Continuous Development and Integration tools on Google Cloud Platform.
Not an official Google product.
Ambition
Select an R file, and have it scheduled in the cloud with a couple of clicks.
Deploy your plumber API code automatically on Cloud Run to scale from 0 (no cost) to millions (auto-scaling)
Integrate R inputs and outputs with other languages in a serverless cloud environment.
Have R code react to events such as GitHub pushes, pub/sub messages and Cloud Storage file events.
Install
Get the CRAN stable version via
install.packages("googleCloudRunner")
Or the development version via:
remotes::install_github("MarkEdmondson1234/googleCloudRunner")
The dev version of the website is here which may include documentation of features not yet on CRAN.
Usage
Browse the googleCloudRunner website for topics on how to use:
- Setup
- R APIs using Cloud Run
- Serverless R scripts using Cloud Build
- Scheduled R in GCP using Cloud Scheduler
- Use Cases
- Function Reference
Diagrams
Some overviews of the function dependencies are below:
Scheduling using Cloud Scheduler
Building using Cloud Build
Helper deployment functions calling lower-level functions
Cloud Run functionality
library(targets) integration functions
Sponsor
Resources
Read the blog introducing the googleCloudRunner package that goes into some background.
A talk at R's 20th anniversary was performed at celebRation in Copenhagen on 29th Feb, 2020. The slides from the talk are here and a video of it is here:
A googleCloudRunner YouTube playlist of the demos is here.
If you blog anything interesting about the package let me know and I will list it here.
- Ander has a guide on using googleCloudRunner to schedule an R script on GCP [Spanish]
- Ander also writes how to use googleCloudRunner to productionise your R plumber API [Spanish]
- Arben documents his experience on how he got started scheduling BigQuery uploads using Docker and R
- Michał Ludwicki was a huge help in mentoring Arben for the post above - he also has created a GitHub repo of some useful example files for googleCloudRunner scripts
- Sam Terfa has a guide on how to use googleCloudRunner to create an R API you can use GoogleSheets to create its front end
- Louis shows how to create and deploy your own Python optimisation API using googleCloudRunner.