株式会社ユーザベース:Anthos GKE On-Prem で人気サービス『SPEEDA』をハイブリッド クラウド化。開発・運用効率を大幅向上
Google Cloud Japan Team
国内 1,400 社以上の企業が導入しているという経済情報プラットフォーム『SPEEDA(スピーダ)』が、Kubernetes をベースにマルチ クラウド / ハイブリッド クラウドを低コストに実現する新サービス「Anthos」を導入します。これまでもマイクロサービス化など、サービスの拡大・拡張に合わせた設計変更を行ってきた同サービスですが、なぜ、今、ハイブリッド クラウドなのか。その理由を『SPEEDA』開発陣に語っていただきました。
利用している Google Cloud サービス:Anthos GKE On-Prem、Google Kubernetes Engine(GKE) など
サービス開始から 10 年が経過し、ハイブリッド クラウドへの移行を決意
株式会社ユーザベースが提供する、ビジネス パーソンの情報収集・分析における課題を解決する経済情報プラットフォーム『SPEEDA』は、2009 年のサービス開始以降、今日までデータセンターの自社サーバー上で開発・運用されていました。その 10 年以上に渡る歴史のなかで、大きな転換となったのが 2017 年ごろから段階的にスタートしたマイクロサービス化です。
「当時の『SPEEDA』は、モノリシックな古いアーキテクチャーをずっと引き継ぐ形で運用・開発されており、そのことがサービス規模が拡大していく中で効率的な開発を阻害している面がありました。そこでこの時期から、サービス基盤を段階的にマイクロサービス化していくことを決定。『SPEEDA』自身の成長という意味でも、エンジニアのスキル向上という意味でもそうするべきだと判断しました。」
と、3 年前をふり返るのは『SPEEDA』事業の CTO として、同サービスの開発・運用を統括してきた林さん。この英断によってサービスは順調な成長を遂げ、現在では導入企業が 1,400 社を突破し、中長期経営戦略策定からマーケティングまで、さまざまなビジネスシーンで活用されるビジネスの必須ツールとなりました。そして、『SPEEDA』は次のステップへと大きく踏み出します。
「これまではオンプレミス環境で独自の Kubernetes クラスタを構築・運用していたのですが、このうち本番環境の部分をマネージドな GKE に移し、さらなる開発効率向上とコスト減を図ることにしました。2018 年中ごろから開発をスタートし、2019 年中ごろに本番運用を開始しています。」(林さん)
この際、林さんがこだわったのが、全てをクラウドに移行するのではなく、クラウド(Google Cloud)とオンプレミスを組み合わせたハイブリッド クラウド化。その理由を林さんに聞いてみました。
「すでに大きな費用を投じているオンプレミスのリソースを有効活用するというコスト的な狙いもありますが、なにより自分たちで機材を選定、購入、搬入してサーバーを組み立てる技術やノウハウが、インフラ レイヤーに関わるエンジニアのスキルとして価値があると考えているからです。そうした能力をオンプレミスで培いつつ、クラウドについても学んでいけるということで、ハイブリッド クラウドという選択をしました。」(林さん)
組織を率いる人間は、エンジニアのスキル・市場価値をいかに高めていくかも考えていかねばならないと言う林さん。その上で、数あるマネージド Kubernetes サービスの中から GKE を選んだ理由については、『SPEEDA』の SRE チームに所属する阿南さんが次のように説明してくれました。
「サービスの比較・検討を行っていた 2018 年秋ごろにはまだマネージドな Kubernetes サービスがそれほど普及していなかったというのもあるのですが、オンプレミス環境では自作しないといけないロードバランサも、GKE であれば自動でプロビジョニングされたり、あらゆるログが Operations(旧称 Stackdriver)に自動的に送られ、詳しく分析したい時には BigQuery にエクスポートしてそのまま使えるなど、周辺のエコシステムが整っていることが決め手になりました。」(阿南さん)
待ち望んでいた Anthos GKE On-Prem という選択肢
こうしてハイブリッド クラウドという方針の下で、本番環境のクラウド移行を進めていた『SPEEDA』開発チームですが、2019 年 4 月の Google Cloud Next '19 で新プロダクト「Anthos」が発表されたことを受け、その導入を決定します。
「オンプレミスの運用で知識やノウハウを養いつつ、Kubernetes クラスタの管理を一元化できるというまさに我々が求めているものが出てきたな、と喜びました。それですぐ阿南と相談して Anthos を利用しようということになりました。」(林さん)
「実は、ちょうどその時期にマイクロサービスの運用を効率化すべく、Istio を使ったサービス メッシュ化を行っていたのですが、リクエストのルーティングやメトリクスの取得等を担うプロキシ(istio-proxy)がサイドカーとして追加されたことが原因で通信ができなくなるというトラブルが起きがちだったり、バージョン 1.0.0 になる前から使っていたため、アップデートでデフォルトの挙動が変わったり、動作が不安定になったりと、OSS 版 Istio の細かな問題に悩まされていたのです。Anthos では Istioについてもビジュアライズ含めてマネージドになると聞いたので、そこにも期待しました。」(阿南さん)
なお、導入に先駆けて『SPEEDA』SRE チーム所属の鈴木さんが機能の検証を担当。ドキュメントで Anthos の基本機能を下調べした上で、『SPEEDA』事業の SRE 担当として使いたい機能を中心にその優位性を確認・評価していったそうです。
「Anthos の機能の中で、我々が最も魅力的に感じていたのが Anthos GKE On-Prem。これまでは、まずはハイパーバイザー上でノードとなる VM を構築 / 構成管理し、その上に kubespray を利用し Kubernetes クラスタを構築 / 構成管理していました。こうした、レイヤーによって構成管理の手法が異なるやり方は手間が大きく、日々の運用にも大きな工数がかかってしまっていました。その点、Anthos GKE On-Prem では、YAML のコンフィグ ファイル 1 つで、ノードから Kubernetes クラスタまで、すべての構成管理を行えるのが魅力的。また、Operations にインテグレーションされていて、デフォルトでクラスタのログが転送されるといったところも気に入っています。また、負荷分散のためのバンドル型ロードバランサとして Seesaw を採用。これは検証開始時にリリースされたばかりの新機能でしたが、コスト削減のために挑戦しました。」(鈴木さん)
「開発環境、テスト環境などのリソースが不足していて、もう 1 つクラスタを立てたいとなった時に、これまでだと kubespray のところからいちいち構築しなければならなかったのですが、Anthos GKE On-Prem なら鈴木の言うようにパッとできてしまいます。開発者がリソースの調整もできるようになれば、開発のスピードも上がり、結果、サービスの品質向上にも貢献すると考えています。」(林さん)
モノリシック アーキテクチャーからマイクロサービス アーキテクチャーへ。そしてオンプレミスからハイブリッド クラウドへステップアップしてきた『SPEEDA』。今後も、さらなるサービス品質向上に向けたチャレンジを予定しているそうです。
「今はまだマイクロサービス化した部分を、Google Cloud の本番環境にデプロイして運用という形になっているのですが、今後は、Google Cloud だけでなくデータセンターの方にもデプロイするような形にして処理を分散させたり、どちらかをスタンバイの形にしておいて障害発生時の可用性を高めるといったこともやっていきたいですね。」(林さん)
・現状、参照先 DB がどの環境で稼働しているか / 求められる可用性等に応じて、オンプレミスとパブリッククラウドのどちらでマイクロサービスを稼働させるか選択。
・Anthos の導入プランとして、まずは各環境に散らばってデプロイされている e2e テスト / Develop 環境を Anthos クラスタに集約予定(それにより稼働実績を積む)。その後、ビジネス要件等に応じて Anthos クラスタ / GKE を用いた Production 環境のオンプレ / パブリッククラウドの 2 面構成等を検討予定。
(写真左から)
・SPEEDA事業 CTO 林 尚之 氏
・SaaS Product Division - SaaS Product Team(Site Reliability Engineering)
鈴木 祥太 氏
・SaaS Product Division - SaaS Product Team(Site Reliability Engineering)
阿南 肇史 氏
株式会社ユーザベース
2008 年創業。「経済情報で、世界を変える」をミッションに掲げ、経済情報プラットフォーム『SPEEDA』や、ソーシャル経済メディア『NewsPicks』などのサービスを運営。その他、日本最大級のスタートアップデータベース『INITIAL』、B2B マーケティング プラットフォーム『FORCAS』など、ビジネスと情報にまつわるサービスを数多く開発・運用している。
その他の導入事例はこちらをご覧ください。