ユーザー事例


 株式会社ドワンゴは、動画サイト「ニコニコ動画」「ニコニコ生放送」といったポータル事業をはじめ、「ドワンゴジェイピー」「animelo mix」といった音楽配信事業、各種モバイル向け事業などを展開する先進企業だ。同社では2016年12月、開発部門が利用するための開発環境として、Red Hat OpenStack Platform(RHOSP)の運用を開始。インフラの共通化と自動化を進め、セルフサービスとAPIを提供することで、開発部門がタイムリーに仮想マシンインスタンス等のインフラ環境を利用できるようにするものだ。その背景や導入過程、メリットなどについて、同社のポータル事業を支える基盤開発本部のメンバーに話を聞いた。

川畑 亮介氏

株式会社ドワンゴ
基盤開発本部 Dwango Cloud Service部
Infrastructure Service Produceセクション
川畑 亮介

江田 雄二氏

株式会社ドワンゴ
基盤開発本部 Dwango Cloud Service部
Infrastructure Service Produceセクション
江田 雄二

福地 晃大氏

株式会社ドワンゴ
基盤開発本部 Dwango Cloud Service部
Infrastructure Service Produceセクション
福地 晃大

背景

ユーザーに注目され続けるためには
サービスの新規開発や改善がカギ

 ドワンゴのポータル事業は、有料会員だけで252万人を超え、その中心となるユーザーは10〜30代のモバイルやソーシャルメディアが当たり前なデジタルネイティブ世代だ。彼らは、ドワンゴのサービスを通じて新しい流行を次々に生み出していく。そうしたユーザー層に向けて人気サービスを運営していくためには、環境やトレンドの変化を見越した継続的なサービス改善や新規サービスの開発が欠かせない。
 かつては、開発部門で環境が必要になるたびにインフラ部門に依頼していた。インフラ部門では、仮想サーバーを作成し、OSやミドルウェアをセットアップした後、ネットワークなどを設定して引き渡す。一連の作業には手作業も多く、手間も時間もかかっていた。
 「また、用意する環境は物理サーバーや仮想サーバーが混在しており、一元管理ができていないことも問題でした」と、株式会社ドワンゴ 基盤開発本部 Dwango Cloud Service部 Infrastructure Service Produceセクションの川畑亮介氏は振り返る。
 ユーザーの期待に応えるサービスを提供し続けるには、改善サイクルを向上させていく必要がある。そのためには、セットアップ作業などのタスクの自動化だけでなく一元管理も進め、さらに開発部門からインフラ部門への依頼そのものをなくす必要があると考えた。

課題

サーバー提供のリードタイム短縮と
運用の効率化が必須

 このように、開発部門ではサーバーの調達時間の短縮が課題となっており、インフラ部門では運用の効率化が必須となっていた。これらを解決するために、新たなインフラを構築することになった。
 OpenStackが選ばれたのは、まずオープンソースであること、メジャーでコミュニティが活発であることがおもな理由だという。「情報も豊富で入手しやすいし、自分たちも導入できるだろうと判断し、決めました」(川畑氏)。
 導入を前提として具体的に動き始めたのは2015年。ちょうど同年10月にOpenStack Foundationが主催する国際カンファレンス「OpenStack Summit Tokyo 2015」が日本で開催され、そこでさまざまな情報を収集した。
 年が明けた2016年1月から、OpenStackと連携できるネットワークやストレージなどの機器をレッドハットの対応リストで調査し、それをもとに機材を調達、9月頃まで検証を繰り返した。その結果をふまえて10月から構築を開始、12月にサービスインを迎えた。
 検証に半年以上かけたのは、既存のデータセンターやネットワーク構成に対応させる必要性が大きい。「特にわれわれのデータセンターのネットワーク構成が特殊で、それに対応させるのに時間がかかりました」と川畑氏は説明する。
 なお、正式リリースではRHOSPを採用したが、検証段階ではRHOSPの開発版ディストリビューションであるRDOで試用リリースをした。この環境をユーザーに使ってもらい、フィードバックを受けて正式版を構築した。

システム要件

既存のデータセンターの構成を
大きく変えずに導入できること

 開発環境といえばパブリッククラウドを採用するユーザーも多いなか、OpenStackによるプライベートクラウドを選択した理由とは何か。「データセンターで動いている既存サービスと密に通信する必要があるので、パブリッククラウドという選択肢は今のところありません。また、本番環境の規模を考慮するとパブリッククラウドではコストが見合わないため、プライベートクラウドが必要でした」(川畑氏)。
 ドワンゴの既存ネットワークに合わせるには、複数の外部ネットワークに対応させる必要があった。当初はネットワークサービスを提供するNeutronのL3連携までできるネットワーク機器を選定して、ネットワークの制御を自動化したいと考えていたが、同社のネットワーク構成に合わず断念、L2連携までとした。「ネットワークの構成を変えてしまうと、結果的にユーザーにとって使いにくくなると判断しました」(川畑氏)。
 構築されたOpenStackの構成は、まず1,000台の仮想サーバーを運用できる規模を想定。コントローラノードが3台、監視やログ収集、RHOSP directorが同居したサーバーが1台、仮想サーバーを動かすコンピュートノードが十数台といった内容だ。
 クラウド環境は、サービス単位でテナントに分けられ、その中で開発者が自由に仮想インスタンスの作成や破棄等ができるようになっている。2017年3月時点で、すでに十数のサービスで利用されており、開発部門からの評価も高いという。

OpenStack構成図

RHOSPを選んだ決め手

サポートサービスと
構成の柔軟性から採用

 ドワンゴでは元来、サポートを利用せずに自分たちで開発して自分たちで保守運用する、という気風が強かった。しかし最近では、費用対効果が高いのであれば有償であってもサポートを利用していく、という流れに変わってきているという。企業やビジネスの成長にともない、最終的にベストなものを導入していくという判断で、サポートのあるRHOSPを採用したのもそうした流れの上にある。
 「OpenStackについては技術的な知見が少なかったこともあり、有償であってもサポートが必要だと判断しました」と川畑氏はふり返る。
 多数のOpenStack製品からRHOSPを選んだ理由は、前述したデータセンターのネットワーク構成の特殊さがあった。他のOpenStack製品では期待する構成を実現できなかったのに対し、RHOSPでは柔軟に対応できる点が決め手となった。

RHOSPを導入したメリット1

OpenStackのAPIが
開発プロセスの自動化に貢献

 OpenStackの導入によりインフラの自動化が実現され、セルフサービスによる省力化とリードタイム短縮が進んだ。
 まず、新しい開発サーバーを立てる時間が大幅に短縮された。「以前は仮想サーバーを引き渡すまでに数日かかっていました。今ではスクリプト化され、10分ほどで完了します」と川畑氏。開発者には、テナント内で仮想インスタンスを自在に制御できる点が好評だ。
 また、開発者が自らOpenStackのAPIを調べて自動化を進めるようになったことも大きい。彼らは、OpenStackの提供するクラウド制御APIを自分で勉強し、継続的インテグレーションの実践等の開発プロセスの更なる改善に取り組んでいる。「弊社は技術好きな人材が多いので、自分たちで調べて学びながら使うようになってきています」(川畑氏)。
 基盤開発本部 Dwango Cloud Service部 Infrastructure Service Produceセクションの福地晃大氏も、「開発者も開発プロセスを自動化したいという考えがあるので、OpenStackのAPIを叩いて自動化する方向にあります。インフラ部門でもさらに自動化を模索していますし、そうした知見が社内に蓄積されれば、より効率化が進むでしょう」と語る。

RHOSPを導入したメリット2

長期サポートにより
バージョンアップに追われず運用

 RHOSPを採用したことによる長期サポートも大きなメリットだ。
 川畑氏は「OpenStack Foundationがリリースしているコミュニティ版OpenStackは、リリース後に2バージョンでメンテナンス終了となってしまい、実質的な利用期間は1年未満です。RHOSPなら、同じバージョンを長期間サポートしてもらえるのが魅力です」と話す。
 「OpenStack Summitでも、OpenStackをバージョンアップするのが実に大変だという話を聞きました。セキュリティの問題を配慮すると、バージョンアップは必須です。同じバージョンを長期間利用でき、自社判断のタイミングでバージョンアップを検討できる点は大きなメリットです」(同氏)。

RHOSPを導入したメリット3

レッドハットによる検証と
困ったときの技術サポート

 構築はできるだけ自社で進めた。それでも、レッドハットによる検証が済んでおり、万一何かが起きた時に技術サポートを受けられる点は心強かったという。
 構築ではRHOSPのインストール機構であるdirectorも役立った。「OpenStackの設定項目は膨大なため、一から構築するとなると、設定を一つ一つ検証したり、HA(高可用性)の構成を検証したりと大変です。directorを利用することで、レッドハットの検証済み設定により、プロダクションレディな環境を容易に構築できます」(川畑氏)。
 レッドハットの技術サポートにも手助けしてもらった。「コンピュートノードで謎の再起動が起こる問題があり、自分たちでは解決できなかったので、レッドハットの技術サポートに質問しました。Linuxカーネルの問題だったのですが、これはOSとOpenStackを一貫してサポートしているレッドハットでないと解決が難しい部分です」と川畑氏は述べる。
 高品質なドキュメントの充実もある。OpenStackコミュニティでも多くのドキュメントが用意されているが、OpenStackは進化が速く、ソフトウェアとドキュメントの不整合が起きているケースも少なくない。福地氏は「私はチームに加わったばかりでOpenStackの知識があまりない状態だったのですが、レッドハットのドキュメントが充実しているので助かりました」と語る。

今後の展望/レッドハットへの期待

機能拡大と本番サーバーへの
適用に向けてサポートに期待

 インフラ部門では今後、OpenStackを開発環境だけでなく本番環境にも適用する予定だ。将来的には仮想化環境、OpenStackによるプライベートクラウド環境、パブリッククラウド環境のマルチ環境にする。「使い分けは、各サービスの判断になります。パブリッククラウドの機能を使いたいのであればパブリッククラウドが有利ですし、既存の自社サービスと接続したい場合などはOpenStackが有利です」と川畑氏は言う。
 OpenStackならではの機能追加も考えている。「今回は基本機能のみリリースしましたが、今後はオートスケールやLoad Balancer as a Services、コンテナサービスなど、ユーザーの意向を聞いて追加していきたい」と同氏。また、基盤開発本部 Dwango Cloud Service部 Infrastructure Service Produceセクションの江田雄二氏は「物理サーバーを使い切るような高スペックサーバーの要望もあるので、そうした用途に向けてIronic(ベアメタルサービス)の導入を考えています」とも語る。
 このような機能追加に向けて、レッドハットへの期待は大きい。川畑氏は「レッドハットでサポートするコンポーネントを増やしてもらえれば、安心して使えます。また、OpenStackではいろいろな要素が絡みあって障害が出ることがあり、切り分けが難しい。より多くのハードを検証してもらい、技術サポートで解決できる点が増えるとさらに助かります」と締め括った。
 


関連リンク

株式会社ドワンゴ
Red Hat OpenStack Platform

ドワンゴ、開発環境にRed Hat OpenStack Platformを導入。インフラ提供の自動化が実現しサービスのリリーススピードを向上