モバイル端末などを一元管理・運用するモバイルデバイス管理サービス「CLOMO MDM」を提供する株式会社アイキューブドシステムズ。MDM 領域のパイオニアであり、9 年連続業界 No.1 を誇っています。そんな同社は、これまでは仮想マシンをベースにしたシステムで CLOMO MDM を運用していました。同社は早くからコンテナ技術に注目していたものの、そもそもサービスを安定して運用できていたため、それを取り入れることを躊躇していたといいます。

しかし、日本マイクロソフトが主催するハックフェストに参加したことでコンテナは導入しなければならない技術であると確信し、すぐに取り入れることを決断。2019 年 8 月に「Azure Kubernetes Service」(以下、AKS)を導入し、CLOMO MDM をコンテナベースのサービスに移行させました。それによって負荷状況に応じてリソースを柔軟に自動スケールさせることや、デプロイの作業時間を6分の1に短縮することに成功。CLOMO MDM のシステム運用を担う部門の負担を軽減させただけでなく、コスト削減も実現しました。

サービスが成長して仮想マシンベースのシステムに課題が見つかる

2001 年設立のアイキューブドシステムズは、コンテンツマネジメントシステム(CMS)やモバイルアプリの開発支援サービスを自社開発し、提供してきました。2010 年に iOS 向けのモバイルデバイス管理(MDM)サービス「CLOMO MDM」の提供を開始。現在、同社の主力サービスとなっています。

CLOMO MDM はアップルが提供するB to B向けのプログラムに国内最速で対応するなど、iOS デバイスの管理と活用に強みを持つサービスです。企業ユーザーが安全に Android デバイスを利用するにあたり、グーグルが求める水準を満たしたサービスであることを示すプログラム「Android Enterprise Recommended」も取得しています。

iOS、Android、Windows に対応し、かつデバイスを一元管理できることが CLOMO MDMの強みであり、日本語による手厚いサポートを提供していることも企業ユーザーから高く評価されています。

株式会社アイキューブドシステムズ 製品開発運用本部 プラットフォーム運用部 部長 田崎 大輔 氏

株式会社アイキューブドシステムズ 製品開発運用本部 プラットフォーム運用部 部長 田崎 大輔 氏

CLOMO MDM の基盤を担う CLOMO システムは仮想マシンをベースにしたクラウドシステムとして構築され、運用されてきました。クラウド基盤にはMicrosoft Azureを利用しています。この CLOMO システムを運用・監視するのは、製品開発運用本部 プラットフォーム運用部の任務です。同部の役割について株式会社アイキューブドシステムズ 製品開発運用本部 プラットフォーム運用部 部長の田崎 大輔 氏はこう話します。

「プラットフォーム運用部には、CLOMO システムを絶対に止めないというミッションを課しており、システムの安定的な提供を日々心掛けています。仮想マシンをベースにしたCLOMOシステムはアーキテクチャを少しずつ変えて進化してきましたが、サービスインから時間が経過し、サービスが大きく成長したことによって課題が散見されるようになっていました」(田崎 氏)。

仮想マシンごとに役割を与えていたためリソースを効率良く使えない

仮想マシンをベースにした CLOMO システムには、主に 5 つの課題がありました。

1 つは単一障害点が存在していたことです。CLOMO システムのロジックの一部にはサーバーのローカルストレージに依存しているところがあったことなどの理由で、負荷分散や冗長化しにくい構成で単一障害点になっていました。それについて田崎 氏は次のように説明します。

「CLOMO MDM がサービスインしたときはサーバー管理コストを優先したコンパクトな構成が理にかなっていました。その後、サービスの成長とともに何度もアーキテクチャを見直して改善を繰り返し、冗長化を施してきましたが、サーバーのローカルストレージだけはなかなか手をつけられず、単一障害点になっていたのです」(田崎 氏)。

2 つめの課題はリソースを効率良く使うことができないことです。仮想マシンをベースにしたシステム構成を取っていましたが、たくさんの仮想マシンを抱え、それぞれに役割を持たせて稼働させていたため、むらが多く、効率の悪いシステムになっていました。リソースを効率良く使えないので、無駄なコストが掛かってしまうという欠点もありました。

3 つめはスケールしにくいことです。前述の通り、役割ごとに仮想マシンを分けていたため、あるサーバーにアクセスが集中していても、別の役割を持つほかのサーバーに処理を分担させることができなかったのです。

「一部の仮想マシンで CPU 負荷が高いというアラートが上がった場合、それを緩和するために追加の仮想マシンを起動するといった緊急対応が頻発していました。しかもこの作業は手動で行っていたので効率が悪く、追加で仮想マシンをセットアップするのに 1 時間以上必要だったのです」(田崎 氏)。

4 つめの課題は非同期処理が滞留しがちなことです。CLOMO システムには非同期にバックグラウンドで処理するものがありましたが、一時的に非同期処理キューに未実行処理が溜まってしまうという事象が発生していました。

5 つめはデプロイを行うときの作業量が多いことです。デプロイ作業を自動化していたものの動作に時間が掛かってしまい、一通りのデプロイを行うのに数時間を要していました。当時のことを田崎 氏はこう話します。

「デプロイの作業量が多いため、人的負荷も掛かっていました。CLOMO MDM は国内のお客様が多いサービスなので、基本的にデプロイ作業は夜間に行っています。しかし毎回、デプロイ作業に数時間を要し、動作確認のためにさらに数時間掛かっていたため、人的負担が大きかったのです」(田崎 氏)。

  • 従来のシステム構成図

    従来のシステム構成図

コンテナが CLOMO システムに必要な技術であると確信

アイキューブドシステムズは2015年に日本マイクロソフトとの協業をスタートし、日本マイクロソフトのハックフェストやさまざまな技術のハンズオンセミナーを受けていました。2018 年の 2 月にはコンテナ技術に関するハックフェストを受けました。そのときのことをこう説明します。

「2 日間のハックフェストで、1 日目はハンズオンセミナーが行われ、2 日目は当社が抱えている課題を洗い出し、コンテナ技術を導入したらそれらの課題をどのように解決できるのかといったディスカッションをしました。当時はコンテナ技術がとても盛り上がっていましたが、当社は仮想マシンをベースにしたシステムで、課題はありながらも安定して運用できていたため、それを変える決断は難しく、コンテナを導入することの踏ん切りをつけられずにいたのです。しかし、そのハックフェストを受けたことによって、コンテナはこれからの CLOMO システムに必要な技術だということを確信しました」(田崎 氏)。

ハックフェストを受ける前から認識していた課題もあれば、ハックフェストによって明らかになった課題もあると田崎氏は言います。そのうえで、コンテナ技術を使えば新しいアーキテクチャを導入したり、新しいシステムを模索したりできることがわかったそうです。ハックフェストについて田崎 氏は次のように話します。

「当時、いろいろなルートで『コンテナ技術はいい』『Kubernetesがすごいらしい』という話を聞いていましたが、体系的に学ぶ機会がありませんでした。ですから、日本マイクロソフトのハックフェストのハンズオンで実際に手を動かしてコンテナ技術を学ぶ機会を得られたことはとても良かったと思っています」(田崎 氏)。

AKS に移行時もサービスを停止することなくプロジェクトを完遂

アイキューブドシステムズはコンテナ技術を導入するに当たり、コンテナを統合管理するコンテナオーケストレーションツールとして Kubernetes を導入し、Kubernetes のマネージドサービスを利用することを決めました。CLOMO システムが Azure 上で展開されていたこともあり、Kubernetes のマネージドサービスには Azure Kubernetes Service(以下、AKS)を採用しました。

2018 年の 2 月に日本マイクロソフトのハックフェストを受け、同年 3 月に日本マイクロソフトとディスカッションを行い、新しい CLOMO システムのアーキテクチャを決めたり、開発プロセスを見直したり、AKS に移行するロードマップを決めたりしました。同年 7 月には、CLOMO システムをコンテナベースに移行することが社内で承認されました。

同年 10 月に検証環境で検証用の AKS に CLOMO システムを載せ、一通りの動作検証を終了させました。そして、CLOMOが利用するAzureリージョンで AKS が使用可能になった直後の 2019 年 8 月に本番環境を AKS に移行し、CLOMO MDM をコンテナベースのサービスへと移行させることに成功しました。田崎 氏は当時のことをこう振り返ります。

「本番環境を AKS に移行する際もサービスを停止することなく、スムーズに作業を進めることができました。大きなプロジェクトを遂行しつつ、CLOMO システムを絶対に止めないという私たちプラットフォーム運用部のミッションを果たせたのは嬉しかったですね」(田崎 氏)。

負荷状況に応じて柔軟にスケールすることが AKS 導入の最大の効果

AKS によって CLOMO MDM をコンテナベースのサービスへ移行させたことで 5 つの効果を得られました。

1 つは単一障害点をなくしたことです。Kubernetes では複数のコンテナをまとめて Pod として管理しますが、Web サーバーのローカルファイルシステムに依存していたものをローカルファイルをとして保存せず、「Azure Files」を共有フォルダとして活用し、そこに保存するようにしたことで、複数の Pod から同じファイルを参照できるようにしたのです。それによってローカルファイルシステムに依存していた課題を解決しました。実は AKS を利用しなくても Azure Files を使うことができますが、アイキューブドシステムズは AKS の利用開始とともに Azure Files を使い始め、単一障害点をなくしたのです。

2 つめの効果はリソースを効率よく使えるようになったことです。Pod に凝集させてコンピューティングリソースをフルに活用できるようになったことで、リソースを無駄なく利用できるようになりました。

3 つめはスケールしやすくなったことです。Kubernetes には負荷状況に応じて Pod が適切に立ち上がる仕組みがあります。それによってアラートのたびに仮想マシンを立ち上げていたときより素早く、かつ柔軟にコントロールできるようになりました。以前は手動で作業していたことが自動で行われるようになり、負荷状況に応じて柔軟にスケールするようになったのです。

「スケールしやすくなったことは私にとって AKS 導入の最大の効果です。自作のスクリプトで負荷状況に応じてAKSのノードマシンを自動的に停止したり起動したりするようにしたことで、以前に比べてコンピューティングリソースを 3~4 割も抑えられるようになりました。それによるコスト面のメリットもあります」(田崎 氏)。

4 つめの効果は非同期処理が滞留しにくくなったことです。非同期処理のキューが溜まってきたら、それに合わせてワーカー Pod を立ち上げるという仕組みをつくったことで、キューが溜まればすぐに AKS に Pod が立ち上がって処理を始めることで、非同期処理の滞留をなくすことができました。

5 つめはデプロイ作業量が減ったことです。コンテナ技術では検証で用いたコンテナイメージをそれ以降の検証フェーズだけでなく、本番環境でも利用することが可能です。仮想マシンベースのときには検証フェーズごとにデプロイ作業を行っていたので大幅に省力化できました。たとえば本番環境でのデプロイ作業で 2~3 時間も掛かっていたものが 20~30 分ぐらいで済むようになり、作業時間をおよそ 6 分の 1 に短縮できたと言います。

「プラットフォーム運用部の業務負担もかなり減っています。以前は CPU 負荷が高いことを知らせるアラート数が多く上がっていましたが、AKS を導入してからはかなり少なくなりました」(田崎 氏)。

AKS の導入によってプラットフォーム運用部に与えられた目標を達成するための活動を行いやすくなったともいいます。

「アラートが上がると、それに対応するための作業に時間を取られてしまい、プラットフォーム運用部に与えられた目標を達成するための活動を行いにくくなります。非計画業務が増えると計画業務に時間が割けなくなるというわけですが、現在はそういったところが改善されて計画業務にかなり集中できるようになりました。目標にコミットしやすくなったのはとてもいいことだと思っています」(田崎 氏)。

  • 現在のシステム構成図

    現在のシステム構成図

ユーザー数が多いサービスほど柔軟なシステムの恩恵を受けられる

アイキューブドシステムズのような SaaS プロバイダーにとって、ユーザー数が多いサービスほどシステムの負荷が高まったり、そうでなかったりする時間帯が発生しやすくなり、システムの柔軟性が重要になると考えられます。その点について田崎 氏はこう話します。

「CLOMO MDM はユーザー数がとても多いサービスです。以前はユーザーが増えていくにつれて仮想マシンを増やしていかなければならなかったのですが、AKS を導入したことで、あるときは Web サーバーの役割を行っていたノードが別のタイミングでは非同期処理を行うといったことが可能になり、柔軟性の高いシステムを構築できました。リソースを凝集できたことはコスト削減にもつながっています」(田崎 氏)。

CLOMO システムのコンテナベース化に成功したアイキューブドシステムズは現在、仮想マシンの上に構築した MySQL のデータベースをクラウドネイティブなプロダクトに移行することに取り組もうとしています。また、新しい技術の採用にも引き続き力を入れていくといいます。例えばサービスメッシュ機能を備えるソフトウェアなどを導入し、コンテナの運用・管理作業をより効率良く行うことにチャレンジしていく方針です。

今回のアイキューブドシステムズのプロジェクトをサポートした日本マイクロソフトについて、田崎 氏は次のように評価します。

「ハックフェストによってコンテナ技術に舵を切ることの後押ししてもらえたと思っています。また、環境構築や動作確認をする際、サポートデスクにいろいろと質問しましたが、一つひとつ丁寧に、そして迅速に回答してもらえたのも嬉しかったですね」(田崎 氏)。

CLOMO システムを絶対に止めないこと。アイキューブドシステムズは AKS を活用して最善のシステムを構築し続けていきます。

  • 福岡市の中心街、天神にあるアイキューブドシステムズのオフィス

    福岡市の中心街、天神にあるアイキューブドシステムズのオフィス

[PR]提供:日本マイクロソフト