2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
リンクをコピー
記事をブックマーク
山中勇成氏:「『新しい未来のテレビ』を目指すABEMA配信システムの再設計」というタイトルでお話しいたします。まず自己紹介ですが、山中勇成と申します。ハンドルネームで「みゆっき」という名前でも活動しています。
2017年に株式会社サイバーエージェントに新卒入社をして、今は「ABEMA」のコンテンツ配信チームで、主にバックエンドのエンジニアをしています。また、未踏スーパークリエータにも認定されています。「Twitter」と「GitHub」をよかったらフォローしてください。
スライドは、僕の機材ですが、趣味でこういう大きいカメラを担いだり、ライブイベントの配信をしています。最近買ったのはSONYのスイッチャーです。これはぜひおすすめです。
このセッションのアジェンダですが、「5周年を迎えるABEMAが抱えるもの」「ボトムアップからのプロジェクト発足」「ぼくのかんがえたさいきょうの配信システム」という3本立てです。また、まとめと今後でお送りいたします。このセッションは、どちらかというと技術要素がちょっと少なめになっています。
「5周年を迎えるABEMAが抱えるもの」です。ABEMAは、2021年4月で開局5年を迎えました。開発期間からすると、6年ぐらい動き続けているサービスです。
一応おさらいですが、ABEMAで配信しているコンテンツは、主に大きく分けて2種類です。テレビとビデオに分かれています。テレビでは、24時間365日のリニア型配信をしていて、映像ソースとして納品された動画や、スタジオからの生配信も行っています。スタジオと納品された動画が配信システムに取り込まれ、CDNなどのネットワークを通してユーザーの視聴デバイスに届く仕組みになっています。
同じくビデオも、納品動画から配信システムに取り込まれてユーザーの手元に届くようになっています。
ユーザー数は右肩上がりで、売り上げもあるのですが、それ以上に大きく抱えているものが負債です。
どのような負債かというと、意図的な負債です。今もチームは3人ですが、開発当初はすごく少ない人数で、短い期間で開発したことによってコード品質がすごく悪いです。見通しの悪いコードになっている部分などがあります。サイバーエージェントも、もともとは映像系の会社というよりインターネットのサービスを作る企業で、その中での精鋭を集めて作られていて、映像知識がそんなになかったので、どうしても配信技術の知識不足によるコードの負債を抱えています。
また、変化による負債はGoなどの言語やそれらが利用するライブラリ、それからミドルウェアのバージョンアップに追従できていなかったためにあります。
ほかにも、ABEMAが開発された当初はエイチレスのレイアウトシステムみたいなものが世の中にそんなになかったのですが、今ではAWSなど、いろいろなところでマネージドのプレアードソリューションも出てきていて、今であればそちらを使ったほうが便利なのではという課題もあります。新しい技術やサービスを追従したいのですが、追従できていないという負債を抱えています。
これらは一般的に技術的負債と言われていて、CA(サイバーエージェント)の森さんが書いた記事がとてもよいので、もしよかったらご覧ください。
ただ、5年間の負債はこの技術的負債だけではないと僕は思っています。その1例として、組織的負債があると思っています。これは映像ソースから、どのようにクラウド上に打ち上がるかを簡単に表した図ですが、映像ソースがあって、エンコーダーがあって、それがサーバーに取り込まれて、CDN(コンテンツ・デリバリー・ネットワーク)、配信されるという感じです。
映像ソースであれば映像の現場の技術のチーム、エンコーダーであったら私たちの配信の開発チーム、サーバーであったらAPIのチーム、CDNはSREのチームというようにそれぞれの部門、部署ごとで見ているのですが、エンコーダーに打ち上げの部分を見る人がいないという組織的負債があるかなと思います。
これをもうちょっと詳しく説明します。配信技術と配信システムの中間レイヤーの責任者がいないので、そこで起きた問題は、どちらかが解決してくれるだろうみたいになって、これは組織的にすごくよくありません。こういう問題があると思っています。
それから運用的負債は、現場の負荷を考えないということです。当初は運用でカバーできるかもしれないと思っていたのですが、実際にはけっこう負荷になっていて、その負荷がオペレーションミスにつながったり、もしくは現場でできることを何かしら制限しているかもしれないという運用的負債もあります。
ABEMAは、数年間でけっこう求めるクオリティが変化しています。ですが、根底にある技術やプロセスが変わらないことによって、そのクオリティを満たせないという本質的な負債があると思っています。僕は入社してこの現実に直面して頭を悩ませていました。
ということで第2章、「ボトムアップからのプロジェクト発足」です。この悩みは、バカンスを楽しむCTOに僕が「今のABEMAはこういうところに課題があると思うのですが」と、先ほどの負債の例とともに伝えたところ「YOU!! やっちゃいなよ」と、すごく覚醒したCTOに圧倒されて、僕がこれをなんとかすることになりました。
なんとかしなくてはいけないのですが、僕がなにかを決めるうえでブレても仕方ないので、ブレない軸、=(イコール)ミッションを決めました。AbemaTVをインターネットのマスメディアとして完成させるというミッションを掲げました。
このミッションを叶えるために、インターネットのマスメディアにはどういうことが必要なのかを洗い出しました。それがスライドの右側にあるものです。
これらをもとに、僕の知識だけではなく現場の意見を取り入れたいので、有識者を集めていろいろなヒアリングをしました。例えば配信現場の運用チーム、実際に配信に携わっている技術チーム、私たちエンジニアを集めて実際にワークを実施しました。
先ほどあったミッションのインターネットのマスメディアとして必要なことだったり、KPTのプロブレムとトライ、つまり今どんな現場に問題があって、どんなことをやってみたいのかをいろいろな方からヒアリングしました。詳細はお見せできないのですが、ざっくりホワイトボードにこのような感じで貼っています。
これをもとに、僕がミッションを達成するための改善案をまとめました。ここには16個あるのですが、主に3つのテーマに分けて提案しました。先ほどの組織的な改善だったり、ABEMAはこうあるべきだという本質的な改善だったり、あとは現場で運用の負荷になっている部分の改善だったりをテーマごとに分けました。
サイバーエージェント用語で「当てる」という言葉があるのですが、社長に「当てる」、つまり提案しました。
先ほどの提案とともに、今のABEMAにはこういうところに問題があり、こういう改善を用意したのですがというところで、いろいろとアドバイスを貰って、晴れてプロジェクト発足になりました。
プロジェクト発足といっても書類を書いたり申請をしたりするわけではなく、実際に改善に向けて動き始めたという感じです。これがおよそ2年前です。
このほかにも、ちょうど同じタイミングでいろいろなプロジェクトが発足しました。例えばスタジオの機材更新や、配信システムの更新です。サーバー側の更新プロジェクトや、ニュースの低遅延化や、ABEMAの開発と現場の技術者の横軸のつながりを意識したミーティングの体裁等も立て付けました。
ということで、ここから第3章の本題です。「ぼくがかんがえたさいきょうの配信システム」を紹介いたします。その名も「SUPERBIRD」で、僕が勝手に付けたのですが、先ほど社長に提案した改善案の1つです。
SUPERBIRDと言われてもなんのこっちゃって感じだと思うのですが、これは社内のコードネームで、次世代のインジェストアーキテクチャを構築するプロジェクトです。インジェストとは何ぞやとなると思うのですが、簡単に言うと現場からサーバーまでのアップロードのことを指しています。
下の図を見ていただくと、映像ソースがあって、エンコーダーがあって、サーバーがあって、CDNがあるのですが、この映像ソースからサーバーまでの打ち上げ部分をインジェストといいます。
SUPERBIRDは、ABEMAにおける課題解決と将来の投資が目的です。いろいろな課題があると先ほども言ったのですが、配信段でも配信トラブルや、画質がちょっと汚いという問題などの課題解決と、4Kを見越した将来の投資をターゲットにしています。SUPERBIRDとして、これらを実現するための次世代のインジェスターアーキテクチャを設計するのが目的です。
よりよいインジェストアーキテクチャとは何かと考えると、1つは品質が高いことです。これは映像、音がよいということですが、4Kとか、例えば音であればビットレート上げるのもそうなのですが、制作者の意図をそのまま反映できます。
いくら4Kであっても、ブロックノイズがあると、制作者の意図をそのまま表現できているとは言えません。制作者の意図を、できる限り近いかたちで反映できることにこだわります。
あとは遅延が短いというのも重要なポイントかなと思います。安定しているのがもちろん重要で、1つ目は途切れない。もし途切れたとしても冗長構成に切り替えが可能であること。あとは第三者要因に影響されないのも大きなポイントかなと思います。
それから運用しやすいという点では、オペレーションが単純であること。先ほど現場での負荷の話をしましたが、やはりオペレーションが複雑だとどうしてもミスが発生してしまうので、なるべく単純なオペレーションであることが大事です。
また、システムが集中管理されている状態とトラブルがあったら即座に対応できるのが運用しやすい点になります。
ほかにも柔軟であることも重要かなと思っています。ABEMAだとけっこういろいろな場所で配信するので、スタジオの増減に柔軟に対応が可能であること。スタジオの増減や位置が1つ重要かなと思っています。
あとは、入出力フォーマットの変化に短期間で移行可能であること。ITの伝送技術は年々新しい技術が出ているので、今ターゲットとしているフォーマットから、新しいフォーマットに移行するとなった時に、短期間で移行可能であることは重要かなと思っています。
また、ABEMA以外のCA(サイバーエージェント)のサービスでも利用可能だと、よりよいと思ったので、よりよいインジェストアーキテクチャに向かって新たなものを作っていきました。
(次回へつづく)
関連タグ:
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.10
職場であえて「不機嫌」を出したほうがいいタイプ NOと言えない人のための人間関係をラクにするヒント
2024.12.12
今までとこれからで、エンジニアに求められる「スキル」の違い AI時代のエンジニアの未来と生存戦略のカギとは
PR | 2024.11.26
なぜ電話営業はなくならない?その要因は「属人化」 通話内容をデータ化するZoomのクラウドサービス活用術
PR | 2024.11.22
「闇雲なAI導入」から脱却せよ Zoom・パーソル・THE GUILD幹部が語る、従業員と顧客体験を高めるAI戦略の要諦
2024.12.11
大企業への転職前に感じた、「なんか違うかも」の違和感の正体 「親が喜ぶ」「モテそう」ではない、自分の判断基準を持つカギ