2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
エンターテイメント事業のサーバーサイド開発(全1記事)
提供:LINE株式会社
リンクをコピー
記事をブックマーク
大澤和宏氏: では、始めたいと思います。開発3センターのサービス開発1室の大澤です。よろしくお願いします。
軽く自己紹介しますと、エンジニア歴は23年ぐらいで、LINEの各種サービスの開発担当をやったのちに、2015年に「LINE LIVE」がオープンしまして、その開発開始当時のメンバーとして、今も開発を担当しています。今回紹介する、ほかのエンタメ系サービスとかの開発を担当する部門を見ています。
今日のアジェンダとしては、エンターテイメント事業とは、詳しくはどういったものかということと、その中の「LINE MUSIC」のエンジニアリング、LIVE系のサービスのエンジニアリングについてお話しします。
こちら、社内のキックオフ、うちの部門の四半期のキックオフの資料をそのまま持ってきたんですが。
私たちの担当する領域としては、芸能系とかアーティストの、ファンの方たちの価値が高まるサービス。彼らの距離を縮めたりして、よりそのエンゲージメントを高めましょうというのが1つ。
あともう1つ、芸能系の方だと、事務所やレーベルなど、大人の関係の方々とかもけっこういます。そういった方々も、もちろん収益性が高まったほうがうれしいよねと。収益性なども気にしながら、エンジニアリングでエンタメ領域に携わる方々への価値を高めましょう、という話をしていました。
担当するサービスとしては、「LINE MUSIC」や「LINE RECORDS」、あと「LINE LIVE」「LINE TICKET」「LIVE LIVE-VIEWING」といったものを基本的に担当しています。あと、まだローンチ前ですが、現在「LIVE Commerce(仮称)」というオンラインでモノを販売する、テレビショッピングのオンライン版のようなものを開発していたりします。あと、ほかに細かいところだと、LINEのアプリのログインのSDKや、そういったものを作っているメンバーもいます。
業務の進め方について書こうとしたんですが、わりとほかのさっきの3事業とかなりかぶっていて、もうこれ「LINEギフト」の資料をそのままコピペしてきたんですが、だいたい一緒なので、いったん割愛させてください。
技術スタックに関しても、最初の段でお話ししたとおり、だいたいほかと一緒なんですね。Javaを使っています。Kotlinも使っていて、Spring Bootも普通に使って開発しています。あと、ElasticsearchやKafkaなどを使ったりとかですね。だいたい同じですね。「LINE LIVE」以外だと、Kubernetesとか使ってサーバーの構築をしたり、「LIVE Commerce」だとちょっと攻めた実装をしようと思って、gRPCなど入れてがんばっています。
実際のサービスについて説明しようと思います。まず「LINE MUSIC」からですね。
概要としては、2015年、たしか春夏ぐらいからサービスを始めています。現在は7,800万曲以上の楽曲が、サブスクリプションで聴き放題といったことを売りにして、サービスを提供しています。
この「LINE MUSIC」ならではの特徴としては、「LINE」との連携をけっこう強化していまして。例えば「LINE」の着信音。「LINE」で電話するときの着信音や呼び出し音を好きな曲の一部を利用するようなことも、「LINE MUSIC」を使ってできるような連携の仕方をしていますね。
もともと「LINE MUSIC」は、最初は韓国のチームがずっと開発していました。今現在もアプリとか、あとはWeb上でも音楽を聴くプレイヤーみたいのは韓国で開発していたりはするんですが。
そういった状況だったのですが、ちょっといろいろ社内的なものもあったり、あとは私の部門のほうで日本のエンターテイメント系のサービスを開発していきましょう、という話になりまして、2020年初頭から「LINE MUSIC」を開発するための組織を日本側で立ち上げることをやっていて、今人を集めてメンバーを増やしていくことをやっています。
まずは、いきなり日本でチームを作ったからといって、急にアプリの開発を始めるわ、といったことは、普通に考えたらなかなかできないです。いったん周辺で、今までなかなか開発できなかったりとかしていた部分もあったので、そういったところの開発をまずしようと。
といったところで、音楽レーベル向けに、「だいたい昨日の夕方ぐらいにこのぐらいの地域でこの楽曲がよく再生されていました」のようなレポートを提供するダッシュボードをまずは開発しました。音楽活動の参考にしてもらったり、どういうプロモーションをしようか、考えてもらうきっかけになる情報を提供するために、ダッシュボードとかの開発を始めました。
現在は、ほかにも新規サービスも考えていたり、プロモーションの別の施策で開発が必要なものとかもあったりします。そういったものを日本側の「LINE MUSIC」の事業責任者と一緒に考えたり、ディスカッションして開発していくようなこともやっていますね。
あとは最近だと、日本側でもある程度余力が出てきているので、アプリ側やWeb側の音楽再生機能の開発部分にも若干関わっていって、もうちょっと「LINE MUSIC」全体の開発体制として強いものにしていきましょう、という話をしています。
ダッシュボードがどんなものかというのも、イメージしづらかったと思うので、ちょっと実際の開発中のスクリーンショットの例を。まぁ開発中というか、開発環境のスクリーンショットを持ってきています。わりとリアルタイムに近い感じで、「ちょっと前にどのぐらいこの楽曲が再生されていたのか」がわかるようなダッシュボードになっていたりします。
なので、例えば北海道の地域、あるテレビ番組で、とあるアーティストが紹介されたときに、急に昨日の北海道での再生数がすごく伸びたということがわかるような画面などが右側にあったりとかします。
「LINE MUSIC」の現状の関わるエンジニアリングでのやりがいとして、担当者にちょっと声を集めてきてまとめてみたのですが、7,800万曲以上というけっこう大きい楽曲を扱っているので、それを対象に、視聴動向のレポートをアーティスト関係の人に速やかに届けるシステムを作るとすると、ちょっと今回数は公表できないのですが、けっこうな再生数に上っています。そういったでっかいデータを効率よく集計して届けるところが、やっぱりエンジニアリングが腕を発揮する場所なので、そこはおもしろいという話を聞いています。
ほかには、音楽レーベルとアーティストと音楽ファンの距離を詰めることに貢献できるのがやっぱり楽しいねとか。担当しているエンジニアの人間も音楽が好きな人が普通に多いので、やっぱりそこに携われることがとても楽しいという話は聞いていますね。音楽業界のDX推進にも貢献できたり、アーティストがいろいろメディア展開できるサポートに関われるのが楽しい、という話になっています。
この開発チームに参加してできることは、音楽レーベル視点でのニーズや把握の理解が深まったり、あとKubernetesを使っているので、そのへんのマイクロサービスの運用はいろいろ貢献できます。
あと、先ほど韓国と言いましたが、ほかにも日本国内の別の組織とも一緒に開発していたりするので、複雑な開発組織をまたいだ開発経験ができます。あとは、繰り返しになりますが、大規模なビッグデータを活用した検索や分析基盤を開発できるので、そこがおもしろいですよ、という話ですね。
「LINE MUSIC」は以上です。次に、LIVEサービスの話をします。
なぜ「LIVEサービス」という言い方をするかといいますと、主に3つのサービスがありまして、「LINE LIVE」という、2015年にサービス開始している、芸能人・企業とか個人が自由にLIVE配信を行えるといったライブ配信サービスが1つ。
そのほかに、2020年から始まっていますが、有料のオンラインライブ「LINE LIVE-VIEWING」を提供しています。事前にチケットを購入して、チケットを購入した人たちがアーティストの普通のライブ・コンサートや生中継配信を見れるようなサービスなんですが、それを「LINE LIVE」を基盤として構築しているものだったり。
あと、今すごい開発をしていて、これは領域としてはEC領域なんですけれども、「LINE LIVE」の経験をもとに、完全に新規システム、社内のほかの開発部門もけっこう多く巻き込んで開発を進めているものとして、「LIVE Commerce」があります。
「LINE LIVE」ですが、もう6年ぐらい……6年目に突入しているのかな。なので、けっこう長くサービスをやっているので、サービスを続けていく上で方針転換をたくさん行ってたりしたんですよね。
「LINE LIVE」アプリのみで提供していたのが、今は「LINE」アプリからも普通に「LINE LIVE」の機能が使えたり。ほかに国外、台湾、タイ、インドネシアのユーザーに対しても機能の提供をしたり。あとは「LINE NEWS」とのリアルタイム連携とかも始まったりで、先ほども言いましたが、「LINE LIVE」の上に載っかって、別の機能やサービスとして提供する、というようなことをいっぱいやっています。
技術的負債が溜まっていたり、コードだったりアーキテクチャ全体の設計としてもなかなかいろいろ、老朽化というか改善したいところがだんだん増えていく状態です。直したいところがいっぱいあるので、ちょっと入って直そうとしたらいっぱい成果が出せるようなサービスにはなっています。
課題として、今現在サーバーサイドエンジニアが6人、規模感のわりにはとても少ないサーバーサイドエンジニアの数になってしまっています。なので、新規開発と並行して、技術的負債の解消や保守管理、アーキテクチャの刷新時間が取りづらくてちょっと困っていたり、長期的にけっこうトラフィックも多いシステムなので、それの安定稼働のためのSRE業がなかなか手が回らないので、そういったものを強くしたいというのもありますね。
先ほども言ったとおり、ちょっとサービスの方針や提供の内容がいろいろけっこう変わっていたりとかするので、どんどんパッチを当てていって、新しい事業側の要求を反映したものを提供することをやっています。ですので、常に最適解のアーキテクチャ上でサービスを提供はできているわけではないので、そこらへんをもうちょっときれいにしたいという課題感があります。
例えばライブ配信の中にChat Serverがありますが、今現在、1個の配信に対して複数のRoomを作っていて、1個のRoomは5,000人しか参加できないようになっているので、10万人参加したら20個のRoomができるようになっています。
でも、そのRoomの中で1秒間に1,000人が同時にバッと発言すると、その1,000個の発言をそのRoomの中にいる5,000人に対して、だいたい5,000人に対して……4,999人に送って、だいたい500万のメッセージを秒間で配信しなければいけないなど、けっこうどぎついトラフィックが発生したりとかするので、それを捌けるように、サーバーをすごく多く並べています。
ただ、常に盛り上がっているわけでもないので、そこの空いているところのリソースがめっちゃ無駄になるので、そういったものも効率化して運用したいね、といった話はチーム内で上がってはいるのですが、そこも進んでいなかったりします。
Joinしてできることとしては、5~6年ぐらい運用されているサービスの大規模なアーキテクチャの刷新に携われたり、先ほども言ったように、数百万メッセージ/秒ぐらいをオーダーで想定しているチャットのメッセージ処理基板があるので、それの最適化も携われたり。
あと、複数の事業領域や国、地域にサービスの提供先がまたがっているので、そういった、またがったサービス技術の知見獲得かができたり。あとは「LIVE Commerce」事業や「新規にこれからサービスをリリースしていくぞ」という感じでサービスを作っているので、その立ち上げや拡大を支えるエンジニアになれるかなと思っています。
最後、ちょっともう時間は過ぎていますが、求める人物像を軽くお話しすると、「サービスを作るのが好き」や「ちょっとまだ好きじゃないんだけど、好きになってみたい」人、あと「インターネット上で動く何かを作るのが好き」な人。あとはJVM言語で構築されているのでそこに抵抗感がない、そして、なんかけっこう悪い実装とか長年やっていると増えてきているので、そういうのが見つかるとテンション上がっちゃう属性の人がいると、一緒に働きたいなと思っていたりはします。
特に大量のトラフィックがとても好きであったり、ずっと最適化のことばっかり考えて「うーんうーん」している人、あとはやっぱり芸能系のサービスが多いので応援したい人や応援している人がいる、あと自分で仕事を見つけてきてバリュー出すのが好きなど。あと、けっこう「LINE LIVE」だと課金が重要になってくるので、それの納得感のある課金の仕組みを考えたい人などはもっとマッチするのかなって、中にいて思っています。
以上になります。ありがとうございました。
LINE株式会社
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