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:
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)
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: 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