音楽サービスエンジニアmeetup Vol.1 を開催しました
はじめに
こんにちは。Wano株式会社のエンジニアの成川(@fukubaka0825)と申します。
昨日、私たちwanoグループはエンジニアmeetupを主催しました。
音楽サービスエンジニアmeetup Vol.1 – connpass
このイベントの概要は、Wanoのコーポレートサイトの方でもまとめられると思いますので、こちらはあくまで僕個人やいちエンジニア視点でのレポートとなります。
(イベント当日の流れや雰囲気については、以下の記事をご覧ください)
Wano初開催!音楽について熱く語り合った、エンジニアイベント開催レポート! | Wano株式会社
本イベントの目的
> 音楽サービス開発に携わっている、音楽に関したサービスに携わりたいと思っている、とにかく音楽が好きだ、というエンジニアのみなさんとの開発の裏話や技術的な情報の交換等を目的としたイベントです。
> 第1回となる今回は、主催のWano株式会社とグループ会社であるTuneCore Japan株式会社が運営するサービス、TuneCore JapanとVideo Kicksのエンジニアが開発にまつわる様々なお話をさせていただきます!
> (connpassより抜粋)
どうしてもエンジニアのmeetupイベントというとプログラミング言語や設計、開発手法など技術的な切り口で開かれることが多いと思います。
ですが今回は、Wanoならではの音楽カルチャーという切り口で、カルチャー大好きエンジニアの方の情報交換の場を提供しようということで開催に至りました。
TuneCore Japanについて
>All For Independenceを掲げ誰でも自分の曲をiTunes、Spotify、AWA、レコチョク、LINE MUSIC等の世界中のストアで販売・配信できるサービスで、国内楽曲流通数No1、2017年アーティスト還元額約15億円を誇る成長中のサービス。
2018、2019年には、SXSWの公式イベントJAPAN PREVIEW DAY SHOWにpowered by TuneCore Japanとして参加。
様々な日本のアーティストが同イベントに出演を果たしている。
(connpassより抜粋)
私視点でいうと、私のチーム(Video Kicks)は、現在はTuneCore JapanのMusic Videoの部分をマイクロサービス的にやってるということになるので、TuneCore Japanは私たちがインターフェースする大元システムって感じですね。
個人がSpotifyやApple Musicなどにあげたいとなったら、国内だとファーストチョイスかなという規模まで成長しています。
2017年度還元額約15億円ってめちゃくちゃ凄い(自画自賛)
Video Kicksについて
>誰でも自分の音楽コンテンツを世界中に配信するという価値を、映像コンテンツにも広げるべく昨年スタートした映像ディストリビューションサービス。
TuneCore Japanと提携して、ミュージックビデオを皮切りに、今後様々な映像コンテンツを世界中のストアやサブスクリプションサービスに配信することを目指している。
(connpassより抜粋)
私が担当し始めたサービスとなります。(またお前視点か)
今はMV部分の機能中心ですが、これから映画やLive映像などなど長編のものまで様々な映像を扱っていく、独自プラットフォームとして世界中に展開していく予定です。
セッション
開発ウラ話:TuneCore Japan開発秘話 〜あの頃僕等は日本語対応するだけだと思っていた〜
発表者:@seiryou (Wano株式会社VPoE)
スライド:TCJ開発秘話.pdf – Speaker Deck
概要
- Wanoグループの事業説明
- TuneCore USローカライズするだけだと思っていたら
- たった一枚の資料しかなかった
- 多言語対応
- 商習慣の違い
- 時差 UTC+9とUTC-4の壁
- 日本のアーティストはクレジットカードを持っていない人が多いので様々な決済手段用意必要
結果納品機能以外ほぼフルスクラッチで開発!!!
- Wanoエンジニア全員で開発 DDLからER図を起こし、紙で出してDB取捨選択などなど苦労多数
- それを経た結果USにないアーティストページなどの機能を多数作ることができた
- 今はPerlなどの技術負債と戦い、Goに書き換えようとしているフェイズ
- あなたもご一緒にどうですか?
感想
知る人ぞ知る、貴重なTunecore USをいかに日本に持ってきたかというお話。中の人々も大半の人が知らない裏事情ばかりで、皆興味津々といった様子でした。
特にDDLから起こしたER図がフロア一面に敷き詰められている様がスライドに映し出された時は、会場はざわめいていました笑
私の所属しているVideo Kicksチームも元々はperlで書かれていたらしく、それを今では9割型Goに書き換えることができているので、そこの知見をグループ間で共有できるという強みはありそう。
グループ全体でGo言語や他の言語への移行はしていくようなので、Go言語などにシフトしたい、カルチャー好きのあなたのJoinをお待ちしております!
TuneCore Japan フロントエンドリニューアルについて(仮)
発表者:@yohei-harinezumi (Tunecore株式会社 エンジニア)
スライド:TuneCore Japan サイトリニューアルの裏側 – Speaker Deck
概要
- コーディング規約はどんなフェイズでも制定すべき
- フロントのリファクタリングの辛さ
- 一番力を入れた速報レポートページなどの紹介
感想
終始暗くて辛そうでしたが、ユーザーが使いやすい画面を結果的に作ることができたというお話です(多分)
バックエンドエンジニアがフロントをかくと、いけてないコードが許容される風潮がある気がするので、そういう妥協を許さなかった姿勢というのはどこのチームも見習うべきだなと思いました。
Video Kicks なるはやなるやす動画エンコード
発表者:@naoto243 (Wano株式会社 エンジニア)
スライド:なるはやなるやす動画エンコード #音楽サービスエンジニアmeetup – Speaker Deck
概要
- ユーザーさんがサムネなどを設定する前の、プレビュー動画作成フローの話(上の写真の1番)
- lambdaとかAWS外SaaSは、実行時間制限やコスト面などで難あり
- fargateとかBatchを併用することを採用(動画サイズによって使い分け)
- Batch
- +勝手にスケール ジョブキュー付き タイムアウト設定あり
- -10分ほど立ち上がったままでそこのコストかかる
- -結局EC2なのでスケール起動に時間かかる
- fargate
- +タスク チューニング次第ではるかに機動早い
- -10GBなどのサイズ制限 今後対応あるかも タイムアウトの設定はアプリ側でやる必要がある
- 今後はlamdbaやffmpeg力強化による分割やk8sなども検討して、よりなる安なる早を追求していく
- コンテナお兄さんやffmpegおじさんを募集しています!!!!
感想
我らがVideo Kicksチームの発表でした。
私はまだJoinして2ヶ月目&ビギナーでまだまだ知らないことばかりだなぁと痛感させられました。ffmpegコマンドは辛みがかなりあるらしく、今から恐怖の念を抱いています、、、
うちのチームは新しいサービスガンガン試そうという方針でやっているので、FargateもTokyoリージョンで発表されたてで本番投入するなどのスピード感でやっています。本番環境のコンテナ化もどんどん進めていきます。
また、立ち上げから1年ほどなので、新しい人も入ってきやすい環境になっていると思います。
是非是非最新のAWSサービスをガンガン使ってGolangで開発したい方や、コンテナや動画系の技術に興味ある方、一同お待ちしております!
終わりに
私自身、まだ入社して2ヶ月ということもあって、TuneCore JapanやVideo Kicksサービスの裏話を聞けて、色々知らなかったことをしれてとても有意義でした。
このように、Wanoの中の人間が改めて自分たちの携わっているサービスについて整理するいい機会にもなったと思います。
懇親会では、様々な音楽好きもしくは音楽サービスに携わっているエンジニアさんと、技術トークから音楽系ドメイントークやらで大盛り上がりでした!
特に、「ありそうでない切り口のイベントで良かったです」と予想以上にお声をかけていただけたのが嬉しかったです。
また、色々な方と一緒にイベントやりましょうってお話をさせていただけたので、第二回はもっと大きな規模でやりたいなと思っています!
スペースの使い方から雑談チャンネル的なものの運用まで、色々反省点ややりたいことがあるので、そういう点を次回以降生かせればいいよねという話をしました。今から次回が楽しみです。
今回は、参加者の層としては音楽が好きだったりアーティスト支援をしているWebエンジニアの方が多かったのですが、ハードのエンジニアの方もいらっしゃいました。
Web以外にもハードだったりの技術の話も聞けるようなカルチャー系meetupも開催できたら良いですね。
これを読んでいるあなたと次回のmeetupでお話できることも楽しみにしております。