- 株式会社ハートビーツ
- 取締役
- 馬場 俊彰
自分たちで自由に運用できるのが楽しい!OSSを使い倒し、社内業務を効率化する方法
今回のソリューション:【Redmine/レッドマイン】
オープンソースソフトウェア(OSS)は、無償で公開されているソースコードを、誰でも自由にその改良や再配布を行うことができるソフトウェアだ。OSSを使う場合、運用を自分たちで行う分のコストがかかる一方で、細かい部分まで好みやニーズに応じたカスタマイズを施すことができる。
株式会社ハートビーツの取締役を務める馬場 俊彰さんは「Webエンジニアが知っておきたいインフラの基本」や「15時間でわかるCentOS集中講座」などを執筆したインフラのエキスパートであり、オープンソースを好んで使うと言う。
実際に同社では、GitLab(ソースコード管理)、Nagios(監視)、gistub(テキスト共有)といった様々なOSSを社内で活用している。今回は馬場さんに、タスク管理ツールとして使っているRedmineの活用法を中心にお伺いした。
サーバーの選定、運用、監視を一貫して提供
2008年にハートビーツに入社し、CTOを担っています。弊社はインフラの運用・監視や、クラウドサーバーの選定サポートなどの事業を展開しています。クラウドには、Amazon Web Service、Google Cloud Platform、IBMのSoftLayer、IDCフロンティア、その他の国内事業者など様々な選択肢がありますが、それらの中からお客様の要望に合わせた提案をしています。
適切なクラウドの選定を行うためには、まずは各サービスの特徴を見る必要があります。現状では、Amazon Web Serviceが圧倒的なシェアを誇っていて、情報量や事例が多いです。ただ、自分たちで設定や作業をしなければならない部分が多く、またAmazonのルールに合わせることが必要な側面もあります。
一方でGoogle Cloud Platformは、Googleの基盤を使わせてもらうノリが強いですね。テクノロジー的には一番進んでいるので、先進的なテクノロジーを使うことに楽しさを感じる人には向いているかと思います。
例えばこちらを使うと、AmazonのEC2に相当するものの起動が数十秒で出来てしまったりします。
IBMのSoftLayerは物理サーバーを使えるのが特徴です。あまりクラウドっぽくないんですね、どちらかというとデータセンター仮想化のような形で提供しています。現状物理サーバーを使っている会社が今の感覚で乗り換えたい時には最適です。
IDCフロンティアの良いところは、やはり営業さん経由で相談ができるところです。国内事業者ならではのお付き合いができますね。
このようにインフラと一言で言っても各社で特性が違うので、目的によって最適なサービスは変わってきます。それらの選定をサポートし、運用・監視まで行うのが我々の仕事です。
「全て自分たちでコントロールできるから」OSSを使い倒す!
弊社にはOSSを好むカルチャーがあります。OSSは基本的にライセンスコストがかからず、広く流通しているものは柔軟性も高いので、インフラ構築で活用することでお客様にもメリットがあります。
更に魅力的なのは、基本的には自分たちで全てコントロールできることです。そういった理由から、社内で使うツールもOSSが多いんです。
現在活用しているOSSは色々あるのですが、例えばソースコードの管理にはGitHubではなくGitLabを使っています。自分達でサーバーを持って運用すれば間違えてコードを公開してしまうリスクもありません。
また、監視にはNagiosを使っています。Nagiosはシステム上の異常を察知した場合やそれが解決された時に、管理者に通知を飛ばすことができるツールです。
他にも、テキスト共有にはgistub、サーバー等の資産管理にはRackTablesといったものを使っています。
フロントをオリジナルの仕様にカスタマイズできる「Redmine」
その中でも、タスク管理ツールとして使っているRedmineには様々なカスタマイズをしています。
本体に手を入れてしまうとアップデートできなくなってしまうので、今のところはブラウザ側に手を入れ、ユーザースクリプトを利用してフロント部分をオリジナルの仕様にしています。
▼カスタマイズしたRedmineのタスク管理画面
例えば、タスクの未読を防ぐための機能は自分たちで追加しました。弊社はインフラを運用する事業を行っており、3交代制で人員を回しているのでタスクの引き継ぎが頻繁に起こります。その際に、関係者の全員に漏れなくタスクを把握してもらう必要があったんです。
そこで「ウォッチャーに全員を追加」「全員を削除」といった機能を追加し、引き継ぎに抜け漏れがないようにしています。
また、お客様とはメーリングリストでやり取りをしているのですが、そのメールからタスクを拾ってRedmineに記載するようなThunderbirdのプラグインも自作しています。
外部連携ツールもどんどん作って活用!
フロント部分以外ですと、外部連携ツールも自作しています。弊社は何かシステムなどを作る時は基本的にPythonを使うのですが、RedmineにはPythonのライブラリもあるので簡単にツールが作れるんです。
例えばRedmineからタスクの情報を引っ張ってきて、長期間放置されたタスクリストを見える化する仕組みを開発して活用しています。
他にも、システムトラブルの履歴をあらかじめチケットとして登録した上で集計・分析しているのですが、そのチケットの内容を分析して集計元データを作る外部ツールも自作しています。
サーバーを自分で持って自由に運用することが楽しい!
弊社のOSSを使うカルチャーは元々あったものではなく、社員から自然に生まれてきたものなんですよね。「裏まで見て把握したい」という気質の人が揃っていて、OSSのコミュニティー活動をしている人も多いんです。
個人レベルで趣味としてやっている感じですね。皆サーバーを自分で持って運用することを楽しんでいます。
OSSは自分たちで運用しなければならない分、少し面倒なところもありますが、どうしても自分でやりたくなっちゃうんです。 今後もOSSを使い倒して楽しみながら業務の効率化ができたらいいなと思っています。(了)