当社の社内システムについて
2020.07.17
第1回目となる本稿では、当社が利用している各種社内向けシステムと、その運用方法についてご紹介します。
皆さまは、日頃の業務でどのようなシステムを利用されていますでしょうか。業務用システムと一口に言ってもその内容は多岐にわたりますが、おおよそ下記のものは共通して利用されているのではと思います。
- 勤怠管理システム(勤務時間、有給消化状況など)
- メール送受信システム
- ドキュメント管理・共有システム
もちろん私たちも、これらのシステムを日々利用しています。当社では、コスト抑制とシステムエンジニアの教育を兼ねて、これらのシステムにオープンソースのものなどを導入して運用しています。利用している主なアプリケーションは以下のとおりです。
名称 | 詳細 |
OrangeHRM | 勤務時間、有給申請・取得状況の管理に利用。 |
ONLYOFFICE | メールや文書作成・共有がG Suiteライクに利用できるグループウェア。 MS Officeの代替としても利用できる。 |
GitLab | gitリポジトリマネージャー。ユーザー数やリポジトリ数は無制限。 |
Confluence | ドキュメント管理システム。ナレッジベース用途にて便利。 |
Jitsi Meet | オンライン会議システム。ビデオ録画可能で、非クラウド要件にも適合可。 |
Open LDAP | 各社員の基本情報管理。各種システムのログイン情報と権限も管理。 |
Open VPN | リモートワークの社員向け、社内ネットワーク接続用のVPNサーバー。 |
これらはいずれも、ライセンス規約に従った範囲においては誰でも利用可能です。当社では、上記各システムが、社内に設置してあるコンピュータにデプロイして運用されています。
運用環境について
社内には常時稼働のコンピュータが3台あり、それぞれにLinux OSがインストールされています。そしてこれらのシステムすべてが、この3台によって運用されています。
各システムは、個別のDockerもしくはLXDコンテナ内で稼働されています。その結果、システム間の依存性の問題を排除しながらも、計算リソースのオーバーヘッドが非常に低く抑えられています。実際にはこれらのシステムに加えて、システム/リソース監視のNagios/Grafanaや、Dockerイメージ管理のHarbor、各エンジニア専用の開発用コンテナ、開発のステージング用途のものなど多数のコンテナが稼働していますが、300 USD 程度のマシン3台いずれにおいても、 10-20 %程度のCPU使用率、60 %程度のメモリ使用率に収まっています。
より良い環境を目指して
ここで紹介しました仕組みについては、創立直後で環境整備中の企業様であったり、コストカットを検討中の担当者様に役立てる可能性もあると思いまして、記事としてPostしてみました。
現在のところ、上記の各種システムが安定稼働しており、問題なく運用されています。ただし、当社ではより良いものを目指して定期的にオープンソース技術を利用・検証していますので、有用な情報が得られた際には、各担当者から本Blogにて発信したいと思っています。