Skip to content

Production Ready Shiny

Knut Ole Sjøli edited this page Oct 3, 2019 · 9 revisions

Shiny in a prod env

RStudio in Production workshop: https://kellobri.github.io/shiny-prod-book/course-intro.html#workshop-objectives

Hva betyr produksjonsklar?

1. Tester

  • shinytest
  • sammenlikne snapshots (GUI)
  • sammenlikne verdier (data/utregninger)

2. Ytelse

  • profilering
  • profvis
  • optimalisere app

3. Package miljø

  • packages (frozen)
  • sørge for at miljøet er likt
  • samme versjoner av alle pakker
  • løses med Docker, eventuelt K8 i Azure
  • hvis pakkeversjoner oppdateres, så må også dette testes (i container)

4. Brukervennlig design

  • css regler, etc.
  • vi kan lage standardiserte maler for designuttrykk
  • eksempel:
width: 50%;
text-align: left;
margin: 0 auto;

5. Monitorering

  • logging av brukere

Anbefalt CI/CD arbeidsflyt

  • Fytte alt til Azure (devops, server VMs)
  • Pushe R app kode med Git istedet for SFTP.
  • Når kode pushes, så kjører vi automatiske tester
  • Generelt oppsett:
Screen Shot 2019-09-09 at 19 59 20
  • Når testene er OK, så kan vi legge koden over til STAGING og PROD servere
Screen Shot 2019-09-09 at 20 00 21

Verdt å vurdere

  1. Hvor ofte vil appene oppdateres, og hvor omfattende vil endringene være?
  2. Hvor ofte vil nye apper publiseres?
  3. Hvor kompliserte er appene?
  4. Hvor kommer dataen fra, og vil denne endres mye?

Referanser