自作Streamlitアプリを社内運用する際の注意点と自動起動の設定方法

前回の記事では、自分のPCを簡易サーバーにしてStreamlitアプリを社内公開する手順を解説しました。 今回は、運用を始める前に知っておきたい「セキュリティの考え方」や「PC再起動時の対策」など、実運用に欠かせないポイントをまとめておきます。

1. 「保護されていない通信」と表示される理由

社内LANでアクセスするとブラウザに警告が出ることがありますが、これはHTTP通信(暗号化なし)を利用しているためです。

  • 社内限定なら問題ない?:インターネットに公開せず、社内ネットワーク内だけで完結しているツールであれば、実用上はHTTPのまま運用されるケースも多いです。

2. 自分のPCをサーバーにする際の注意点

手軽な反面、以下のデメリットを理解しておく必要があります。

  • PCの電源を切るとツールも止まる
  • Windowsアップデート等で勝手に再起動すると停止する
  • 同時接続数が増えるとPCの動作が重くなる可能性がある

3. PC再起動後にアプリを自動起動する方法(Windows)

PCが再起動しても自動でツールが立ち上がるように、バッチファイルとスタートアップを活用しましょう。

① バッチファイルの作成

メモ帳などに以下の内容を書き、start_streamlit.bat という名前で保存します。

@echo off
start cmd /k streamlit run portal.py --server.port 8500 --server.address 0.0.0.0

② スタートアップへの登録

  1. Win + R キーを押し、shell:startup と入力してフォルダを開きます。
  2. 作成したバッチファイルの「ショートカット」をこのフォルダに入れます。 これで、PC起動時に自動でStreamlitが立ち上がります。

4. 同時接続人数の目安

「この方法で何人くらい同時に使えるのか?」というのは気になるところだと思います。
結論から言うと、Streamlitは本来大規模サービス向けのサーバーではなく、分析ツールや社内ツール向けに作られています。
そのため、一般的な社内利用であれば次のくらいが目安になります。

同時接続の目安

利用人数状況
1〜5人ほぼ問題なし
5〜10人問題なく使えることが多い
10〜20人処理内容によっては少し重くなる
20人以上専用サーバー構成を検討

これは

  • PCスペック
  • アプリの処理内容
  • データ量

によって変わります。
例えば

軽い処理

  • データ表示
  • グラフ表示
  • フォーム入力

なら 10人程度でも問題ないことが多いです。
一方で

重い処理

  • 大量データ分析
  • 機械学習処理
  • 大きなDBアクセス

などがある場合は、同時アクセスが増えるとCPU負荷が上がる可能性があります。

実際の社内ツールとしての運用イメージ

例えば次のような用途なら、今回の方法でも十分運用できます。

  • 社内データ確認ツール
  • PL・売上確認ツール
  • 簡易分析ツール
  • ちょっとした業務支援ツール

このような用途で 数人〜10人程度の利用であれば自分のPCを簡易サーバーとして使う方法でも十分実用的です。

利用人数が増えた場合

もし

  • 社員全体で使う
  • 同時アクセスが多い

ようになってきたら、次のような構成にすると安定します。

  • Linuxサーバー
  • Docker
  • nginx + Streamlit
  • クラウドサーバー

ただ、最初からそこまで構成を作る必要はなく、まずは今回のような簡易サーバーから始めるというのも十分現実的な方法だと思います。

小さな社内ツールならこの方法はかなり便利

今回の方法は

  • Python環境を各PCに入れる必要なし
  • ブラウザだけで使える
  • 複数ツールも公開可能

というメリットがあります。
ちょっとした社内ツールを作る場合には、かなり実用的な方法だと思います。

まとめ

小規模なチームで使うツールなら、この構成で十分実用可能です。まずは手軽に始めて、利用者が増えてきたら本格的なサーバー構成を考えましょう。

コメント