2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
斉藤克哉氏(以下、斉藤):ここまでで、分析基盤のシステム的な概要をご説明させていただきました。次に、運用について紹介させていただきます。
運用業務として私たちがふだんどういうことを行っているかですが、先ほどご紹介したArgus、……ダッシュボードですね。あとバルクローダーであるMedjed、それぞれの設定とか、Jenkinsの設定、サーバー運用などを行っています。
Argus、Medjedといった内製のWeb UIに関しては、権限の初期設定を行ったりします。例えば、アナリストの方に「うちの部署でこういった権限を付与した新しいプロジェクト……タスクだったりレポートの集まりですね……をつくりたいんだけど」というような話をいただいた時に、依頼者の方に管理権限を付与した状態でプロジェクトを作るなどです。
その際、BigQueryへの読み書きが発生しますので、サービスアカウントをつくって、鍵を払い出して登録するといった設定も一緒に行います。
Jenkinsの設定も、同じような権限の設定が主です。
オンプレミスのサーバー運用に関しては普通のインフラ運用業務が発生します。脆弱性対応、色々なパッケージのバージョンアップなどを行います。
それらのタスクはGitHub Issueで管理していて、原則として全従業員が閲覧できる設定にしています。当然パスワードや鍵ファイルは、Issueに書くことはできませんので、別の経路でいただくことになります。
次に、サポート業務に関して紹介させていただきます。私たちは社内の分析基盤の利用者に向けて、技術サポートを提供しています。ポリシーは、スライドに「分析基盤よろず総受け」と書きましたが、分析基盤についてであれば、まずは「とにかく話を聞いて、対処する」というポリシーです。
サポート対象の多くはデータ分析を行うアナリストの方ですが、先ほどご紹介したようにアナリスト職以外の方がクエリを投げたりするケースもあるので、ビジネス職の方やバックオフィスの方を含む様々な職種や立場の方から相談や問い合わせを受けます。
最近の問い合わせやサポートを行う媒体は、7割以上はSlackになりました。Slackに次いでミーティング、メールといった順番で、お問い合わせをいただくことが多いです。
Slackでのサポートの方針ですが、まず社内の方が誰でも入れるWorkspaceを用意しています。このWorkspaceに分析基盤を使っている方や使いたい方に入っていただいて、困ったらメンションしていただくようにしています。
DeNAはSlack Enterprise Gridを提供開始直後に導入しましたので、全従業員が社内のあらゆるWorkspaceに参加可能なSlackアカウントを持っています。実は南場さんのアカウントもあってですね、さすがにメンションしたことはないです。
この分析基盤専用のSlack Workspaceにはメンション先としてグループをつくっています。グループというのは、1つの名前に対して複数名を紐づけるようなSlackの仕組みです。わかりやすく@supportというグループを用意しています。
この@supportに私を含めたAI&分析基盤と呼ばれるチームメンバーを紐づけています。なので、「@support 教えてください」みたいにメンションしてもらうと、私含めて数名に同時に通知が飛んできます。
実際の例です。スライド左上、かなりきれいな問い合わせの例ですね。「これこれこういうことをやってみたんですが、うまくBigQueryにロードされません」という。そして、その下の部分にログを貼ってくださっています。Slackだとこういうやりとりができるので、話が早いですね。
ちなみにこのケースは、Medjed(内製バルクローダー)のバグを踏んでいたので、この数十分後にバグフィックス版をリリースして解消しました。
右下のほうは、以前問い合わせていただいていた内容で、その後ステータスがわからなくなっていたので、「その後どうですか?」と聞いてみて、「問題ないです」と回答いただいたので、返事をしつつ、私たちの方でサポート用のIssueをクローズしました。
ここまでで分析基盤についてお話しましたが、AI基盤についても紹介させてください。
DeNAのAI基盤では、AWS、GCPといったパブリッククラウド上で機械学習の基盤を提供しています。主なモチベーションは、GPUインスタンスを好きな時に必要なだけ使いたい、そして使わなくなったら落としてしまいたい、です。
クラウドですので、Infra as Codeが比較的容易に行えます。Terraformでインスタンスを立てるまでの部分をプロビジョニングして、インスタンス内のプロビジョニングは、ItamaeというRuby製のプロビジョニングツールを使っています。
AIのプロジェクトが発足しますと、今は最短で1週間ぐらいでインフラ提供を行えています。DeNA TechConというイベントで使った資料から1枚持ってきました。スライド左下部分が私たちですね。
図にX、Y、Zと書いた、AI技術を使うそれぞれのプロジェクトの、AI R&Dエンジニア向けAWSアカウント、GCPプロジェクトを構築をします。その際、Infra as Codeのコード部分はGitHubに置いて、プロビジョニングはTerraformやItamaeで行っています。
ここまで今現在のDeNA分析基盤についてお話しさせていただきましたが、2020年代に向けてどうしていくか書いてみました。
分析基盤だけではなくAIの基盤についても合わせてご紹介させていただきたいのですが、これからのDeNAの分析基盤が目指す姿として3つキーワードを挙げました。「クラウドネイティブ」「分析基盤に留まらないAI&分析基盤」「より安全な権限分離」の3つです。
まず「クラウドネイティブ」です。私たちはサービスを一般の方や企業さまに提供することがメインの会社ですので、サービスの提供も改善もスピードアップするためにクラウド化しています。それに合わせて分析基盤も、より一層クラウド化を推進していく必要があります。
とはいえ、例えばオンプレミスで提供しているAというサービスで、「Jenkinsを使ってください」「内製ダッシュボードのArgusを使ってください」と案内する一方で、AWSで提供しているBというサービスでは、「AWSのWebコンソールに入って、こういうふうにしてください」というような異なるオペレーションを推進してしまうと、横断的に分析を行っているアナリストの方にとってはサービス間での環境差異を理解して対応する手間が増えてしまいます。
ですので新しい仕組みを提供しつつも一定期間は、既存と同等のUXを提供し続けることも、同時に考え進めています。
次に「分析基盤に留まらないAI&分析基盤」と書きました。最初に自己紹介のところでもお話した、なぜAIと分析の間にアンパサンド(&)が入るのかという話でもあります。分析の高度化とAI技術の導入が進んでくると、両者は必ずしも別物ではなくて、両方まかなえる便利な基盤とUXを提供する必要が生じてきます。
データ分析、AI、データサイエンス、また私たちは今Kaggleというデータサイエンス領域のコンペにとても力を入れています。そうすると、扱うデータが多様化します。そのような多様なデータをまかなえるような基盤が必要になってきています。
3つ目は「より安全な権限分離」です。扱うデータが多様化して、例えばこれまであまり考慮が必要なかった位置情報や、あるいは動画に一般の方が写り込んでいた場合どう扱うかといった課題がいろいろ出てきます。
そういう時、もともとAWSアカウントやGCPプロジェクトを分けてはいますが、さらに担保すべきデータの秘匿性に合わせて、より細かく分離するなどの対処を、必要に応じて行っています。
いくつか例を紹介させていただきます。1つ目はクラウドネイティブな分析基盤の例として挙げさせていただきます。
オンプレミスで紹介した構成と比べると、データレイクまでクラウドで完結しています。この例に挙げたサービスでは、サービス自体のサーバーもクラウド上にありますので、あえてオンプレミスにデータレイクを持つ必要がないからです。
一方、アナリストの方が使うツールやUXは共通にしたいので、S3に蓄積されたログやスナップショットを、内製のバルクローダーMedjedで読み込んでBigQueryに送っています。これはMedjedに機能を追加することで実現しました。
BigQueryに入ってしまえば、これまでのオンプレミスでのサービスと同じArgus(ダッシュボード)から見れるようになります。アナリストの方はこれまでと同じUIやUXで分析が行えます。
次に、AI&分析基盤として、SageMakerというマネージドサービスを組み込んだ例を紹介させてください。
Jupyter Notebookという、Web UIでPythonコードを書いて実行できるツールを使ったことがある方もおられると思います。このJupyter Notebookは非常に便利なんですが、セルフホスティングするといろいろな難点があります。そこで、Amazon SageMakerという、マネージドでJupyter Notebookを使えるサービスが提供されています。
既存のプロジェクトでは、AI R&Dエンジニア個々人がLinux VMにSSHログインしてJupyter Notebookを起動していたものを、SageMakerを導入してマネージドサービスで置き換えた例があります。
Jupyter Notebookの画面を簡単にご紹介しますと、このようにWeb UI上でPythonやShellを書けます。
SageMakerを使うと、AWSのコンソールにログインしていないとこの画面にたどり着けないという制御が入りますので、個々人がセルフホスティングするより安全に扱えます。
次にマルチメディアデータを扱うAI基盤の例を紹介させていただきます。諸事情で非常に概念的な図となります。
実案件のAI技術導入で、画像を扱うケースがとても増えています。いわゆるCV(Computer Vision)の分野です。CVの場合、アプリログやデータベースのスナップショットを収集していたこれまでのシステムとは色々と要件が変わってきます。データの種類も違えば、処理の粒度も違いますし、処理を始めるトリガーも変わってきます。
この例では動画がS3にアップロードされたら、Lambdaが動いて前処理的を行ったうえでSQSに通知する仕組みを導入しています。SQSの先をGPUインスタンスとつなげて、GPUインスタンス上でマシンラーニングの処理を行っています。
以上のような例をまとめますと、まずサービスに合わせて分析基盤もクラウドネイティブになっていきます。
「分析基盤に留まらないAI&分析基盤」としては、分析対象のデータは今後ますます質も量も増えていきますが、同時に機械学習のアルゴリズムを実サービスで運用するためのML Ops的な動きも必要になってきています。
1つのプロジェクト内で、このプロジェクトは分析だけ、このプロジェクトはAI技術を使うだけではなく、AIも分析も両方必要なシチュエーションに応える基盤が必要になってきています。
「より安全な権限分離」は、扱うデータが多様になってきていますので、やはり適切に権限分離を行った上で、これまでのように機能で環境を分割するだけではなく、“秘匿性などをセキュアに保つための環境構築が重要になってきています”と。
以上のように、DeNAのこれからのAI&分析基盤をご紹介させていただきました。ありがとうございました。
(会場拍手)
関連タグ:
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05