OpenStack Days Tokyo:サイバーエージェントが明かす自社製Kubernetesサービス開発秘話
国内でOpenStackをかなり早い時期から採用していた企業は、自社でクラウドインフラストラクチャーを必要としていたNTTなどのネットワーク事業者やヤフー!ジャパンなどのインターネット関連企業である。そんな中で、ひときわOpenStackやコンテナベースのインフラストラクチャーとアプリケーションプラットフォームの構築に意欲的だったのが、新興のインターネットサービス企業であるサイバーエージェントだ。
今回は、OpenStack Days Tokyo 2018で行われたセッションから、そのサイバーエージェントのセッションを紹介する。登壇者の一人である長谷川氏は、2015年に東京で開催されたOpenStack Summitでもイベント全体のキーノートの中で紹介されており、OpenStackのユーザーにとって、サイバーエージェントは先進的な導入事例として知られている。今回は、そのOpenStackの上に構築した自社向けの「Kubernetes as a Service」通称、Adtech Container Engine(以下、AKE)の事例紹介だ。
セッションを担当したのはサイバーエージェント、アドテク本部の青山真也氏と長谷川誠氏だ。最初に登壇した青山氏が、サイバーエージェントが開発したAKEについて概略を説明した。これはKubernetesの利用を簡易に行うためのサイバーエージェント流の実装であり、社内のエンジニアに公開されている社内向けのコンテナサービスだ。OpenStack Heatをベースにカスタマイズされたテンプレートを使うことで、セルフサービスでコンテナクラスターの運用が可能になる。
青山氏は、インターネット広告用システムに求められるシビアな応答速度などに触れ、単に機能を果たすだけではなく、要求された性能を出さなければいけないビジネス面での厳しさなどを紹介した。その上で、サイバーエージェントの各ビジネス部門のエンジニアは、オンプレミスのOpenStackクラウドと、GoogleやAWSなどのパブリッククラウドのどちらでも選ぶことができるというサイバーエージェントならではの環境を説明した。
以前、筆者がサイバーエージェントのエンジニアにインタビューした経験から感じた「ほぼ全てのエンジニアが高いコスト意識を持っている」という特徴は、こうした「コストは掛かるがいつでも使えるパブリッククラウド」と「安価な自社所有のクラウド」をエンジニアが自由に選択できるということの帰着なのだろう。そのために自社のインフラストラクチャーを構築運用する立場のエンジニアからすると、パブリッククラウドと比べても使いやすく機能も劣らないサービスを作らない限りは、社内のエンジニアに使ってもらえずパブリッククラウドに負けてしまう訳だ。
青山氏によれば、仮想マシンベースのOpenStackからコンテナをベースにしたワークロードに移行が始まっているという状況を受けて、社内のインフラストラクチャーにKubernetesを自由に使えるサービスを提供することになったという。ただ、やはり最初の頃は機能的に見劣りがしてしまうものだったとして、特にPod間のネットワーク構成を例に挙げてAKEの解説を行った。
特に要求が増えた時のスケールアウトへの対応と、インフラストラクチャーのコード化という点において初期の実装では問題があったと言う。
サイバーエージェントの環境ではロードバランサーにF5 NetworksのBIG-IPを使っており、全てがソフトウェアで実装されているわけではない。ここは他のエンタープライズにおいても同様に様々なネットワーク構成が考えられるために、これが普遍的な正解ということではない。サイバーエージェントでのクラウドインフラストラクチャーを実現するために適したやり方として、参考にするべきだろう。
後半は、長谷川氏が利便性の高いコンピューティング環境を実現するための仕組みのひとつとして、いくつかのポイントを解説した。Kubernetesクラスターに対するアドオンの必要性、OpenStackとの統合(認証など)、複数のコンテナオーケストレーションエンジンへの対応などについて、サイバーエージェントとしての経験を元に、「利便性の高いシステムを提供する」という目的を達成するポイントを語った。ここで重要なのは、長谷川氏にとっての顧客は社内のエンジニアであり、競合相手はAWSやGCPなどのパブリッククラウドサービスであるという点だ。その観点からエンジニアが使いやすいシステムを提供するのか? という命題について、今後はSpinnakerなどを使ってCI/CDをシステムに取り入れること、PrometheusやJaegerと言った他のクラウドネイティブなソフトウェアとの連携/統合を進めることなどを挙げて説明していた。
CI/CDの起点としてGitとの連携を考えているところから、Weaveworksが推奨するGitOpsも視野に入れているようだ。海外で開催されているKubeConではWeaveworksはメジャーなスポンサーとして露出を増やしており、いつ日本市場に参入するのか? という期待が現れているようだ。またオンプレミスとパブリッククラウドを連携するハイブリッドクラウドだけではなく、複数のパブリッククラウドを連携させるマルチクラウドについても、今後取り組むべき課題として挙げていた。
最後のまとめとして、「OpenStack上で展開されるKubernetes as a Serviceを構築する際に必要だったもの」というスライドでは「明日、Kubernetesがなくなっても大丈夫といえるぐらいに強い心が大事」と語り、ベンダーが保証してくれるわけではないオープンソースソフトウェアを使う上では、変化を楽しむぐらいの心構えが必要だと強調して、セッションを終了した。
2015年からOpenStackの先進的ユーザーとして突出しているサイバーエージェントだが、これまでの道は必ずしも成功ばかりではなく、失敗もやり直しも踏み越えて現在の状態を維持している。このエピソードは、これからクラウドネイティブにチャレンジしようとしているIT部門担当者には、心強く響いたのではないだろうか。今後もサイバーエージェントの動向に注目していきたい。
青山 真也 著 |
Kubernetes完全ガイドこちらのレポート記事で登場している青山真也氏が執筆した連載が書籍になりました! 本書は、インプレスの“オープンソース技術の実践活用メディア”Think ITの連載記事『今こそ始めよう!Kubernetes入門』の内容を元に、大幅加筆して書籍化したものです。 Kubernetesを触ったことがない方でも、そのコンセプトを理解し、実際にアプリケーションをコンテナ化して実行できるようになることを目標にしています。 |
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Linuxディストリビューション「Mageia 6.1」リリース
- Linuxディストリビューション「Mageia 6」リリース
- Linuxディストリビューション「Mageia 6」リリース
- Linuxディストリビューション「Mageia 7」リリース
- 軽量なLinuxディストリビューション「manjaro 24.2」リリース
- 軽量なLinuxディストリビューション「manjaro 24.1」リリース
- Linuxディストリビューション「OpenMandriva Lx 24.12 "ROME"」リリース
- Linuxディストリビューション「Manjaro 20.2」リリース
- Linuxディストリビューション「SparkyLinux 2024.01」リリース
- デスクトップ向けLinuxディストリビューション「SparkyLinux 7.3」リリース