前回の記事では、自分の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
② スタートアップへの登録
Win + Rキーを押し、shell:startupと入力してフォルダを開きます。- 作成したバッチファイルの「ショートカット」をこのフォルダに入れます。 これで、PC起動時に自動でStreamlitが立ち上がります。
4. 同時接続人数の目安
「この方法で何人くらい同時に使えるのか?」というのは気になるところだと思います。
結論から言うと、Streamlitは本来大規模サービス向けのサーバーではなく、分析ツールや社内ツール向けに作られています。
そのため、一般的な社内利用であれば次のくらいが目安になります。
同時接続の目安
| 利用人数 | 状況 |
|---|---|
| 1〜5人 | ほぼ問題なし |
| 5〜10人 | 問題なく使えることが多い |
| 10〜20人 | 処理内容によっては少し重くなる |
| 20人以上 | 専用サーバー構成を検討 |
これは
- PCスペック
- アプリの処理内容
- データ量
によって変わります。
例えば
軽い処理
- データ表示
- グラフ表示
- フォーム入力
なら 10人程度でも問題ないことが多いです。
一方で
重い処理
- 大量データ分析
- 機械学習処理
- 大きなDBアクセス
などがある場合は、同時アクセスが増えるとCPU負荷が上がる可能性があります。
実際の社内ツールとしての運用イメージ
例えば次のような用途なら、今回の方法でも十分運用できます。
- 社内データ確認ツール
- PL・売上確認ツール
- 簡易分析ツール
- ちょっとした業務支援ツール
このような用途で 数人〜10人程度の利用であれば自分のPCを簡易サーバーとして使う方法でも十分実用的です。
利用人数が増えた場合
もし
- 社員全体で使う
- 同時アクセスが多い
ようになってきたら、次のような構成にすると安定します。
- Linuxサーバー
- Docker
- nginx + Streamlit
- クラウドサーバー
ただ、最初からそこまで構成を作る必要はなく、まずは今回のような簡易サーバーから始めるというのも十分現実的な方法だと思います。
小さな社内ツールならこの方法はかなり便利
今回の方法は
- Python環境を各PCに入れる必要なし
- ブラウザだけで使える
- 複数ツールも公開可能
というメリットがあります。
ちょっとした社内ツールを作る場合には、かなり実用的な方法だと思います。
まとめ
小規模なチームで使うツールなら、この構成で十分実用可能です。まずは手軽に始めて、利用者が増えてきたら本格的なサーバー構成を考えましょう。


コメント