株式会社ホットリンク様
~ホットリンク×IDCフロンティアが二人三脚で挑戦~ 国内最大級のソーシャルメディア分析基盤を大容量ベアメタルサーバーに集約移行
大規模なソーシャルメディア分析基盤の集約移行には、どのような苦労があったのでしょうか?
ホットリンクはSNS黎明期からソーシャルメディアマーケティングに取り組む企業です。
同社の提供する「BuzzSpreader Powered by クチコミ@係長」(以降、「クチコミ@係長」)は、国内最大級のデータ量を保有するソーシャルリスニングツールで、ツールの基盤は合計50台、容量50TBに及ぶ大規模なクラスターから成ります。
この基盤をIDCフロンティアが提供する「ベアメタルサーバー」に集約移行するプロジェクトが大詰めを迎えています。
大規模なソーシャルメディア分析基盤の集約移行には、どのような苦労があったのでしょうか?
同社の執行役員 CTO 山本氏、開発本部 R&D部 部長 榊氏、開発本部 ソリューションアーキテクト 池田氏の3名に、その背景や感想を、このプロジェクトに深く関わったIDCフロンティアのエンジニアが伺いました。
山本氏
株式会社ホットリンク
執行役員 CTO
経営メンバーとして組織マネジメントおよび業務効率向上を指揮。「クチコミ@係長」の保守運用に関するマネジメントおよびSNSマーケティング支援のための新規研究開発を統括。
前職までは、新規事業開発、ITコンサルティング、経営企画や営業企画など幅広い職種を経験。
榊氏
株式会社ホットリンク
開発本部 R&D部 部長
SNSマーケティング事業・ソーシャルリスニング事業をAI/データ分析技術で支える研究開発チームを主導。専門分野は、ウェブマイニング、計算社会科学、自然言語処理。東京大学客員研究員。 2020年中国・清華大学による「世界的AI研究者2000人」に選出。
池田氏
株式会社ホットリンク
開発本部 ソリューションアーキテクト
「クチコミ@係長」の裏側を支えるインフラ全般の構築・運用を担当。 物理サーバー数百台規模の構築・運用。それらをクラウド環境へ移設した経験を持つ。
エンジニア
株式会社IDCフロンティア
エンジニアリング本部
前職では新規事業の開発・設計・海外エンジニア育成等を経験。
現在はクラウド開発に携わるマネジメントを担当。
国内最大級のソーシャルビッグデータAPIアクセス権を保有し、応答速度の速さでも評価の高い「クチコミ@係長」
まずはじめに、御社のビジネスについて教えてください。
ホットリンクはこれまでビッグデータ分析を軸にした「クチコミ@係長」というソーシャルリスニングツールの提供を事業の中心にしていました。昨年からは「クチコミ@係長」のマーケティング領域での活用にも軸足を広げた事業展開をしています。
具体的には、SNSコンサルティング、SNS広告運用支援を行っています。
「クチコミ@係長」の機能を提供するうえで、コアな技術はどこになりますか?
大量のデータを蓄積して検索するところでしょうか。
本番系の物理サーバーは28台のクラスターで構成、容量にして50TBぐらいの規模感です。
蓄積された膨大なデータに対して、大規模なElasticsearchを建て、分散型の検索基盤で高速な検索を実現しています。
また、Elasticsearchと密接に絡み合いながら、分析機能を載せているところも特徴です。
いかにデータをリアルタイムに検索基盤にインポートしていくか、という点が重要なポイントになります。
「クチコミ@係長」は使い勝手が良いという点で評価をいただいております。評価いただいているポイントのひとつとして、応答速度の速さが挙げられます。この部分は分析基盤プラットフォームの性能にも大きく左右されるところです。
ソーシャルリスニングツール「BuzzSpreader Powered by クチコミ@係長 」
合計50台、50TBの大規模クラスター
「老朽化リスク軽減」と「ビジネス展開に即した運用効率化」が課題に
「クチコミ@係長」の分析基盤のインフラを当社のベアメタルサーバーに移行しようと思われた背景をお聞かせください。
「クチコミ@係長」の分析基盤のインフラの老朽化が進み、故障のリスクを低減したいという理由がありました。
また、当社のビジネス展開にあわせ、より効率よく効果的にインフラを運用する必要性もありました。
今の基盤をクラウド化するにはコスト的に相当厳しいものがあるな、という感覚を持っていたのですが、IDCフロンティアから大容量ストレージを搭載できる「ベアメタルサーバー」の話を聞き、それならば、大規模クラスターを高集積という形に置き換えるチャレンジをしようと決断しました。
大規模なクラスターの物理基盤を自前で持って運用するには、人やモノの稼働が相当量必要になるので、なんとか負荷を軽減したいという課題をお聞きしていましたね。
はい、本番系のクラスターは28台、それとは別に冗長系のクラスターも15台あり、冗長系と本番系で50台近いクラスターを運用していて、相当な負荷がかかっていました。
また、本番系には再起動などのメンテナンスが日次で走っていて、予備系でまわさないといけない時間帯も発生しています。しかしながら、予備系には十分な性能が出せていないという課題もあり、この機会に見直しができたらなという思いもありました。
検証範囲を徐々に広げ、検索性能を引き出すチューニング
移行に際し検証はどのように進められたのでしょうか?ポイントを教えてください。
データ自体が大容量なので「3台のElasticsearchで扱えるのか?」という懸念がありました。そこに関してはElasticsearchのパラメーターをチューニングすることでクリアできました。
次に検索について「検索性能が出せるのか?」という点を突き詰めていくのですが、いきなり本番並みのリクエストを捌くのはハードルが高かったので、限られたクエリなどを実際に動かしてみて、使い物になるのかの検証から徐々にスタートし、最終的には、本番と同じインデックスの処理を流してみる、という検証を行い、平常時の性能と、ピーク時の性能を段階的に確認していきました。
Elasticsearchのチューニングは、具体的にどんなことを行ったのでしょうか?
Elasticsearch自体がJavaで動いているので、メインになるのはElasticsearchのJavaのヒープをどのぐらい割り当てるか、その残りをディスクのキャッシュとして割り当てるというバランスですね。それぞれのパラメーターをチューニングしてどれだけ高速化できるのかを確かめました。
また、Javaに巨大なヒープを割り当てるとなると、ガベージコレクションのパラメーターの調整が必要になってくるので、これも大きなポイントとなりました。
ホットリンク様はJava、JVM(Java Virtual Machine)のノウハウはたくさんお持ちですし、オープンソースを使うというだけでなく、インフラの性能をどうやって引き出すかのノウハウも持たれていますよね。
パフォーマンスを確認するうえでの技術ノウハウやポイントは、どういったところになるのでしょう?
検索についてはどれだけElasticsearchのキューが捌けるのかというのを見ていて、捌けないクエリがキューに溜まってしまうと運用に耐えられないので、キューを捌くために1個1個のクエリの速度をどうやってあげるのか、というのを主に調べました。
そこで大きく問題になってくるのがJavaのガベージコレクションで、起こってしまうと10秒単位でスレッドが止まってしまうので、これをどうやって回避するのかというのを詰めていきました。
「運用が非常に楽になりました。」サーバー集約とマネージドサービスで運用負荷が軽減!
こうしてまずは本番系の物理サーバーは28台のクラスター構成だったものが、大容量「ベアメタルサーバー」3台に集約されたのですが、その効果はいかがですか?
扱いが楽になりました。これまで28台あったものが3台で済みますので、管理がとても楽になりました。運用面のインパクトは大きいです。
台数が多いと、どこのクラスターのどこのノードがボトルネックになっているのかというのが調査しづらいのですが、3台になりましたので非常に調査しやすくなりました。
オンプレミスのサーバーを自前でデータセンターに設置しに行く手間などもかかっていたので、こういった時間を減らせたのは非常に良いなと思います。
サーバーを自前で持ち、自前で運用するということはかなり大変です。ディスクが壊れたら交換をして、という作業は時間がかかりますので、こういった部分をマネージドサービスでIDCフロンティアにお願いできるというのは楽です。
本番環境に耐えるところまで持っていくのはこれからの課題なのですが、そこまでいければ、保守運用コストの削減は大きいと思っています。
コストパフォーマンスの良さと、二人三脚でコミュニケーションしながらの検証体制でチャレンジングな課題にも取り組めた
今回のプロジェクトの感想をお聞かせください。
今回の取り組みは我々にとってチャレンジングで、いきなりやるのは怖い面がありましたが、両社での検証期間を設けられたことが大きかった。我々としても検証し、このまま進めても問題なさそうという実感を事前に得られたことが良かったと思います。
また、ベアメタルサーバーのマシンのコストパフォーマンスの良さも大きなポイントでした。自前のオンプレミスのサーバー群をリプレイスすることによるコストメリットが得られるということを事前に検証できました。
初期の頃に技術的な協力をしていただいて、使ったことがないメモリのキャッシュや、OSのセットアップからご協力いただき、使える状態まで持っていってもらえたことが助かりました。
この体制が良かったですね。二人三脚で検証を進めようというスタンスで取り組めたことです。コミュニケーションツールなどで気軽に意思疎通を図れる体制にしていただけて良かったなと。やはりグローバルなクラウド事業者だと、こういったことは望めないので、両社一体となって新しいものを作って行こうという形をとっていただけたのは良かったと思っています。
完全二重化により、保守運用コストをさらに削減
新しい分野に開発リソースを投入
これから最終的なゴールに向かっていきますが、今回の高集積化プロジェクトが完了した先には、どのような展望がありますか?
元々想定していたのは、同じスペックの同じクラスターを2つ作って、いつでも切り替えを可能にするということです。
今の環境は、本番系と冗長系の環境のスペックに偏りがありまして、そこを平準化して、本番と待機ではなく、本番が2組ありいつでも切り替えられるようにし、メンテナンス性を上げリリースも楽にしたいというのが、将来展望としてあります。
保守運用コストの最小化と、手順もシンプルにできればと思っています。
保守運用は既存製品へのリソース投下なので、新たな新規開発の方にエンジニアリソースを割けるように、既存製品にかけるリソースを最小化、もしくは、一部外注化できると、より開発組織として強いし、魅力的なものができるのではないかと思っています。
これからも、ホットリンク様の新サービスや、開発組織改革事例などの先進的なお話が聞けることを期待しています。
本日はありがとうございました。
株式会社ホットリンク様 会社概要
- 設立
- 2000年6月26日
- 所在地
- 東京都千代田区富士見一丁目3番11号 富士見デュープレックスビズ 5階
- 事業内容
- 「ソーシャルメディアマーケティングにスタンダードを創る」をビジョンに、SNSマーケティング支援サービスを提供しています。最先端のAI(人工知能)技術を搭載したソーシャル・ビッグデータ解析ツールと、独自の売上アップにつながるSNS活用メソッドにより、クライアントの販売促進・認知拡大に繋がるソーシャルメディアマーケティングを支援します。
- URL
- https://www.hottolink.co.jp/
※掲載内容は、本事例の掲載日時点の情報です。
※記載されている会社名、製品名は、各社の登録商標または商標です。
※Elasticsearchは米国および他の国々で登録されたElasticsearch B.V.の商標です。
2020年10月14日掲載