CULTURE
19.01.31
クラウドへ全面移行するDeNA。現場リーダー2人が3カ年計画の進捗と展望を語る

高品質かつ低コストなインフラをオンプレで運用するDeNAが、クラウドへの全面移行を決めたのは2018年6月のこと。
3カ年計画で進む、全社的なクラウド移行プロジェクト。
準備の年である2018年度から実行の年である2019年度へ向かう今、全社のインフラを担当するIT基盤部のリーダー2名が、クラウド移行プロジェクトの進捗と展望について語り合いました。
その2人とは、エンタメ系サービスおよびヘルスケア系サービスのクラウド化を推進する髙橋祐真(たかはし ゆうま)と、先行してクラウドで運用されている全世界向けサービスの運用・改善をリードする土屋圭 (つちや けい)。
プロジェクトのスケールと難易度は? そして2人のインフラエンジニアとしての矜持とは?
※この記事はモノづくり対談VOL.2『オンプレミスに強みをもつDeNAはなぜクラウド化を決めたのか? その舞台裏と今後の展望』の続編です。

株式会社ディー・エヌ・エー システム本部IT基盤部 第一グループリーダー
髙橋 祐真(たかはし ゆうま)
大学院修士課程を修了後、2013年新卒入社。これまでに50以上のサービス運用に携わる。2018年10月より、グループリーダーとして動画配信、マンガ、アニメ、エンターテインメント、ヘルスケア、野球の各サービス運用チームのマネジメントを担い、各事業部と連携してクラウド化を推進中。同時にクラウド化におけるセキュリティレベルの向上や監査工数削減施策のリードも行う。

株式会社ディー・エヌ・エー システム本部IT基盤部 第四グループリーダー
土屋 圭(つちや けい)
大学院修士課程を修了後、2014年新卒入社。国内向けゲームプラットフォームやニュースアプリの運用を担当後、2016年より全世界向けのゲームおよびゲームプラットフォームを構築・運用するグループに所属、2019年1月からグループリーダーを務める。同時に、全社的なパブリッククラウド利用を管理するチームのリードや、クラウド利用におけるセキュリティレベル向上の施策も行う。
目次
グループでコスト半減の効果も。成果があった施策とは


髙橋
今回の「モノづくり対談」は、「オンプレミスに強みをもつDeNAはなぜクラウド化を決めたのか?」の続編として、私と土屋さんがクラウド全面移行プロジェクトの進捗と展望を語る回です!

土屋
こういうのは慣れていませんが、髙橋さんは私の1つ先輩ですし、話しやすいかとは思っています。
別グループとはいえ最近は部横断のチームで一緒にクラウド移行時のセキュリティレベル向上の施策を進めていますし。

髙橋
そうですね、では本題に入りましょうか。

土屋
そうしましょう。

髙橋
クラウド全面移行は3カ年計画で進めていて、2018年度は準備期間ですね。
クラウドとオンプレではコストとセキュリティレベルが大きく変わってくるので、これらについて情報を整理し各事業部に説明して合意を取るべく交渉してきた、というのが昨年。
現在は、移行スケジュールの調整や移行方法の検討を事業部側の各サービス担当者と共に進めているところです。

土屋
いよいよクラウドへ移行ですね。

髙橋
そうですね。
私の担当範囲は、動画配信、マンガ、アニメなどのエンターテインメント、それから、ヘルスケア、スポーツ領域です。
大小十数のサービスがあるのですが、各サービスの特性を見ながら移行の戦略を策定していくのはエキサイティングに感じています。
2019年度にほとんどのサービスをクラウドに移行することを予定していて、2020年度は予備期。コストやセキュリティの制約があり移行しづらいサービスのためのバッファと考えていますね。


土屋
いまのところ、進捗としては順調ですよね。
私のグループが担当しているサービスは、サービス開始時からずっとクラウド上で運用されているため、DeNAの他のインフラグループよりも先行してクラウド利用のノウハウが蓄積されています。
そこで「クラウド環境ならではのコスト削減策や工数削減策など様々な改善施策を検証した上で運用に落とし込み、これから本格的にクラウドを利用する他のグループに知見を共有する」ということが私のグループの役割の1つですね。

髙橋
クラウド化を決めるときはコストが大きな課題でしたね。
当初の試算では運用コストはオンプレの3倍になるという結果でしたよね。それを1.1倍にすることを目標にしている。そのために8つの施策を土屋さんの担当領域で先んじて打っていますよね。

土屋
ええ。概ね計画どおり順調に進んでいます。
8つの施策の中にはまだ改善を繰り返していて効果が出るまでもう少し時間がかかるものもありますが、その他にも大小様々な施策を打つことでその分をカバーしました。
コスト削減の主な施策一覧
- オートスケーリング導入
- スポットインスタンスやプリエンプティブインスタンス(※1)の活用
- リザーブドインスタンス(※2)の活用
- インスタンス台数・スペックの適正化
- 最新のインスタンスへの換装
- 不要なデータ、インスタンスの撤去
- 相乗り構成への変更
- コスト/性能比の良いマネージドサービスの活用 など
※1....スポットインスタンスはAWS、プリエンプティブインスタンスはGCPが提供しているサービスで、中断可能性のある在庫インスタンスを安価で利用できるというもの。
※2....一定期間のリソースを先買いすることでディスカウントが提供されるAWSのサービスのこと。

土屋
私のグループの目標はずばりクラウドコストの半減。
机上の試算では一応勝算はありましたが、実際に運用中のサービスにその施策を打ち込んで行くことは簡単ではありません。
様々な試行錯誤を繰り返し、現時点では何とか50%のコスト削減が見えてきた状態です。

髙橋
50%のコスト削減はかなりインパクトがありますね。特にどの施策が効いてますか?

土屋
まずは基本に忠実に、サーバースペックの最適化は常時行なっていて相当効果が出ています。
これはすでにサーバーを買ってしまっているオンプレ環境では実施しづらい施策。
クラウド環境ではサーバーの性能を徹底的に管理してスペックを下げたり、最新のサーバーを利用することでサーバーの台数を減らしたりすると、当然その分がコストに直結するんですよ。当たり前のことですが、これを継続して実施すると効果が大きいんです。
ちなみに、ダウンタイムゼロでサーバーの入れ替えをガンガン実施できるのは、オンプレで蓄積されたノウハウのおかげです。

髙橋
MHA(※3)あたりはそのままクラウドでも使えますもんね。
オンプレのノウハウといえば、1台のサーバーに複数のMySQLプロセスを立てたり、異なる種類のサーバーを相乗りさせたりということも行なっていますか?
※3....データベース(MySQL)サーバーのマスターのフェイルオーバーを行うツール。DeNAで開発され、現在はオープンソースとして公開されている。

土屋
もちろんです。そのようなサーバー集約の工夫も積極的に取り入れています。

髙橋
オンプレのノウハウをそのまま活かせるのは良いですね。

土屋
そうですね。別の施策でいうとオートスケール(※4)も大きな効果がありましたね。
※4....サーバー負荷に応じ、自動的にクラウドサーバーの台数を増減させる機能。 システムにアクセスが集中したときはサーバーを増やし、アクセスが少ないときはサーバーを減らすことで、常に必要最小限のサーバー数でシステムを安定的に稼働させる。

髙橋
オートスケールは効果が出やすいですよね。

土屋
ええ。
クラウドのサーバーは秒単位で課金されるので、1秒でもサーバー使用時間を減らすことが重要になります。それを実現するのがオートスケールです。
ただ、これも安定して稼働させるためにいろんな工夫をしています。

髙橋
たとえばどんなところですか?

土屋
トラフィックの急騰にできるだけすぐ対応できるようサーバー構築を高速化したり、各自動化プロセスに1つずつエラーハンドリングを入れたり。
1日に3桁に及ぶ台数のサーバーを作っては壊しを繰り返すので、普通の運用ではエラーにならないところでエラーになったりするんです。

髙橋
クラウドならではの施策といえば、スポットインスタンスの状況はどうですか?

土屋
そちらも順調です。
インスタンスが停止される前に即座に自動でサービスから切り離すことはもちろん、同時に大量のインスタンスが落とされた場合のリスク軽減策の導入も一通り完了しています。
実はWebサーバーの半分以上をスポットインスタンスにしているサービスもあるんです。

髙橋
なるほど、その辺りの知見はぜひ部内にフィードバックして欲しいですね。

土屋
ぜひ。

髙橋
コスト削減施策の効果はきちんと測定して常に確認していますよね。
クラウド化の最大の懸念がコストですから、その結果を各事業部にも共有することは重要だと思っています。

土屋
コスト面の懸念がなくなれば、あとは事業部と協力して慎重に移行を進めるだけですもんね。

髙橋
そうですね。移行作業は慎重かつスケジュール通りに進める必要があります。
私自身は過去クラウド移行の経験は何度もしてきたので、その知見を他のメンバーに共有して、確実に遂行したいと思っています。
クラウド化の先にある、インフラの理想形

土屋
ところで、少しぶっちゃけた話をしてもいいですか。

髙橋
お、何でしょう?

土屋
「オンプレをやめてクラウドに全面移行する」という決定を聞いたときは、途方もない仕事になると思いませんでしたか?


髙橋
いや、システムをクラウド化すること自体に関しては、それほど難易度が高いものとは思わなかったですね。

土屋
え、本当ですか?

髙橋
むしろ途方も無いのは、クラウド化したその先ですね。コスト削減と工数削減、そして安定性維持を達成した運用がクラウドで実現できるかどうかが重要だと思います。
世の中の流れとしてクラウド化は必然ですが、DeNAは創業時からのオンプレの実績があるし、サービスも多い。ですから、クラウド全面移行には保守的にならざるを得ませんでした。
クラウド移行のコスト削減と工数削減に関しては、汎用的な施策を打ったり仕組みをつくったりしているので、移行するサービスが多ければ多いほどその恩恵を受けることができ効果が増加していきます。

土屋
ああ、そういう意味ですね。確かに。
コスト削減、工数削減、安定性維持はオンプレでもクラウドでも絶対に求められる3つですね。
直近はコスト削減に重点を置いてきたので、他の2つも進めていかないと。検証することはごまんとあるので、我々が暇になることはないでしょうね。

髙橋
工数削減や安定性維持に関してはセキュリティレベルの向上と合わせて以下のような施策を実施していますよね。
工数削減やセキュリティレベル向上に関する主な施策一覧
- サービスやクラウドアカウント情報の管理システムの構築
- クラウドアカウントのrootアカウント管理方法の整備
- クラウドアカウントのIAMユーザ管理システムの構築
- クラウドアカウントの作成や利用のガイドライン作成
- クラウド利用におけるセキュリティガイドラインの策定
- セキュリティ監査自動化

髙橋
DeNAにはサービスやアカウントの数が数百あるので、それらを効率的に管理し別のシステムへAPIとして情報連携できるシステムが必要だったので構築しました。

土屋
うちには大量にアカウントがありますもんね。そのような管理システムは必須だと思います。

髙橋
また社員数も多いためアカウントの権限の棚卸しを確実にかつ効率的に行えるようなシステムも設計し構築しましたね。
アカウントの作成利用ガイドラインについてはアカウントの命名や分離粒度について議論し設計しました。

土屋
このあたりの話はまさに今同じチームでやっていますよね。
これらのシステムを構築するにあたって自分たちのユースケースにマッチするようなソリューションがなかったり、あってもコストが高かったり、という理由で自前でシステムを実装することを選択するケースも出てきていますよね。
残りのセキュリティガイドラインについてはどうですか?

髙橋
セキュリティガイドラインについてはクラウドを利用するにあたって守るべき設定項目というものを定めています。
そしてそれが守られているかということを定期的に監査する必要がありますが、それを自動で行うシステムも構築中です。


土屋
本当にやることはたくさんありますね!
そう考えるとこのプロジェクト、要求レベルが相当高くて大変だと思いませんか?

髙橋
そうですね。でもプロジェクトは大きいほうがやりがいがあると思っています。
今回のクラウド移行ではDeNAのインフラがこれまで運用で使ってきたツール群も刷新しようとしていますし。
たとえば、サーバー一元管理ツールやインフラ管理のフレームワーク、監視方法やモニタリングのツール、サーバー構築方法も再設計して新しく作りなおしています。
ディザスタリカバリに関してもクラウドでの最適な形を模索して低コストで実現できるように設計しました。
またOSもubuntu18.04に、言語もPerlからPythonに変えようとしています。

土屋
これまでなかなか抜本的な改善がしづらかったところも、クラウド化を機に改善を進められて良いですね。
ネットワークまわりも設計や検証が進んでいましたよね?

髙橋
ネットワークに関しては、クラウド上におけるアドレス設計やフィルタ設計はもちろんのこと、オンプレ環境を完全になくすことは当面できないのでクラウドとオンプレ間の繋ぎ込みや通信制御の設計も行っています。
これらはAWSやGCPの新サービスを使って実現予定なので、今それらの検証をしているところです。
これらのことを考えるとクラウド移行完了までに時間がかるのは当然かなと思います。

土屋
いやあ、同感です。
お客さまへのデライトを頂点に。クラウド化は目的ではない

髙橋
今取り組んでいるクラウド化とクラウド化に伴うシステム刷新の成果は、2年後の2020年末にわかります。
ですが、正直に言うと、私は計画通りに2020年末時点ですべてがクラウドで動いているとは思っていないんですよ。


土屋
どういうことですか?

髙橋
特にパートナー企業さまと進めている協業の案件はセキュリティポリシーなど、うちだけでは決められないものがあります。パートナー企業さまの意向もあるので、オンプレが残っている可能性も考慮に入れています。

土屋
確かに。
全面移行できれば形としては綺麗ですが、各サービスやその時々の状況によっては、最適であるとは言えないかもしれませんね。

髙橋
そうです。
先程お話したように「クラウド化全面移行」をすることでコスト削減や工数削減のメリットを最大限享受できますが、我々の仕事は「クラウド化すること」が最上位の目的ではありません。
サービスを安定稼働させ、お客様に価値を届け続けることがインフラの最優先事項であってそこを見失ってはいけないと思っています。

土屋
同意です。

髙橋
クラウドに移行するために、サービスを落としたり、閉じたり、ポリシーを変えたりして、お客樣にとってサービスが使いにくいものになってしまうのは本意ではないですね。
「お客樣に大きな喜び、つまりデライトを提供すること」が頂点にあって「クラウド化」は、もしかしたら一番下かもしれない。
そのためなら柔軟に期日をずらすし、最終的にオンプレで提供し続けることも辞さない。そこはインフラの基本ですね。

土屋
サービスの安定稼働が最優先という考え方はインフラエンジニアには染みついていますよね。

髙橋
いい意味で、私が入社したときに叩き込まれた精神と今のDeNAは変わってないですね。
「動くものは誰でも作れる。動き続けるものを作れ。」とか「サービスを守る最後の砦」というように、自分の後ろには誰もいないと思って私はやっています。

土屋
そこは自分も同じです。高い当事者意識が重要だと考えています。
私たちが問題を見過ごしてしまったらシステムが止まってしまい、お客樣にサービスを届けられなくなってしまうわけですから。

髙橋
そしてわからないことがあったとしても、次のアクションをどうするか考え、相談して迅速に対応することが必須だと考えています。

土屋
それを毎日実践していますもんね。

髙橋
私たちは1コマンドでサーバーを落とせてしまうので、1つ間違えたら全サービスが止まる可能性だってあります。


土屋
そういう意味では、インフラの仕事は、合う人を選ぶ職種かもしれませんね。

髙橋
そうですね。私がインフラを志望した理由は学生のときからフルスタックエンジニアを目指していて、そのためには最も低いレイヤーのインフラから理解したほうがいいと考えたからです。

土屋
私もまったく同じ考えです。

髙橋
インフラエンジニアは、サーバーサイドやアプリケーションのことまでわかっていないと何が原因で問題が起きたのか調査できないので、これらの知識も必要になります。
また、DeNAのインフラは扱っているサービスの数が多いので、何かを作成したり反映したりするときに抽象化して一般的に考えることが求められますよね。


土屋
数もそうですがサービス規模についても、mobageはもちろんそうですし、その他のサービスでもDeNAで展開しているサービスは規模が桁違いに大きいものが多い。
通常規模のサービスでは起こり得ない問題も多々起きるので、非常に高い課題解決能力が求められます。
加えて、インフラは全社横断の部署なので、技術だけでは不十分で様々なカウンターパートとのコミュニケーション能力も必要です。総合力が求められる。それゆえに、問題を解決したときの達成感は大きいですね。

髙橋
その感覚、わかります。
クラウド化は一大プロジェクトですが、そうでなくてもDeNAのインフラは常にエキサイティングな環境にいると言ってもいいかもしれないですね。

土屋
今後クラウドを極めて大規模に使っていくという点も非常に魅力的ですよね。
昨今のインフラ技術の流れを見るに、クラウドに精通できるということはエンジニアとしてはとても価値があることだと思います。
また、これまでお話した通り、改善点はまだまだたくさん残っていて、そういう改善施策をこのような大規模な環境に適用していくと効果も非常に大きいので、やりがいがあります。

髙橋
クラウド全面移行にしても、システムを止めて行うほうが容易ですが、それをできるだけ止めないで行うのがお客樣へのデライトにつながると考えています。
高い当事者意識を持ち、難しいながらも非常にやりがいのあるクラウド化を推進したい方は、ぜひ仲間になって一緒にチャレンジしてほしいですね!
DeNA の最新情報は、公式Twitterアカウント(@DeNAxTech)にて確認いただけます。ぜひフォローをお願いします!
※本記事掲載の情報は、公開日時点のものです。
執筆: さとう ともこ 編集:榮田 佳織 撮影:小堀 将生