Azure Single Server
You can configure Posit Workbench to run on a single server, without requiring any additional storage resources, by hosting both Workbench and user sessions on the same server. This architecture is designed to provide a simple, cost-effective way to run Workbench for small teams or organizations.
Architectural overview
This architecture uses the following components:
- A single Azure Virtual Machine instance running Workbench
- The local Azure SSD Managed Disk storage provisioned for the Virtual Machine
- SQLite as the application database
Because a standalone instance of Workbench includes user data as well as the internal Workbench SQLite database, we recommend you follow your organization’s backup and retention strategies to maintain snapshots of the managed disk associated with the virtual machine.
Architecture diagram
Sizing and performance
The performance of this architecture is dictated by virtual machine size and the CPU, RAM, and storage characteristics of the machine.
Node
Ensure the virtual machine instance is large enough to handle peak usage. The size and type of the instance depend on the needs and workloads of end users. For the best experience, estimate the number of concurrent sessions expected and the compute resources required for each session, focusing on CPU and memory. Choose an instance size that supports the maximum number of concurrent sessions at any given time. In practice, a single-server implementation works best for small teams of approximately 10 users.
CPU
Workbench alone consumes only a small amount of system resources. However, when estimating needs, reserve two to six cores for Workbench itself, in addition to accounting for the Python and R processes running in user sessions or Workbench Jobs. Review the considerations in the Number of users section to estimate the total number of CPU cores needed.
RAM
User sessions and Workbench Jobs consume memory. The number of users and how they typically work with their data dictate the amount of memory needed. Review the Memory and disk requirements section to estimate the amount of memory needed.
Database
SQLite is the default database provider for Workbench and does not require any setup or maintenance. Its sizing is not configurable, and this database is wholy managed by Workbench. More information about SQLite, and the database generally, is found in the Database section. Additionally, the SQLite database has low latency because it is on disk.
Storage
In this configuration, user home directories are stored on the host virtual machines node. The storage capacity of the virtual machine should be large enough to accommodate the expected number of users and the size of their data.
A more detailed discussion on node sizing can be found in the Architecture considerations section.
Configuration details
Networking
The virtual machine is placed in a public subnet with network controls such as TLS/SSL and accepted IP addresses for inbound connections. These settings are detailed in the Access and Security section. A private subnet may also be used with no impact to performance.
Resiliency and availability
This architecture does not provide high availability or fault tolerance. If the virtual machine fails or there are outages within the Availability Zone, Posit Workbench is unavailable until service is restored.
As a best practice, conduct regular backups of the managed disk associated with the virtual machine to ensure that you can recover user data and the Workbench database in the event of a failure. Refer to the Backup Guide for more information.
Achieve a more robust architecture by utilizing a Postgres database for the product metadata and a shared file system for storage. This architecture positions Workbench for easier scaling and allows for more robust backup and recovery strategies. Review the Database section and Mount shared storage section for more information.