Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Configuration Management Tools for the R Admin

kellobri
January 17, 2019

Configuration Management Tools for the R Admin

Feeling stuck? Get yourself a sandbox!

kellobri

January 17, 2019
Tweet

More Decks by kellobri

Other Decks in Technology

Transcript

  1. “R Admin” - Analytic Administrator Role A data scientist who:

    Onboards new tools, deploys solutions, supports existing standards Works closely with IT to maintain, upgrade and scale analytic environments Influences others in the organization to be more effective Passionate about making R a legitimate analytic standard within the organization Check out Nathan Stephens on the RViews Blog - Analytics Administration for R
  2. The R Admin Goals RViews: Making R legitimate part of

    or your organization - Nathan Stephens
  3. GitHub: sol-eng/data-science-lab System dependencies Build R from source Install packages

    Install RStudio Products Setup integrations: - Sendmail - Apache web server - PostgreSQL
  4. The Value of a Sandbox Showcase the R toolchain -

    Proof of Concept Hands-on experience with analytic infrastructure Discover organization-specific solutions and anti-patterns Use skills to foster better communication with IT/Ops
  5. Infrastructure as Code Server Management (SSH or an API) Rich

    Module Ecosystem Write playbooks in YAML $ sudo pip install ansible
  6. New! Content Management APIs for Programmatic Deployment Key Resources: RStudio

    Connect API Reference RStudio User Guide: RStudio Server API Cookbook - Recipes Example Recipes GitHub Repo: rstudio/connect-api-deploy-shiny
  7. Roles Have Tasks 1. Task Name 2. Module 3. Plug

    in variables Basic Task Anatomy
  8. Roles Have Tasks Tasks for the deploy-content Role I’m using

    the Ansible ‘script’ module to execute shell scripts that I’ve placed in a scripts directory
  9. Up and Running Playbooks $ ansible-playbook -i inventory/hosts playbooks/create-sandbox.yml --extra-vars

    "my_ip_cidr='[YOUR IP ADDRESS]/32'" --private-key=~/Downloads/sandbox-key.pem I like to set up a python virtual environment for ansible - especially when working with cloud credentials I also like to create security groups that are locked down to my own IP address (unless I’m working with others)
  10. Consider adding a kill-switch $ ansible-playbook -i inventory/hosts playbooks/terminate-sandbox.yml -

    Create a good README.md file - Check it all into Version Control - Reproduce analytic environments on demand
  11. Link the tools you love to the tools you know

    other people love. Powerful Sandboxes Showcase the Interoperability of R Show the value of R! Build a bunch of Shiny Applications!
  12. The R Admin Playbook Build a Sandbox (Proof of Concept)

    Invest in Learning Develop Best Practices Extend your Domain Integrate and Interoperate
  13. Plug :: The Resilient R Champion (Tonya Filz) Session 4:

    org-thinking ~10:50 AM Effective strategies to overcome some of the most difficult organizational barriers that are faced by data scientists using R. - Funding barriers - IT support - The “open source mentality” - Office politics and pressure