Favicon Logo

📣️ New: CRAN R package binaries for arm64 and Alpine Linux

Enterprise-Ready Posit Installations

Professional installation and configuration of Posit Workbench, Posit Connect and Posit Package Manager via Ansible or Helm. Multiple R and Python versions are included alongside Quarto, Database Drivers, Authentication (AD, SSO) and TLS configuration.

The Posit Connect alternative Shinyproxy is also offered. It might be a good fit if you only want to host a few Shiny Apps/APIs and/or have a restricted budget. Happy to assist finding the best package for your individual needs!

Option #1: On Virtual Machines - via Ansible

Using an automation tool like Ansible improves consistency and stability by avoiding manual and undocumented configurations. It simplifies the initial installation and configuration of multiple R or Python versions and streamlines the continuous update process. Do not let your environment become outdated - instead, provide your team with the latest tools and libraries shortly after their release.

The roles are published on Ansible Galaxy and can be used for free.

Remote or local execution

The Ansible roles can be executed via Ansible Automation Platform or locally on the VM.

Don't reinvent the wheel

Save the time of your engineers, avoid manual installations and rely on tested automation recipes.

Ready for multiple environments

Automate the deployment to multiple environments, minimize downtime and scale easily.

The following video clip shows how Posit Workbench gets installed on a bare VM running Ubuntu within a few minutes. The installation includes multiple R & Python versions, Launcher configuration and a Reverse Proxy configuration).

Note: This example relies on a few preconditions: access to various resources on the web to query/download dependencies (GitHub, Conda, Posit) and the ability to automatically provisions a TLS certificate via certbot. Running within a corporate environment usually requires more initial setup work related to TLS and Firewall/Proxy configuration, yet the role execution time is the same once all prerequisites solved.

Option #2: On Kubernetes/Openshift - via Helm

Installation and configuration via the official Posit Helm charts. The charts can be applied via Terraform or Helm using automation tools like Argo CD, Azure Pipelines or similar deployment applications.

Experience from multiple environments exists deploying the charts on various Kubernetes distributions including AWS EKS, Azure AKS, RedHat Openshift and bare-metal k3s clusters.

kubectl get all output from Posit Workbench Kubernetes deployment

Exemplary output from Posit Workbench Kubernetes deployment

Relationship diagram of Posit Workbench in Argocd

Relationship diagram of Posit Workbench in Argocd

Pricing & Options

The exact pricing depends on a combination of factors: platform (VM; Kubernetes), the amount of services and the access restrictions of the environment. Please reach out and ask for a quote.

Name Description Note
Tier 1A ️• Initial installation and configuration via Ansible
• Access to future role updates via a (yearly) subscription.
️️Requires skilled engineers (Ansible skills) that can apply and troubleshoot the roles (using the included documentation).
Tier 2A • Initial installation and configuration via Ansible
• Future role updates included
• Active management of the full environment (quartely application updates, server maintenance, SLA support).
️️Fully managed environment without knowledge requirement of automation tools like Ansible or the configuration of Posit applications. SLA-based support.
Tier 1K • Installation and configuration via Helm/Terraform/Argocd
• AKS, EKS, GKE or Openshift
• Handover to client after completion
• Access to (custom) container image updates via a (yearly) subscription
️️Effort-based installation. Handover to internal engineers for maintenance. Usage of custom images optional but highly recommended.
Tier 2K • Installation and configuration via Helm/Terraform/Argocd
• AKS, EKS, GKE or Openshift
• Full maintenance (quartely app & image updates, SLA-based support)
Fully managed environment without required knowledge of the mentioned deployment tools. No maintenance load on internal System engineers.
The Ansible components are organized in multiple roles which can also be acquired and applied standalone (e.g. R, Python, Quarto).

FAQs

FAQs related to Posit installation and environment management

We only need application X - is this possible and does it make sense?

Surely! For example, some environments only need an IDE to program in as they already have other publishing apps in use. Feel free to get in touch for free feedback on your specific environment.

Is the use of a reverse proxy necessary? It complicates the setup and maintenance.

From a technical perspective: no. Yet, it is highly recommended as it streamlines the request handling and provides a central TLS handling of all application in the environment. In the end, all Posit apps bundle a reverse proxy when choosing to configure SSL directly. However, the configuration options (request headers, ip-whitelisting, TLS version handling) are highly limited.

We only need R version X, Y and Z and Python version A, B, C. Is this possible?

Yes, any desired R and Python version can be specified and updated/removed as desired.

We have some issues with our current Posit installation(s). Can you help us?

In general, yes. However, I am not available to manually fix non-automated installations or to add feature X to such. I strongly believe that such environments should be configured professionally via automation tools like Ansible.

Do Posit apps in containers comply with the Openshift security policies?

Mainly. No restrictions apply for Connect and Package Manager. As of today, Posit Workbench requires a rootful exception as it needs root permissions for a short time during startup (to configure the Launcher).

Kubernetes: Do we need to build our own images or do you provide some?

Custom images are provided built on different operating systems (incl. RHEL). The default Posit images are not well suited for productions use cases and mainly serve testing environments.

How are the roles distributed?

The roles live in a private Git repository (self-hosted Git from devXY) and can be accessed using a private access token. Alternatively, the repos are mirrored into the client environment.

Do any licenses apply? If yes, which ones?

The roles are distributed with a custom End User License Agreement (EULA). The essential facts are: do not permit redistribution; only permitted for internal use; allows customizations for internal use.

Do you operate in country X?

Worldwide support is offered with local presence in the DACH region (Germany, Switzerland, Austria).