OnLine

OnLINE
LINEでは、こうしてます。
私のSTYLE

Antmanプロジェクトのメンバーが語る「2019年最高のWOW」の成り立ちとLINE STYLE

LINEでは価値基準「WOW=NO.1」を生み出すために、LINEらしいやり方、考え方を「LINE STYLE」(11項目)としてまとめています。

その具体的な実践方法を紹介していく連載企画「私のSTYLE」。第6回は特別編として、「GLOBAL WOW PROJECT AWARDS 2019」(※)で、最高賞のWOW OF THE YEARに輝いた「Antman」プロジェクトのメンバーに話を聞きました。

※グローバルを含むLINEグループの中から「2019年最高のWOW」を決める社内表彰イベント。社員投票で各賞を決定。

「Antman」とは、ざっくり言うと、LINEのアルバム機能の膨大なストレージ使用量を、あるアイデアで従来の半分にまで削減しようとしているプロジェクトのことです。

「2019年最高のWOW」を生み出した、メンバーたちが実践するLINE STYLEとは? プロジェクトの誕生ストーリーと合わせて、ご紹介します。

(写真左から)

シン・ウチョル(Shin Woochul)

LINE Plus メディアプラットフォーム所属。2018年1月入社。OBSに携わる仕事を担当。LINEサービスで使用される画像、動画などのメディア・コンテンツを保存・伝達するメディア・デリバリーサービスの開発、運営をしている。

ベク・ジュンシク(Baek Joonsik)

LINE Plus メディアプラットフォーム所属。2015年10月入社。巨大メディアストレージOBS(object storage)で使用するメディア・プロセッシング(加工部分)を担当。「Antman」プロジェクトではPMを務め、Vision AI機能を提供するプラットフォームPicCellの運営も行う。

ベク・スンフン(Baek Seunghoon)

LINE Plus メディアプラットフォーム所属。2017年6月入社。ジュンシクとともにメディア・プロセッシングに携わる仕事を担当する。主にサーバサイドの画像と動画処理技術の開発を担う。

今回は、韓国オフィスのメンバーにオンライン取材。

酒席の冗談から生まれたアイデア

──「Antman」プロジェクトが生まれた時期と経緯について教えてください。

ジュンシク

2018年の6月頃ですかね。当時やろうと思っていたプロジェクトが取りやめになってしまい、かなりガックリきていたんです。そこでチームのメンバーを誘って、夕食も兼ねて中華料理屋さんで一杯飲もうと。

私とスンフンさんと、他にも2人ほどメンバーがいたと思います。お酒の席でしたが、開発者同士が集まると結局仕事の話になるもので......(笑)。そのときもプラットフォームに携わる人間にとってずっと悩みの種だった、LINEのアルバムでストレージが圧迫され続けている問題を話していました。

スンフン

LINEのアルバムと同じようなクラウドサービスを提供している企業は、おそらく同じことに悩んでいるはずなんです。OBS(Object Storage)にかかっているコストをどうやったら削減できるだろうかと。

ジュンシク

そこで、膨大に保存してある「JPEG」の画像データを、より高度化した「HEIF」フォーマットに変えてしまおうかという話をしてたんです。HEIFはJPEGの約半分の容量に効率化できるので、そうしたら単純にサーバーの負担は半分になるじゃないかというわけです。

とはいえ、HEIFは最新フォーマットなので現状では汎用性が低くて、対応してないOSやデバイスが多くあるので、現実的な案ではありません。そのときも、「対応してなかったら、表示するときに、またHEIFをJPEGに変換しちゃえばいいんじゃない?」といって、冗談半分にその場では流していました。

でも次の日によくよく考えてみたら、これは悪くないアイデアなんじゃないかと(笑)。それでリーダーに共有してみたんです。そしたら反応がよくて。正式にプロジェクトとして進めることになりました。

「Antman」の基本的なアイデアは、JPEGをHEIFに変換して容量を軽くすること。ただし、Android端末はHEIFに対応していないため、ダウンロードの際に、HEIFをさらにJPEGに変換する必要がある。「GLOBAL WOW PROJECT AWARDS 2019」プレゼン資料より。

──面白い。「Antman」というプロジェクト名も絶妙ですよね。

ジュンシク

私がマーベル系の映画が大好きで、小さく変身して活躍するキャラクター「アントマン」にちなんで名づけました。ちなみに、Antmanで使っている変換ライブラリーの名前は、映画でアントマンの能力を生み出す「ピム粒子」にちなんで「PYM」と言います。まあ、深い意味はないんですけど(笑)。プロジェクトを進める上で、結構こういった"遊び"が大事だったりもしますよね。

難題は「画像の品質」をどう判断するか

──実際にプロジェクトが動き出すことになって、まず取り組んだことは何でしたか。

スンフン

最初にやったのは、JPEGファイルをHEIFファイルに変換したときに、本当に容量を半分に削減できるかの検証です。ここで一番問題になったのは、元のJPEGファイルと変換後のHEIFファイルが、同じ品質かを判断するロジックの開発でした。

イメージ同士の類似度を判断するにはいろんな方法がありますが、それをみんな試してわかったのは、既存の技術では本当にディテールまでは判断できない、ということです。そこで、ジュンシクさんと研究を重ねながら、独自のアルゴリズムを開発することになりました。

ジュンシク

当初は開発期間をもっと短く想定していたのですが、このアルゴリズムの開発が予想以上に難しかったので、半年ぐらい遅くなってしまいました。開発段階ではここが一番難しかったですね(※)。

でもいざ開発を終えてみると、これまでにない新しい技術で、満足できる形になっています。

※「独自アルゴリズム」の詳細はこちら

LINEのストレージ効率化を支えるJPEG↔HEIF変換プロジェクト「Antman」開発記

──他に開発中に工夫したことはありますか?

ジュンシク

GPU(Graphics Processing Unit)サーバーのトラフィックピーク時以外で遊休状態になるサーバーを利用して、「Antman」プロジェクト自体にかかるインフラコストをゼロにしました。

既存サーバーの空き時間を活用して、追加コストをゼロに。「GLOBAL WOW PROJECT AWARDS 2019」プレゼン資料より。

ジュンシク

開発コストを削減すれば、それだけ純利益になるので、その進め方は大きなポイントになると思ったんです。スンフンさんがGPUのTranscoderに流入してくるトラフィックを分析して、「Antman」でGPUサーバーがどれだけ使えるのかというモニタリングモジュールも開発してくれました。

スンフン

これまで深夜帯は、ほとんどのサーバーは遊んでいる状態だったのですが、今はそのサーバー全部が24時間365日、働いている状態になっています。

メディアに関わるサーバー開発者はみんな同じだと思いますが、マシンが休んでいる状態より、頑張って働いている状態が嬉しいものです(笑)。

ユーザーのJPEGデータを削除する「重み」

──2019年5月末から実際に「Antman」が適用されたそうですね。現在まで大きなトラブルはなく?

ジュンシク

テストの段階と実際のサービスの段階では、サーバーにかかる負荷が違うので、本番データに「Antman」を適応したときに、間違った変換をするケースもあるだろうと予測はしていました。

実際そういうケースも起きたのですが、幸い原本のJPEGファイルを削除する前だったので、復旧して対応できました。ものすごく冷や汗をかきましたけどね。

ウチョル

「Antman」でLINEのアルバム内のJPEGデータをHEIFに変換した後、原本のJPEGを削除しても本当に大丈夫なのか、検証する期間が数カ月あったんです。

その間は、ストレージにJPEGとHEIFの2つのフォーマットのデータを保存していました。検証を終えて、HEIFファイルだけにしても大丈夫そうだと判断ができた2019年の7月末に、原本のJPEGファイルを削除することにしました。

想定できるすべてのケースに対して問題がないか、確実にチェックできたかなど、たくさんのテストを重ねて万全の状態でしたが、データ削除する当日はメンバー全員、緊張しながらモニタリングしていたのを覚えています。

――それはシビれますね。

ジュンシク

「Antman」を投入した日から半年近く経ちましたが、その間、ユーザーからのアプリレビューを毎日読んでいます。もう6カ月間ずっとチェックし続けていますが、今のところは大丈夫です。

このまま順調にいけば、2020年6月頃までには、過去に蓄積したJPEGファイルの削除が完了する予定です。とはいえ、サービスが続く限り、新たなファイルも増え続けますので、これからも「Antman」での変換作業は続いていきます。

2025年末までに数十億円分のコスト削減

──これからも続くプロジェクトだと思いますが、これまでを振り返ってみていかがですか?

ジュンシク

まずアイデアが生まれたきっかけが良かったと思います。他部署から要請されたわけでなく、自主的にアイデアを生み出して始まったプロジェクトだということです。

そして2番目には、プラットフォームの特性として、収益面での成果は難しいのですが、今回の「Antman」でインフラ費用を節約することはそのまま純利益につながります。削減額を成果として正確に可視化できたことも、「WOW PROJECT AWARDS」で評価された理由の一つだと思います。

成果を語るスライドでも強烈なインパクトを残した。「GLOBAL WOW PROJECT AWARDS 2019」プレゼン資料より。

始まりは「Stay a Step Ahead」

――ここからは「Antman」プロジェクトに取り組む中で、LINE STYLEをどう実践していたのか、具体的なエピソードを交えて語ってほしいです。まずは、こちらの4項目で特に意識していたのは?

※ここからは、ぜひ「LINE STYLE BOOK」を見ながら、お読みください。

ジュンシク

このプロジェクト自体が「Stay a Step Ahead(完璧さより、まず踏み出す勇気)」で始まったと言えるでしょうね。お酒の席から生まれたので(笑)。

完璧な計画を立ててから実行したというよりも、ラフな計画から素早い議論をくり返してアイデアを発展させていきました。一つの問題を解決すると、また別の問題が発生する状況でしたが、「こうしたらできそうだ」「駄目だった」「このやり方はどうだろう」「今度はこっちがうまくいかない」「じゃあはこれを試してみよう」という感じで進みました。

スンフン

私は「Always Data-driven(感覚ではなく、データ=事実を信じる)」を挙げたいです。アルゴリズムを開発しているとき、どんな技術が効率良く問題解決できるか、それを判断するために最も有効なのはデータです。

「Antman」プロジェクト中でも、常に「テスト → データ取得 → レビュー」という3つのプロセスをくり返しながら、最適なアルゴリズムが開発できたと思っています。

ウチョル

私が選んだのは「Perfect Details(追求すべきは「紙一重」の違い)」です。今回のプロジェクトは非常にセンシティブでリスクの高いプロジェクトだったと思っています。

元のJPEGからHEIFにデータを変換するとき、その2つの画像を一緒に保存しながらユーザーに正しくデータを届ける移行期、その後に元のJPEGを削除するタイミング、どの段階でもミスが許されない状況でしたから。本当にずっと完璧じゃないといけない、という気持ちでした。

駄目だったことを共有して進む

――次はチームワークにまつわる項目です。この3つの中で特に意識していた項目は?

スンフン

いまのメディアプラットフォームという部署は、LINE STYLEの「Keep in Sync, Aiming for the Same Goal(同じゴールを目指し、同期し続ける)」が得意な部署だと思っています。「Antman」プロジェクトでも、この強みが発揮されたように思います。

ジュンシク

そうですね。例えば、JPEGからHEIFに変換したデータが同等の画質だと判断するアルゴリズムを開発したとき、スンフンさんと私の間で、試してみて駄目だったことはGit(※)や社内Wikiで共有して、二人でできるだけ違う方法を探っていきました。

想定よりも時間はかかりましたが、目標がとてもシンプルでしたので、ブレずにいろんな試行錯誤ができたと思います。

※プログラムソースなどの変更履歴を管理する、分散型のバージョン管理システム。

スンフン

ジュンシクさんとスンフンさんはメディアを加工する側で、私はそれを保存、転送する側ですので、お二人とは若干ミッションが違います。

「Antman」のメイン機能、画像の変換や圧縮にまつわる開発は、お二人が担当しています。それがOBSとしっかり連動して適切に運用できるかの部分を、些細なことから全体的なことまで、一つひとつ漏らさずコミュニケーションしながら、進めていきました。

「100% Solution-making」

――働き方にまつわる2項目ではいかがでしょう?

ジュンシク

エンジニアは誰もがそうかもしれませんが、「1% Problem-finding, 99% Solution-making(「できない」から「できる」をつくる)」ですね。

「Antman」プロジェクトを進める上で、やらなければならないことは膨大にありました。前例のないチャレンジだったので、次々と問題が出てくるんですよ。周りからもどんどん指摘されますので、私にとっては、「99% Solution-making」というより、「100% Solution-making」でした(笑)。

――「Problem-finding」は、いらなかった(笑)。

ウチョル

個人的なスタイルかもしれませんが、私は仕事と休憩のメリハリをつけるようにしています。仕事中に問題解決のアイデアが全く思い浮かばないこともありました。そんなときは、ただやみくもにデスクに座っているのではなく、外に出て風に当たったり、コーヒーを飲んだり、仲間と雑談をしたり、リフレッシュするように心がけていました。

そういった意味で、本来の定義とは少し違うかもしれませんが、「Work Intensely and Be Focused(目的なき「一生懸命」は、いちばん危険)」ですね。

開発者がChallengeできる環境

――最後の2つは、仕事に対するマインドについての項目です。こちらはいかがでしょう?

ウチョル

くり返しになってしまいますが、ユーザーのオリジナルのJPEGデータを削除する瞬間は、まさに「Go Brave. No Fear. No Regrets(世界を変えるのは、大胆で勇気ある挑戦)」でした。そこで後悔したくないので、準備を徹底的にやりました。だからこそ、プロジェクトの最終段階でデータ削除に踏み切れたんだと思います。おかげで毎日平穏に過ごせています(笑)。

スンフン

私は「Enjoy the Challenges(ワクワクしなければ、仕事じゃない)」を選びました。仕事をしているときは、なるべくストレスを感じてはいけないと思っています。とはいえ、問題はいつも起こるものです。「難しい課題だな。解決できなかったらどうしよう」と考えてしまいがちなんですけど、そういうとき私は、「自分なら解決できる。できなければ、みんなでなら解決できる。さあ、楽しもう!」とあえて軽く考えるようにしています。まあ、何の根拠もないんですけどね(笑)。

ジュンシク

私も「Enjoy the Challenges(ワクワクしなければ、仕事じゃない)」は大切だと思っています。LINEに入る前の会社では、自分で仕事を見つけるのではなく、どんどん降ってくる業務を納期にあわせて進めていく仕事を10年間していました。

それでLINEの採用面接で「この会社では、開発者のアイデアを受け入れる機会はありますか?」と逆に面接官に聞きました。すると「ええ、実際によくありますよ」と言われたので期待をもって入社しました。

最初は慣れるまで時間がかかりましたが、今では私もサービスのアイデアを出したり、改善策を出したりしています。今回のプロジェクトのように素晴らしい成果に結びつくこともありますので、とても満足しています。

もう1つのEnjoy the Challenges

――プライベートでチャレンジしていることがあったら教えてください。

ジュンシク

実は1月から禁煙を始めていまして、禁煙に成功するというのが2020年のプライベートでの大きな目標です。仕事では「Antman」のようなリスクを抱えるプロジェクトは、しばらくお休みにしたいですね(笑)。

――(笑)。ちなみに「WOW OF THE YEAR」を受賞して、周りの反応はいかがでしたか?

ウチョル

周りのメンバーから「プラットフォームとしての成果を出せて良かったね」と言ってもらえました。私たちのプロジェクトに刺激を受けて、今後も良いプロジェクトが生まれるといいなと思います。

――あと、賞金の使い道を聞いてもいいですか? 10,984ドルの。

ジュンシク

それは大事な質問ですね(笑)。

ジュンシク

一部はチーム全体の費用になりました。一部は韓国オフィスのカフェで、LINERの皆さんにコーヒーをふるまいました。「Antmanから、コーヒー1杯をどうぞ」って。

韓国オフィスのカフェで、3時間限定で計815杯のコーヒーが無料でふるまわれたそう。(写真提供:ジュンシク)

――ステキな使い道。

ジュンシク

他のオフィスの皆さんにもふるまえればよかったのですが......(笑)。残りの賞金は、サポートしてくれた人たちと食事に行ったり、家族といい時間を過ごしたりするために使いました。

「Enjoy the Challenges」を地で行くような3人のトークは、仕事の話でありながら、どこか趣味のような話でもあり、笑いが絶えませんでした。おそらく大変な苦労もあったはずなのですが、そこはマーベルのキャラクターのように、苦労を笑いに消化しながら、WOWを実現していったのかも知れません。「Antman」の挑戦はこれからも続きます。

2020年も、また新たなWOWをつくってくれそうです。

*

斉藤 幹晴

PR室で社内広報を担当。2004年にライブドア(現LINE)入社。メディア事業部でスポーツ、映画などのニュースサイト、コンテンツ作りに携わる。現在は社内報の企画編集などに従事。趣味は音楽鑑賞(ジェイコブ・コリアー)、読書(「うしろめたさの人類学」)、自転車に乗ること。