flowchart LR u1(User) b1(Browser) elb1(External Load Balancer) elb2(External Load Balancer) elb3(External Load Balancer) workbench1(Workbench) workbench2(Workbench) workbench3(Workbench) connect1(Connect) connect2(Connect) connect3(Connect) packagemanager1(Package Manager) packagemanager2(Package Manager) packagemanager3(Package Manager) nfs(Shared Storage) pg(Postgres) u1---b1 b1---elb1 b1---elb2 b1---elb3 elb1---workbench1 elb2---connect1 elb3---packagemanager1 subgraph products [ ] subgraph wb [Workbench Servers] workbench1---workbench2---workbench3 end subgraph pc [Connect Servers] connect1---connect2---connect3 end subgraph pm [Package Manager Servers] packagemanager1---packagemanager2---packagemanager3 end end products-..-pg products-..-nfs classDef server fill:#FAEEE9,stroke:#ab4d26 classDef product fill:#447099,stroke:#213D4F,color:#F2F2F2 classDef session fill:#7494B1,color:#F2F2F2,stroke:#213D4F classDef element fill:#C2C2C4,stroke:#213D4F classDef req fill:#72994E,stroke:#1F4F4F class products,wb,pc,pm server class workbench1,workbench2,workbench3,connect1,connect2,connect3,packagemanager1,packagemanager2,packagemanager3 product class u1,b1 element class pg,nfs req
Posit Team Architectures
Posit Team is a bundle of our popular professional software for developing data science projects, publishing data products, and managing packages.
Posit Team includes Workbench, Connect, and Package Manager.
The diagrams on this page illustrate architectures for all three products. See individual product architecture diagrams here:
Product | Link |
---|---|
![]() |
Workbench |
Connect | |
Package Manager |
Posit Team: Each product on a separate server
In this configuration, each product is installed on a separate Linux server.
Posit Team: Load-balanced and high availability cluster
In this configuration, each product is installed on two or more separate Linux servers and requires:
- User’s home directories to be stored on an external shared file server (Workbench)
- Application data to be stored on an external shared file server (Connect and Package Manager)
- Application metadata to be stored on an external PostgreSQL database server (All)
Posit Team: Running inside a Kubernetes cluster
In this configuration, each product is installed within the kubernetes cluster and requires:
- User’s home directories to be stored on an external shared file server (Workbench)
- Application data to be stored on an external shared file server (Connect and Package Manager)
- Application metadata to be stored on an external PostgreSQL database server (All)
Posit provides Helm Charts to help maintain this entire installation.
flowchart LR u1(User) u2(User) u3(User) b1(Browser) b2(Browser) b3(Browser) ingress(Ingress Controller <br/> nginx/nginx-ingress) workbench(Workbench <br/> Launcher <br/> ghcr.io/rstudio/rstudio-workbench) connect(Connect <br/> Launcher) packagemanager(Package Manager) rsession(RStudio Session <br/> docker.io/rstudio/r-session-complete) jupyter(Jupyter Session <br/> ghcr.io/rstudio/py-session-complete) vscode(VS Code Session <br/> ghcr.io/rstudio/py-session-complete) job(Workbench Job <br/> docker.io/rstudio/r-session-complete) qmd(Quarto<br/>ghcr.io/rstudio/content-base:r-40-py-3.8) flask(Flask App<br/>ghcr.io/rstudio/content-base:py-3.8) shiny(Shiny App<br/>ghcr.io/rstudio/content-base:r-4.0) dash(Dash App<br/>ghcr.io/rstudio/content-base:py-3.8) nfs(Shared Storage) pg(Postgres) u1---b1 u2---b2 u3---b3 b1---ingress b2---ingress b3---ingress subgraph k8s [Kubernetes cluster] ingress---workbench ingress---connect ingress---packagemanager workbench---rsession workbench---jupyter workbench---vscode workbench---job connect---qmd connect---flask connect---shiny connect---dash end k8s-..-pg k8s-..-nfs classDef server fill:#FAEEE9,stroke:#ab4d26 classDef product fill:#447099,stroke:#213D4F,color:#F2F2F2 classDef session fill:#7494B1,color:#F2F2F2,stroke:#213D4F classDef element fill:#C2C2C4,stroke:#213D4F classDef req fill:#72994E,stroke:#1F4F4F class k8s server class workbench,connect,packagemanager product class ingress,rsession,jupyter,vscode,job,qmd,flask,shiny,dash session class u1,u2,u3,b1,b2,b3,lb element class pg,nfs req