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

Data Product Delivery: The R user’s journey toward improving daily work

kellobri
September 04, 2019

Data Product Delivery: The R user’s journey toward improving daily work

kellobri

September 04, 2019
Tweet

More Decks by kellobri

Other Decks in Technology

Transcript

  1. Data Product Delivery: The R user’s journey toward improving daily

    work Kelly O’Briant RStudio Solutions Engineering
  2. What happens when... Industrial Research Business Management Human Resources Government

    Work Regulated Environments Big Data Applications Cloud Infrastructure R in Production What is there to learn? What are the needs? What can we build? The R for Data Science Workflow Drops in Solutions Engineers!
  3. Make an impact: Data Product Development & Delivery “It doesn’t

    matter how great your analysis is unless you can explain it to others: You need to communicate your results.”
  4. Local Environment Promotion Strategies Local Data Science Environment Email an

    Image or PDF Email the Code or Package Create a Shared Git Repository Publish to RPubs / Shinyapps.io Publish to an Analytic Sandbox (Tinker-Space) Deploy to Professional Analytic Infrastructure Sophistication / Usefulness Difficulty?
  5. Production is... CUSTOMER/USER FACING - Ready to use - Software

    that end users are using - An app that is live and available to the end user - Apps on our production server are available to our clients - Client facing Credibility AT SCALE - Scaled to a larger audience - Bulletproof, scalable, fails predictably - Live to 1000 of users with production vehicle data SERVICE LEVEL AGREEMENTS - Required for mission-critical operations; downtime affects the ability to serve customers - Deployed for end users to have continual access without performance issues ENVIRONMENTAL REQUIREMENTS - An area where validated applications are deployed in a locked down environment - The main part of a company that handles all process - Application or system operates effectively without much maintaining effects - A server or environment that runs the “final” applications that your ultimate end-users (often external customers) use to get stuff down DOCUMENTATION - TESTING & MONITORING - Creating apps that can reach a wider audience and are deployed/tested in a consistent manner - Running in a way that is stable to use, documented and monitored
  6. Challenges for the R User Organizational • Legitimizing R •

    Working with IT Technical • Experience • Education • Exposure
  7. Technical Skill Development Roadmap Experience with Software development - Code

    profiling - Version control - Testing - Deployment - Release Experience with Analytic administration - Infrastructure - Environments - Automation - Monitoring R is integrated, used for orchestration opposed to brute-force development
  8. “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
  9. Organizational Challenges Bringing DevOps to Data Science (or to an

    entire organization) Organizational learning and a safety culture (or lack thereof) Chapter 4 The DevOps Handbook (2016) Kim, Debois, Willis, Humble Westrum Organizational Typology Model: How Orgs Process Information
  10. How to wade in … with Empathy and Strategery! Does

    DevOps Exist in Your Org? Yes Maybe? Nope. Is IT/Ops comfortable helping you bring Shiny to production? ! . Best case scenario! Get ready to help implement some novelty Make a checklist, answer questions, build a POC, be prepared to take it slow This is your chance to meet some people! Talk to a developer or IT Human! Are you comfortable bringing DevOps to your Org? ! . Cool Beans! Figure out who else needs convincing Noodle on it! Maybe it’s worth it? Make a communication plan and come with an open mind. Read Books!
  11. Start by answering some questions… - What is a Shiny

    Application? - Who is the audience? - What is your service level agreement definition? (SLA) - What does your analytic architecture look like today? - What are your goals for evolving this architecture? - How will monitoring be handled? - Who is responsible for maintenance? Make work visible, Define shared goals, Build a checklist, Iterate Empathetic Communication is Challenging
  12. Shiny in Production Journey Code Profiling Version Control Testing Deployment/Release

    Access/Security Performance Tuning Shared Goal: Shorten the distance between development and production Shared Goal: The improvement of daily work Shared Goal: Reduce the risk of deploying a breaking change