2018の23日担当分です。)の記事だったりするので、恐縮している今日このごろです。(ポエム枠としてお楽しみ頂ければ幸いです。有りまして何故か急遽実家に帰ることになったyanoshiです。いま実家のこたつに入りながらこの記事を書いています。久しぶりに実家に帰ったので、学生時代によく行っていたつけ麺を父親と一緒にドライブがてら食べてきました。無心のつけ麺は最高ですね。久しぶりに帰った地元は何も変わっておらず、「あぁそうか、まだ就職してから3年も経ってないんだなぁ」と感傷に浸っていました。2018年12月22日そんな変わらないものもあれば、一方で変化し続けるものもあったりします。弊社のようなIT企業ですとまさに「常に変わり続けている」というような一面があったりします。「そういえばうちのチームに来てから、だいぶ色々と変化したなぁ...」とエモい気持ちになってきたので、今回はそんなお話を書いていきたいなと思います。いう「振り返り文」って退職エントリーにありがちじゃないですかー退職時くらいしか振り返り文が社会に露見しないのも寂しいなぁ...と前々から思ってたので、それに対するアンチテーゼだったりもします。ちなみにこの記事の内容はyanoshi一個人としての感想文ですので、会社やチームの総意というわけではありません。ネタとして読んで頂ければ幸いです。アドベントカレンダーってことですし願わくばDMMの雰囲気や弊チームの雰囲気が何となく伝われば良いなぁって。会社の話え?私の勤めている会社ですか?ご存知でしょうか?DMMっていうんですけどね。なんか色々なことをやっているのですが、どうやら20周年らしいですよ。デジタルコンテンツをたくさん扱っている弊社でして。1ヶ月くらい半額キャンペーンをやっているので、ほしい物がある方はポチると良いと思います。約1ヶ月にわたる冬の大規模半額キャンペーンを開催!|合同会社DMM.comのプレスリリースwww.youtube.com私の話さて、そんなこんなで、2年半ほど前から弊社で働いています。入社後はCTO室という部署に配属されたのですが、1年ほど経ったある日、当時の上司が異動する際に「一緒に来ない?(意訳)」と声を掛けられて、気がつけば動画配信な部署の配信基盤を司るチームに居ました。2017年の6月くらいにチームジョインしたのですが、数カ月後にスクラムマスターの役目を拝命し、その1年後ぐらいに今度はプロダクトオーナーの役目を頂戴し現在に至っています。入社当初はオフィスは恵比寿だったのですが、気がつけば六本木に移転していました。田舎者なので「気がつきゃ大変なところに来ちまったでー」と思いながら窓の外を眺めていたりします。そうそう、最近はこんな感じでVRゴーグルかぶっていたりもします。適当なことを言っていると突然中国出張に行くことになる。2018年8月27日いやぁ...よくわかんないけどいろいろなことがあるなぁ...と入社後の日々を振り返る今日このごろです。皆さんご存知かわかりませんが、弊社の動画事業って結構国内でも大きなトラフィックが出ている動画配信事業らしいです。inside.dmm.com弊社のオンプレで捌いているトラフィック量がこんな感じで公式情報として出ているのですが、このトラフィックの結構な割合が動画配信事業分だったりします。近頃上記の情報に関する最新版をまとめていたのですが、2018年2月に259Gbpsを記録しておりそれが現状の最高値みたいですね。(本キャンペーンでその値を更新するかが個人的な楽しみだったり)コンテンツ数も数十万本にも及びます。配信基盤スクラムチームの話そんな動画の配信を支えるのが私が所属する「配信基盤スクラムチーム」です。当たり前の話なのですが、動画配信サービスで動画の配信が停止してしまったら一大事です。そんな事にならないように支えているのが私達のチームと言ったところでしょうか。私が入る1ヶ月ほど前にできたチームで、当時の動画配信周りの研究開発を行っていたメンバーと実運用を行っていたメンバーの混合チームとして組成された組織でした。その後メンバーの入れ替えはあったもののやることはあまり変わらず、大量にトラフィックの出る基盤のキャッシュアーキテクチャとか、DRMとか、エンコードとか、プレイヤーとか、そういうようなシステムの開発運用を行っています。ここからそんな弊チームの周りに転がる小話を少し紹介したいと思います。※さも自分でやったことのように書いていきますが、全てチームみんなの成果です。プロダクトオーナーなのでプロダクトを我が子のように捉え書いてしまうわけですね!!112005年頃から存在する単一障害点DBに引導を渡す先日、問題視していたとある単一障害点を抱えていたシステムをリプレイスしまして。それの中核となっていたDBがあったのですが、それにまつわるソースコードを調べていると2005年にはすでにこのシステムが稼働していた痕跡が発掘されました。2005年といえば私が自分専用のPCを手に入れた前後でして...その頃から動くシステムを改善したというのはなかなかエモい体験でしたね。HQ画質というのがリリースされました。*1www.dmm.comVRってまだまだ普及していないイメージですが、そんな中で弊サービスは良い感じに売上を伸ばしておりまして。こんな感じで雑誌に弊事業部長やCTOが登場する特集記事を組んで頂けたりもしています。雑誌この商品を含むブログを見るそんな中で「画質向上を伴うアップセールでさらなる売上増」ってのを目指して動いたのが今回のリリースでした。「画質を向上させる」...と聞くと簡単そうに聞こえますが、実は結構大変なのです。最初に立ちはだかる壁は「デコーダー」です。etc...)に応じてデコードできる最大解像度が違っていたりします。FullHD動画を見ている時にその限界を感じることはなかなかありませんが、VR(4Kとか5Kとか動画)を扱うと途端にその辺りを意識する必要があるのですよね。同じ動画ファイルがすべてのデバイスで再生できるわけではない...ということです。これまでの弊サービスVR動画では「全デバイスで再生できそうな動画を作って配信する」という形で動画配信を行っていました。HQではそうも行きません。デバイスに合わせて自動で最適な解像度を判断して配信するというような手段で、今回のリリースは実現されていたりします。あなたがなにげに押した再生ボタン...その裏側では結構大変なことをやっています。今年の初旬頃からキャッシュアーキテクチャの刷新を行ってきました。これまでは「全コンテンツ決まった台数のキャッシュサーバーで捌く。キャンペーン対象作品等は事前に手動でCDNに振り分けてしのぐ」というようなアーキテクチャでしたが、これを「コンテンツ毎に動的にキャッシュサーバーの密度を可変し、それでも捌き切れなさそうなユーザー数の場合はCDNに逃がす」というアーキテクチャに変更しました。これによりCDNコストの大幅減とキャッシュヒット率の倍増を実現しました。ちなみにこのシステムの管理画面をインターン生が作ってくれたりしました。その記事が上がっていたりします。inside.dmm.comそして近頃、紅白出演な例の方々の舞台配信におけるディレイ配信でその効果を大きく発揮しました。実は結構とんでもないトラフィックだったのですが、事前準備無くしれっと捌いていてかっこいいですね!弊社配信のこれまでとこれからこれまでなんせ20年近く動画配信を行っているので、所々で古い伝説のような話が語り継がれていたりします。どこまでがホントかはまぁよく知らないのですが、ここにそんな話の一部を紹介したいと思います。その昔はRealPlayerな動画配信をしていたRealPlayerって聞くと中学生の頃に訪れていたアングラな動画サイトを思い出しまして。「そんな頃からWebで動画配信をしていた事業に居るんだなぁ」と感傷に浸ってしまいます。最初期のシステム開発にはあの堀江貴文氏が参加していたホントなのかなぁ?なんなら現在に脈々と続いている一部DBに堀江氏の設計が残っているとかなんとかサーバーのストレージの冗長構成が上手く行って無くて、動画が吹き飛び、民生品HDDに取っていたバックアップデータから復旧するという事があったこれもホントかどうかよくわかんないですけどね。今はそんなことは起きる余地が無いのでいい話ですが。昔は大変だったんだろうなぁと言うエピソードですさて、このような今からは想像も出来ないような伝説から、如何にうちのサービスが変化してきたかがわかると思います。伝説もなかなかですが、私がチームにやってきた時からも大きな変容を遂げていたりします。EnterpriseやSonarQubeによるCI/CDの実現IaCと合わせて安心かつ簡単にデプロイできる仕組みが着実に構築できてきているように思いますライブ配信アーキテクチャの冗長性向上ライブはどうしてもエンコーダや現場機材があらぶりがちなのですが、それらをサーバーサイドで吸収する仕組みが導入できました。昨年導入され始めたのですが導入前の混沌っぷりを思い出すと今の平和が嘘のようです。VRコンテンツの高画質化HQ画質、最高なんでみんな見てほしい!動的キャッシュアーキテクチャの実現CDNにほぼ頼らずにVOD配信を行うことが出来ていたりします。安価!最高!巨大なオンプレインフラに感謝!こういったやっていきをチーム一丸となって取り組めているのは本当に良い話ですよね。チームみんなで頑張った(もちろん私もがんばった。これからさて、今後の配信基盤にもまだまだやりたいことがたくさんあります。直近に横たわる課題の一つは、「ダウンロード再生用の動画コンテンツの見直し」だったりします。現在はSilverlightを軸としたシステム構成となっているのですが、そろそろSilverlightの死期が迫っており(もごもご絶賛エンコードシステムを含めた基盤刷新を行っている真っ最中だったりします。バックグラウンドですと、ログの取得と活用に関してまだまだ足りていない部分が多く。それらを改善する取り組みを現在行っていたり。各配信の画質に関するコミットもまだまだやりようがあるので色々とやっていきたいですね。最後にシステム規模、ユーザー規模、稼いでいる量、どれをとっても大規模で、「コンテンツ」という概念が好きな私にとってはエモがいっぱいな日々を過ごしています。エンジニア冥利に尽きますね。手を入れる余地(いわゆる伸びしろ?)がいっぱいあるサービスだなぁとつくづく感じているので、やっていきをやっていきたいなぁと思う今日このごろです。(そのうち上記の小ネタたちをもう少しまとめて、会社のブログにでも投稿しないとなぁ)来年もがんばるぞい。余談お決まりの話ですが、弊社や弊サービスでは無限に優秀なエンジニアを募集しています。I/Oでなおかつ会社のお金で行ってきたよっていう良い話yanoshiです。