【R】オープンソース版Rstudio Server・Shiny Serverの構築(セルフホスティング)色々

The R logo is © 2016 The R Foundation.から/CC-BY-SA 4.0

言わずと知れた「R」です。S言語をベースに開発された統計解析に特化したオープンソースのプログラミング言語で、古典的な統計解析だけでなくデータ分析やグラフ作成、機械学習などにも利用されています。

パッケージも豊富に開発されているので統計学者や最先端のAI研究は別として、普通の人は「R」を使えば解析・分析でできない事はほぼありません。

Rとセルフホスティング

Rを使う場合、一般的にはローカルPCにRやRstudio Desktopをインストールして使用しますが、セルフホスティングではRstudio ServerやShiny Server(どちらもオープンソース版)を使います。

機能・特徴

Rstudio ServerやShiny Serverのセルフホスティングはスタンドアロンでできることに加えて、以下のような機能や特徴があります。

ローカル(LAN)内での利用

ShinyやRstudioのホスティング環境もありますが、費用や絶対にオープンできない情報の取り扱いなど、諸々の理由でホスティング環境を使えない場合もあります。

セルフホスティングの場合はローカル(LAN)内で完結する環境も作れます。

複数ユーザーの使用や共同作業(分析環境の統一)

Rstudio Serverが中心ですが、複数のユーザーで同じRstudioを使った分析ができます。

何よりも、共同作業の場合にもRのバージョンやインストールされているパッケージを同じ環境にできるため、複数ユーザーでも分析環境を統一する事ができます。

ただ、オープンソース版の場合は共同作業に工夫(ユーザーの追加やGitHubの利用など)が必要です。

  • 【R】Dockerを使ってインストールしたRstudio Serverへのアカウント追加(現在作成中)

Shinyアプリケーションの公開

特にルーチンワークに近い分析の場合は、ShinyでWebアプリケーションとして公開すればRや統計解析に不慣れでも必要な分析ができやすくなります。

個人的な感覚ですが、統計解析や分析をスムーズにできる人材はまだまだ少ないので、使いやすいアプリケーションで分析に慣れてもらうことも重要だと思っています。

インストール手順

実機インストール

コンテナや仮想化を使わない実機へのインストールはシンプルな構成にできるので、トラブルの発生箇所が少なくなる点が一番のメリットです。

  • 【R】Ubuntu 22.04 ServerでRstudio Serverのインストール(現在作成中)
  • 【R】Ubuntu 22.04 ServerでShiny Serverのインストール(現在作成中)

Docker

Dockerを使うとコンテナで環境を分離できるので、簡単にユーザーやプロジェクト毎に別の分析環境を構築することができます。

Dockerに限りませんが、フロントエンドとバックエンドをわけた以下の構成の場合はYunoHost側でユーザー認証ができるので、オープンソース版のShiny Serverでもアクセス権限が設定できるようになります。

使用感・感想

正直、自分で使うだけならローカルでインストールする方が早くて簡単です。

Dockerを使うと環境の分離が簡単にできるので、例えば、古いバージョンのRで作ったShinyアプリケーションと新しいバージョンのShinyアプリケーションを一つのサーバーで同時に公開することもできます。

個人的に感じるメリットとしてはRstudio Serverを使った複数ユーザーの共同作業で、Rのバージョン・インストールされているパッケージを統一(同じ分析・開発環境)できることだと思っています。

分析環境が違うためにできる事が変わると共同作業にならない事もありますし…。