Infrastructure as Code. Scalable Posit Deployment.

Discover how a global tech company transformed its operations through Infrastructure-as-Code deployment of Posit products and optimized R Shiny development, all enabled by strategic collaboration with Appsilon.

Unlocking Client Success:

Introducing Posit’s Package Manager

A centralized package management system introduced to streamline development workflows, expediting both updates and new feature releases.

R Shiny Guidelines site for Shiny app development

A dedicated guidelines site created to standardize and improve the quality of R Shiny app development across the organization.

Adjusting pkgdown on client’s internal GitHub infrastructure

Customization of 'pkgdown' to fit seamlessly into the client’s existing GitHub infrastructure, facilitating better documentation and collaboration.

R Shiny app development support

Expert support provided for R Shiny app development, addressing challenges and driving efficiencies in data visualization and analytics.

Technologies: Terraform, Ansible

Utilization of Terraform and Ansible for robust, automated infrastructure management, laying the foundation for scalable and secure operations.

Reusable deployment infrastructure of Posit Products

An automated reports pipeline has led to time savings and increased data accuracy, facilitating more effective strategy execution.

Client Objectives

Appsilon was tasked with building a scalable and reliable Posit infrastructure, including Package Manager, Connect, and Workbench. This aimed to streamline deployment and leverage internal products, allowing the customer to effortlessly deploy Posit products without the need for external assistance.

"Our goal was to help the client make Posit products available to multiple teams with varying infrastructure rules. We helped by delivering infrastructure as code to support flexible deployment options for the Posit suite."

– Michał Parkola, Engineering Manager

Review from the Client

“We needed to have a way of building stable data products, but we didn’t have a team that specialized in infrastructure as code or Cloud deployments.

We also wanted to be more efficient and reduce the amount of time between an idea and the deployment of a data product.

Standing up the platform in itself is a challenge that no one on my team had the skills to do, so we decided to hire Appsilon to help us”

The best thing about working with Appsilon is that they seem to have a very well-established set of processes when it comes to managing a product.

This dovetails into the fact that they are really great at documenting, which is something that we specifically wanted from them for this engagement.

We essentially asked them to document the project well enough so that we won’t need their services anymore in the future — and they’ve done exactly that. Overall, I’m very happy with the amazing work they’ve done so far.”

Scope of the Project Delivered

Explore the key areas we pinpointed for improvement, including R Shiny application optimization, the transition to Posit Connect, the need for Posit’s Package Manager, and deployment process enhancements.

Reusable deployment infrastructure of Posit Workbench, Connect, and Package Manager (infrastructure as code)

Adoption serves as a crucial problem-solving element by enabling scalable, efficient, and easily maintainable operations.

Comprehensive R Shiny Support

R Shiny app development support including but not limited to dedicated theme for R Shiny applications, R Markdown reports and pkgdown websites, template for R Shiny projects, and performance improvements of existing dashboards

R Shiny Guidelines

Website with recommendations on how to develop Shiny applications; how to make fast apps and use existing infrastructure

Adjusting 'pkgdown'

Customization of 'pkgdown' to seamlessly integrate with the client's internal GitHub infrastructure, enhancing documentation and collaboration capabilities.

Tracking active Posit Connect users

An automated job that counts active users on all Posit Connect instances that fall under the flex license used by the client

Posit Connect

1. Create a deployment strategy and architecture for Posit Connect
2. Define deployment approaches based on the team(s)’ main use cases (e.g., number of users, dashboard size, etc.)
3. Define the number of Connect (RSC) instances (e.g., dev, prod, ETL, etc.)
4. Set performance and evaluation metrics for RSC instances and dashboards
5. Define the general requirements (software and hardware) for deploying RSC on EKS
6. Prepare database connections
7. Define the requirements drivers and dependencies

Posit Workbench

1. Create a deployment strategy and architecture for setting Posit Workbench
2. Define the requirements to deploy Workbench and the required resources (EKS or equivalent)
3. Define container requirements for maximum reproducibility and portability

Posit Package Manager

Ensure CRAN repositories for RSC and RSW default to correct internal CRAN mirrors (including those with internal packages)

Posit Connect

Create comprehensive documentation to ensure  the reproducibility of the installation and deployment process


Efficient, scalable authentication using IDMS Group and admin control using Access Manager

Partnership Key Objectives

Clearly defined key objectives aimed at maximizing the synergies and benefits of the partnership, guiding strategic decision-making and driving mutual success.

Annual Product Reviews

Showcasing how Posit products support their goal of building transparent, accessible, and performant data science products

Our scripts enable quick and effortless Posit product(s) installation in just minutes

Reusable templates make it easy to create R Shiny solutions for widespread internal adoption

We train and support data scientists in developing and deploying R Shiny applications

The amount of Posit product users increased

We simplify cross-team use of Posit products

Get a free discovery call with Appsilon's expert.

Damian's Avatar
Damian Rodziewicz
Head of Sales
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.