Pro Yearly is on sale from $80 to $50! »

[Keynote] Prod is not a four-letter word

[Keynote] Prod is not a four-letter word

Keynote at satRday Johannesburg 2020.

Db8efd836c9a09b71e3d8e1c60d6ea84?s=128

Colin Fay

March 07, 2020
Tweet

Transcript

  1. 1 1 PROD IS NOT A FOUR-LETTER WORD How to

    confidently send R to produc2on. COLIN FAY
  2. 2 2 Colin FAY Data Scien*st & R-Hacker at ThinkR,

    a french company focused on Data Science & R Engineering. Hyperac*ve open source developer. > whoami h"p://rtask.thinkr.fr h"p://twi"er.com/_colinfay h"p://github.com/colinfay
  3. 3 1 2 3 R & DATA SCIENCE ENGINEERING TRAINING

    CONSUL TING
  4. 4 1 PROD IS NOT A FOUR-LETTER WORD How to

    confidently send R to production.
  5. 5 What are we going to talk about today?

  6. 6 01. What does production even mean? 02. About R

    in production 03. Let’s talk about tools 04. R in production, the challenges SCHEDULE
  7. 7 Q & A Have you ever heard? "That's good

    that we have this prototype in R, now let's rewrite this with a production language"
  8. 8 Q & A We’ve come to a point that

    we’ve heard this so much that we convinced ourselves that this is true.
  9. 9 All programming languages are basically just bundles of trade-

    offs, and so no single language is going to be globally superior to another. There really are no production languages – only production engineers. Gordon Shotwell https://blog.shotwell.ca/posts/why_i_use_r/
  10. 10 10 THEY USE R IN PROD https://github.com/ThinkR-open/companies-using-r

  11. 11 1 DON’T TELL ME R IS NOT PRODUCTION READY

  12. 12 01 DID YOU SAY ‘PRODUCTION’? 12

  13. 13 Gordon Shotwell https://twitter.com/jdetle

  14. 14 14 Production is anything that is run repeatedly (or

    continuously) and is relied upon. Mark Sellors Software environments that are used and relied on by real users with real consequences if things go wrong Joe Cheng
  15. 15 Gordon Shotwell https://twitter.com/ProbNotABot

  16. 16 THE PRODUCT USER(S) THE PRODUCT ENGINEER(S) USERS

  17. 17 IS USED IN PROD

  18. 18 https://twitter.com/eprosenthal

  19. 19 IS RELIED UPON IS USED IN PROD

  20. 20 https://twitter.com/dierken

  21. 21 21 USERS TRUST THE SOFT TO BE AVAILABLE TO

    MAKE DECISION # TO DO THEIR DAILY JOB
  22. 22 22 DEV TRUST THE SOFT $ TO KEEP RUNNING

    TO BE BUG FREE TO BE CUSTOMISABLE TO BE SAFE TO UPDATE
  23. 23 IS RELIED UPON HAS REAL LIFE IMPACT IS USED

    IN PROD
  24. 24 https://twitter.com/seanjtaylor

  25. 25 25 WHAT CAN GO WRONG ❌ SOFTWARE IS UNAVAILABLE

    UPDATE BREAKS THE CODE-BASE UPDATE BREAKS ANOTHER SERVICE RESULTS ARE NOT RELIABLE
  26. 26 26 REAL LIFE IMPACT ℹ DATA LOSS MONEY LOSS

    ⏳ TIME LOSS BAD DECISIONS
  27. 27 1 > PRODUCTION_TOOLS == RELIABLE_TOOLS [1] TRUE

  28. 28 02 ABOUT R AND PRODUCTION 28

  29. 29 Q & A How many ways are there to

    build a package in R?
  30. 30 30 BUILDING RELIABLE TOOLS RELY ON FRAMEWORKS ☸ DON’T

    REINVENT THE WHEEL 3 TUTORIALS ARE EVERYWHERE COMMENT, TEST, AND MONITOR
  31. 31 1 CONVENTIONS ARE AWESOME (And so is the R

    community)
  32. 32 03 LET’S TALK ABOUT TOOLS 32

  33. 33 R PACKAGES MAIN GOAL IS TO BE SHARED AND

    REUSED YEARS OF TOOLKITS ☄ JUST A LIBRARY() AWAY
  34. 34 34 DEVELOP AUTOMATE DOCUMENT : TEST

  35. 35 h"ps://www.golemverse.org/ SHINY APPS WITH {GOLEM} FRAMEWORK AUTOMATION COLLECTIVE INTELLIGENCE

  36. 36 https://cran.r-project.org/package=golem

  37. 37 37 DEPLOY RSTUDIO DOCKER / KUBE AWS

  38. 38 04 R IN PRODUCTION THE CHALLENGES 38

  39. 39 NOT THE LANGUAGE NOT THE TOOLS CHALLENGES

  40. 40 CUL TURAL ORGANISATIONAL CHALLENGES

  41. 41 https://twitter.com/seanjtaylor

  42. 42 Q & A Who has ever experienced? "Woaw, your

    PoC is awesome, let’s put that on the production server and give access to 100 users!"
  43. 43 The good thing about R is that one can

    start using it and get results in a couple of hours. The bad thing about R is that one can start using it and get results in a couple of hours. R DEV
  44. 44 R developers don’t learn R as software engineers. R

    developers don’t know what’s needed for productions. IT might not be receptive. R DEV
  45. 45 45 ADOPT A PROD MINDSET NO MORE “THAT WORKS

    ON MY MACHINE” EVERYTHING IS A PACKAGE : TEST AND DOCUMENT ⚖ DON’T START WITH TECHNICAL DEBT
  46. 46 46 IT ARE YOUR FRIENDS INFRASTRUCTURE IS CRUCIAL ✍

    RELIABLE CODE MATTERS ADOPT A PROD MINDSET
  47. 47 1 YOU CAN BE A GOOD SOFTWARE ENGINEER

  48. 48 1 R WORKS IN PRODUCTION

  49. 49 49 Questions? COLIN@THINKR.FR HTTPS://TWITTER.COM/_COLINFAY HTTPS://TWITTER.COM/THINKR_FR HTTPS://RTASK.THINKR.FR HTTPS://COLINFAY.ME THANK YOU!