テック企業のCTOたちが話した、マルチクラウド技術選定のやり方サイバーエージェント、DeNA、LayerXの選択(1)

サイバーエージェント、ディー・エヌ・エー、LayerXのCTOたちが、クラウド技術の選定からガバナンス、人材育成について語り合った。今回はマルチクラウド活用の戦略についてお届けする。

» 2022年05月17日 05時00分 公開
[吉村哲樹@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 2022年4月19日〜28日、Google Cloud主催のデジタルカンファレンス「Google Cloud Day: Digital '22」が開催された。3日目の特別講演には、サイバーエージェント、ディー・エヌ・エー(以下DeNA)、Layer Xの3社の技術部門トップが一堂に会したパネルディスカッション「Tech Leaderに聞く、マルチクラウド活用における技術選定とそれを支える組織」が行われ、マルチクラウド活用のベストプラクティスをテーマに意見交換が行われた。

 本稿では同セッションの前半で「マルチクラウド活用の戦略」「クラウドの選定基準」「マルチクラウド活用におけるヒント」などのトピックについて話し合われた内容を紹介する(後半のガバナンス、人材育成については、本連載で別途2回に分けて紹介する)。

そもそもマルチクラウドを採用する背景や目的は?

サイバーエージェントの長瀬慶重氏

 先進的なテックカンパニーの間では、適材適所で異なるクラウドベンダーのサービスを使い分ける「マルチクラウド」が当たり前になりつつある。サイバーエージェントもそうした企業の1社だが、常務執行役員(技術担当)の 長瀬慶重氏によれば、マルチクラウドを採用する最大の目的は「人的リソースのコア事業領域への集中投下」にあるという。

 「弊社は100以上もの事業を手掛けていますが、競争力を高めるためには、限られた数のエンジニアを、なるべく市場競争力に直結するコア領域に投入する必要があります。逆にノンコア領域の開発については、なるべく出来合いの外部のクラウドサービスを有効活用して、人手や時間をかけないようにしています。そうなるとおのずと、事業ごとの多様な要件に応じてさまざまなクラウドサービスが使われるようになります」

DeNAの小林篤氏

 また、DeNA 常務執行役員 CTO 小林篤氏は、「弊社もさまざまな事業を手掛けており、それぞれのサービスの特性が大きく異なるため、求められるクラウドサービスの要件も多岐にわたります。そのため、クラウドサービスの選定は基本的に現場の裁量に任せて、なるべく現場がスピード感を持ったサービス開発ができるよう、会社としても支援するようにしています」と、サービスごとに最適なクラウドサービスを現場主導で選定・導入していった結果、マルチクラウドに行き着いた経緯を説明する。

Layer Xの松本勇気氏

 一方、Layer X 代表取締役 CTO 松本勇気氏は、サービス開発に要する時間を極力短縮し、高速に開発を行うための方法を模索する中で、自然とマルチクラウドに行き着いたという。

 「弊社は『爆速開発』というキーワードを掲げて、なるべく早く顧客にサービスをデリバリーすることを最重要視しています。そこで最短でサービスを開発できる方法を模索する中で、機能ごとにそれぞれ異なるクラウドサービスを選定するマルチクラウドのスタイルに行き着きました」

クラウドサービスを選定する際の基準や方針は?

 では、実際に採用するクラウドサービスはどのようなプロセスや基準に沿って選定しているのか。Layer Xは開発者のチームが30数人と比較的規模が小さいため、厳密なルールやガイドラインを特に設けることなく、基本的には各チームリーダーの判断に委ねているという。

 「リーダーやテックリード的なポジションにいるメンバーが、採用候補の技術の良しあしを見定めて決定しています。私自身はその決定を極力尊重してGOサインを出すようにしていますが、採用後に後戻りできなくなるリスクを抱える技術の採用を上申された際には、ごくまれにストップをかけることもあります」(松本氏)

 DeNAとサイバーエージェントでも基本的な方針は同様で、特に全社的なルールやガイドラインは設けず、現場に技術選定の裁量権を与えているという。ただし、必要最低限のチェックはかけているようにしていると小林氏は話す。

 「なるべく他のチームでも使われている技術を使った方が社内での知見共有が進みますし、あまりにエッジが効いた技術や、まだ公式リリースされていない製品などの利用にはどうしてもリスクが伴います。そうした観点からアドバイスをすることはありますが、『リスクを承知で新しいことにチャレンジしたい』という確固たる意志がある場合は、チームの責任において意思決定して実行に移してもらいます」(小林氏)

 サイバーエージェントの長瀬氏は、現場が自らの責任において技術選定の意思決定を行うプロセスそのものが、エンジニアにとって成長の糧になると指摘する。

 「変化が激しい技術トレンドにしっかりキャッチアップして、自らの責任で技術選定を行うという経験を積むこと自体がエンジニアにとって貴重な成長の機会になりますから、技術選定は極力現場に任せるようにしています」(長瀬氏)

 加えてサイバーエージェントでは、社内の各プロジェクトで採用している技術スタックや、『誰が特定の技術に詳しいか?』といった情報を社内で共有できるサイトを運営している。また社内で勉強会を頻繁に開催し、チームの垣根を越えた技術交流も積極的に進めている。こうした取り組みを通じて、各チームで使われている技術を広く可視化してチェック機能が働くようにすると同時に、社内のエンジニア同士の人的ネットワークが自然と生まれるような環境作りに努めているという。

コンテナを活用、だが「ベンダーロックインが全て悪いとは言えない」

 なおサイバーエージェントでは、アプリケーション開発者がクラウドサービスの種別を意識する必要がないよう、コンテナ技術でアプリケーションレイヤーを抽象化したアーキテクチャを採用するケースが多いという。

 「サービスの特性や規模ごとにそれぞれアーキテクチャは異なるのですが、私が手掛けているAbemaTV事業などはエンジニアだけで150名がいる大規模なチームなので、アプリケーションレイヤーをコンテナで抽象化してミドルウェアやインフラのレイヤーと論理的に分離し、それぞれが独立して開発を進められるようにしています」(長瀬氏)

 こうしたアーキテクチャを採用すれば、アプリケーションに影響を与えることなくミドルウェアやインフラレイヤーのクラウドサービスを別のものに入れ替えることもできる。特に、近年のクラウドのマネージドサービスは日進月歩で進化を遂げているため、クラウドサービスを自在に差し替えられるアーキテクチャは「最新テクノロジーを素早く取り込めるという点でもメリットが大きい」と長瀬氏は話す。

 事実同社では、各サービスのアーキテクチャを数年おきに見直して、既存機能を最新のクラウドサービスに置き換えられそうな場合は積極的に置き換えを進めているという。

 DeNAでも同様に、コンテナ技術を積極的に取り入れてアプリケーションレイヤーのポータビリティを高める取り組みを進めている。これにより特定のクラウドベンダーによるロックインを避ける効果も期待できる。ただし、小林氏は「必ずしもベンダーロックインが常に悪いわけではない」とも述べる。

 「特定のクラウドベンダーの技術で固めた方がメリットが大きいと判断した場合は、むしろ積極的にベンダーロックインの道を選ぶこともあります。そのようにケース・バイ・ケースでベンダーロックインを避ける場合と、あえて特定ベンダーの技術に深くコミットした方がいい場合とを適切に使い分けることができれば、必ずしもベンダーロックインが全て悪いとは考えていません」

ノンコア領域にはマネージドサービスを積極的に適用する

 近年ではクラウドのマネージドサービスの進化が著しく、これらを適材適所でうまく活用することで従来よりはるかにスピーディーにサービスを開発・リリースできるようになった。前述のように、サイバーエージェントではたとえこれまで自社で開発してきた機能であっても、クラウドのマネージドサービスに置き換えられる可能性があれば積極的に置き換えを検討するようにしているという。

 「例えばAbemaTV事業において重要な位置を占める動画圧縮やCODECなどの技術は、自社で一生懸命開発したところでグローバルのテックカンパニーには到底太刀打ちできません。従ってこれまでコア領域と位置付けて自社で開発してきた技術も、『マネージドサービスに置き換えた方がいい』と判断できるタイミングが来たらもうノンコア領域にしてしまって、クラウド利用へと切り替えています。これによって、コア領域へより多くのエンジニアリソースを投入できるようにしています」(長瀬氏)

 Layer Xでも同様に、自分たちで作らなくていい領域はマネージドサービスを積極的に活用するようにしている。例えば同社のサービスで使われるOCR技術に関しても、自社で一から開発するよりGoogle Cloud Vision APIのようなクラウドマネージドサービスを積極的に活用して、スピーディーにサービスを顧客にデリバリーすることを優先させている。そのほかの技術領域に関しても、極力クラウドマネージドサービスを活用することで「爆速開発」を実現させている。

 それとともに、サービスのアーキテクチャに関する知見を社内で横展開する際には、口頭やドキュメントで伝えるだけでなく、なるべく「コードで伝える」ことを心掛けていると松本氏は話す。

 「いわゆる“Infrastructure as Code”の実装を進めていて、『こういうアーキテクチャを組むのであればこのコードを使えば実現できる』という形でコードをシェアすることで、アーキテクチャに関する知見の共有に力を入れているところです」

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。