Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Beyond Prototypes:A Journey to The Production L...
Search
OmaymaS
September 13, 2018
Technology
1
240
Beyond Prototypes:A Journey to The Production Land_EARL2018
Slides of a talk presented at EARL London 2018 (
https://earlconf.com
)
OmaymaS
September 13, 2018
Tweet
Share
More Decks by OmaymaS
See All by OmaymaS
Drawing the F***ing Owl: How to Really Build AI-Based Products!
omaymas
0
46
WHAT ON EARTH ARE EMBEDDINGS?
omaymas
0
95
A GLIMPSE OF THE DATA SCIENCE AND MACHINE LEARNING WORLD IN PRACTICE
omaymas
0
92
Machine Learning System Dynamics: Beyond Model Development
omaymas
0
110
MACHINE LEARNING INTERPRETABILITY: WHY AND HOW!
omaymas
1
120
MACHINE LEARNING INTERPRETABILITY: WHY AND HOW!
omaymas
0
400
Interpreting Machine Learning Models: Why and How!
omaymas
0
920
Data Manipulation with dplyr (First Steps)
omaymas
2
2.2k
The Data Lorax: Planting The Seeds of Fairness in Data Products
omaymas
0
190
Other Decks in Technology
See All in Technology
Behind Postgres 18: The People, the Code, & the Invisible Work | Claire Giordano | PGConfEU 2025
clairegiordano
0
150
アウトプットから始めるOSSコントリビューション 〜eslint-plugin-vueの場合〜 #vuefes
bengo4com
3
1.8k
スタートアップの現場で実践しているテストマネジメント #jasst_kyushu
makky_tyuyan
0
140
AI時代、“平均値”ではいられない
uhyo
8
2.7k
Okta Identity Governanceで実現する最小権限の原則
demaecan
0
170
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
1
1.1k
re:Invent 2025の見どころと便利アイテムをご紹介 / Highlights and Useful Items for re:Invent 2025
yuj1osm
0
280
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
210
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
2
390
Amazon Athena で JSON・Parquet・Iceberg のデータを検索し、性能を比較してみた
shigeruoda
1
160
ゼロコード計装導入後のカスタム計装でさらに可観測性を高めよう
sansantech
PRO
1
520
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
100
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Site-Speed That Sticks
csswizardry
13
930
Building Applications with DynamoDB
mza
96
6.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Automating Front-end Workflow
addyosmani
1371
200k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
A Tale of Four Properties
chriscoyier
161
23k
Documentation Writing (for coders)
carmenintech
75
5.1k
Building an army of robots
kneath
305
46k
Transcript
Beyond Prototypes A Journey to The Production Land Omayma Said
OmaymaS
The Land of PROTOTYPES The Land of PRODUCTION
An excited Data Scientist!
Begin with the DATA PRODUCT in mind Bridging the prototypes
and production lands
Web API Begin with the DATA PRODUCT in mind Web
Application Reproducible Report Package Other
Think of the DATA PRODUCT as an answer to a
question Bridging the prototypes and production lands
Q: What is the matching score of application X in
job Y? A: Value returned from an endpoint (WEB API) Think of the DATA PRODUCT As an answer to a question
Q: How does the daily activity of the subscribed companies
look like ? A: Metrics shown and updated in a Dashboard Think of the DATA PRODUCT As an answer to a question
Q: How do different segments respond to our recommendations ?
A: Report/Presentation Think of the DATA PRODUCT As an answer to a question
Question +Data IN Answers/ Solutions OUT
Question +Data IN Answers/ Solutions OUT NOT always straightforward in
real life!
Real Life Challenges Reproducibility Portability Accessibility
Make the DATA PRODUCT accessible and user friendly Bridging the
prototypes and production lands
Rstudio Connect Rstudio/Shiny Server (open source) Docker Experimenting in the
land of production
Docker (Commands to build an image) (Executable package) (Running instance
of an image) Docker file Docker Image Docker Container
- Build this Dockerfile! - Install R - Install system
packages - Install shiny server - Install R packages - Expose port - Run Versus
- Run this docker image! - Install R - Install
system packages - Install shiny server - Install R packages - Expose port - Run Versus
FROM rocker/r-base MAINTAINER Jeff Allen <
[email protected]
> RUN apt-get update -qq
&& apt-get install -y \ git-core \ libssl-dev \ libcurl4-gnutls-dev RUN install2.r plumber EXPOSE 8000 ENTRYPOINT ["R", "-e", "pr <- plumber::plumb(commandArgs()[4]); pr$run(host='0.0.0.0', port=8000)"] CMD ["/usr/local/lib/R/site-library/plumber/examples/04-mean-sum/plumber.R"] How does a Dockerfile look like? https://hub.docker.com/r/trestletech/plumber
FROM rocker/r-base MAINTAINER Jeff Allen <
[email protected]
> RUN apt-get update -qq
&& apt-get install -y \ git-core \ libssl-dev \ libcurl4-gnutls-dev RUN install2.r plumber EXPOSE 8000 ENTRYPOINT ["R", "-e", "pr <- plumber::plumb(commandArgs()[4]); pr$run(host='0.0.0.0', port=8000)"] CMD ["/usr/local/lib/R/site-library/plumber/examples/04-mean-sum/plumber.R"] Install R How does a Dockerfile look like? https://hub.docker.com/r/trestletech/plumber
FROM rocker/r-base MAINTAINER Jeff Allen <
[email protected]
> RUN apt-get update -qq
&& apt-get install -y \ git-core \ libssl-dev \ libcurl4-gnutls-dev RUN install2.r plumber EXPOSE 8000 ENTRYPOINT ["R", "-e", "pr <- plumber::plumb(commandArgs()[4]); pr$run(host='0.0.0.0', port=8000)"] CMD ["/usr/local/lib/R/site-library/plumber/examples/04-mean-sum/plumber.R"] Install System Packages How does a Dockerfile look like? https://hub.docker.com/r/trestletech/plumber
FROM rocker/r-base MAINTAINER Jeff Allen <
[email protected]
> RUN apt-get update -qq
&& apt-get install -y \ git-core \ libssl-dev \ libcurl4-gnutls-dev RUN install2.r plumber EXPOSE 8000 ENTRYPOINT ["R", "-e", "pr <- plumber::plumb(commandArgs()[4]); pr$run(host='0.0.0.0', port=8000)"] CMD ["/usr/local/lib/R/site-library/plumber/examples/04-mean-sum/plumber.R"] Install plumber How does a Dockerfile look like? https://hub.docker.com/r/trestletech/plumber
FROM rocker/r-base MAINTAINER Jeff Allen <
[email protected]
> RUN apt-get update -qq
&& apt-get install -y \ git-core \ libssl-dev \ libcurl4-gnutls-dev RUN install2.r plumber EXPOSE 8000 ENTRYPOINT ["R", "-e", "pr <- plumber::plumb(commandArgs()[4]); pr$run(host='0.0.0.0', port=8000)"] CMD ["/usr/local/lib/R/site-library/plumber/examples/04-mean-sum/plumber.R"] Expose port How does a Dockerfile look like? https://hub.docker.com/r/trestletech/plumber
FROM rocker/r-base MAINTAINER Jeff Allen <
[email protected]
> RUN apt-get update -qq
&& apt-get install -y \ git-core \ libssl-dev \ libcurl4-gnutls-dev RUN install2.r plumber EXPOSE 8000 ENTRYPOINT ["R", "-e", "pr <- plumber::plumb(commandArgs()[4]); pr$run(host='0.0.0.0', port=8000)"] CMD ["/usr/local/lib/R/site-library/plumber/examples/04-mean-sum/plumber.R"] Run How does a Dockerfile look like? https://hub.docker.com/r/trestletech/plumber
Could someone help me write Dockerfiles?
2 1 Could someone help me write Dockerfiles? Use/Modify available
Dockerfiles Use helper packages
1 Use/Modify available Dockerfiles Could someone help me write Dockerfiles?
The Rocker Project github.com/rocker-org
The Rocker Project hub.docker.com/u/rocker
The Rocker Project docker pull <user/repo> docker run <image> hub.docker.com/u/rocker
2 Use helper packages Could someone help me write Dockerfiles?
Containerit containerit::dockerfile() Capture dependencies in session file workspace github.com/o2r-project/containerit
liftr github.com/road2stat/liftr liftr::lift(“foo.rmd”)
liftr --- title: "User Engagement Analysis" author: "Sara K." output:
rmarkdown::html_document liftr: maintainer: "Sara K." email: "
[email protected]
" cran: - dplyr --- github.com/road2stat/liftr
rize rize::shiny_dockerize() BUILD docker image CREATE Dockerfile github.com/cole-brokamp/rize app.R
The Land of PROTOTYPES The Land of PRODUCTION INTERCONNECTED
Begin with the DATA PRODUCT in mind Think of the
DATA PRODUCT As an answer to a question Make the DATA PRODUCT Accessible and user friendly https://speakerdeck.com/omaymas