Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
AWS から GCP に移行しようとして AWS に戻した話
yamagenii
January 14, 2022
0
160
AWS から GCP に移行しようとして AWS に戻した話
yamagenii
January 14, 2022
Tweet
Share
Featured
See All Featured
Producing Creativity
orderedlist
PRO
333
37k
Faster Mobile Websites
deanohume
294
28k
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
Why You Should Never Use an ORM
jnunemaker
PRO
47
5.5k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
7
1k
Unsuck your backbone
ammeep
659
55k
Gamification - CAS2011
davidbonilla
75
3.9k
Designing the Hi-DPI Web
ddemaree
272
32k
Optimizing for Happiness
mojombo
365
63k
Automating Front-end Workflow
addyosmani
1351
200k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
910
Transcript
AWS から GCP に移行しようとして AWS に戻した話 2021/12/28 株式会社Voicy
©2021 Voicy, Inc. 自己紹介 山元亮典 (やまげん) @yamagenii - Voicy
エンジニア部門責任者 - バックエンドエンジニア -> データチームマネージャ -> エンジニ アリングマネージャ - 前職はヤフーで検索バックエンドをフルスクラッチ開発 - 好きな言語 : Rust - 趣味 : 漫画、タップダンス - 特徴 : 天然パーマ
©2021 Voicy, Inc. サービス紹介 音声プラットフォームVoicy 音声プラットフォームVoicy - 審査率5%のパーソナリティが 配信中
- ニュースを音声で聴ける
©2021 Voicy, Inc. サービス紹介 VoicyはtoC/toB 双方で事業展開しているのが特徴
©2021 Voicy, Inc. サービス紹介 1年で500%以上成長、MAU250万以上のサービスに
©2021 Voicy, Inc. サービス紹介 コアとなるプロダクト 「Voicy」 iOS Android 「Voicy Recorder」
iOS Android 「Voicy Web」 Angular 「クライアント管理画面」 Angular(PC)
©2021 Voicy, Inc. この発表の内容と対象者 内容 - 2020年から大きく成長することができたVoicyですが、 タイトルからわかる通りシステム内で紆余曲折をしてきた - 何が起こって、どのようなことを学んだのか、
スタートアップの現実を話せればと思います - テクニカルな部分は省いていて、GCP vs AWS みたいな話はしません 対象者 - スタートアップでシステム設計をしている - スタートアップでエンジニアをやっている - スタートアップでマネージャをやっている - プロダクトファーストなスタートアップの経営者
AWS から GCP に移行しようとして AWS に 戻した話
©2021 Voicy, Inc. Voicyのプロダクト変遷 設立 ~ 2019/02 MVP~PMFを目指して開発時期 エンジニア規模 -
1~5人 開発状況 - MVP~PMFを目指して、開発をしていた - とにかく世の中にローンチすることを優先 - Goの二つのAPIの書かれ方もバラバラ
©2021 Voicy, Inc. Voicyのプロダクト変遷 設立 ~ 2019/02 MVP~PMFを目指して開発時期 課題 -
機能リリースを優先して、保守が辛い プロダクトに リプレイスPJの発足(2019/02) - アプリの体験含めて刷新 - GCPへの移行を決意 - Kubernetes採用を決定して、当時 GKEに軍配があがった
©2021 Voicy, Inc. Voicyのプロダクト変遷 2019/02 ~ 2019/07 GCP移行PJ発足、VoicyRecorder移行完了 エンジニア規模 10人
開発状況 Voicy Recorderのリプレイスが完了。 バックエンドだけでなくiOS/Androidも移行完了 エンジニアが専任でアーキテクトに入り、保守し やすいアーキテクチャになった ここまでは順調だった 設計思想はこちら
©2021 Voicy, Inc. Voicyのプロダクト変遷 2019/08 ~ 2020/02 Voicy組織崩壊 エンジニア規模 10人
-> 5人 (既存メンバー2人) (山元は新規メンバーとしてここでジョイン) Voicy全体で離職率70% - リプレイスPJを経験してるメンバーは2人に - バックエンドは0人 - 新アーキテクチャのナレッジが失われた ※組織の立て直し自体は勝村の記事を参考にしてください https://www.fastgrow.jp/articles/voicy-katsumura
©2021 Voicy, Inc. Voicyのプロダクト変遷 2020/03 AWSに戻す決意 アーキテクチャ課題 - リードしていたエンジニアが退職して、設計思想が 伝わらなかった
- AWSとGCPを理解しないといけない状況 - これから入社する人が理解するのは難しい - 品質の担保ができない - BFF -> DBWrapper のアーキテクチャが伝わ りきらなかった AWSへのリプレイスPJの発足 - AWS移行を決意 - 基幹となるDBがRDSのままで、Auroraの実績 も大きかった - EKSの実績が増えた
©2021 Voicy, Inc. Voicyのプロダクト変遷 2020/04 ~ 2021/07 新しい組織で再スタート -> グロースへ
エンジニア規模 - 5人 -> 15人 開発状況 - 組織全体の成功体験を積むため、 新規機能開発を最優先 - Voicy Playerのリプレイス - Voicy初の課金機能搭載 - ライブ配信機能 - ほとんどのエンジニアにはGKEを触らせな かった - 一部のエンジニアでクラウド移行を実 施してGKEの撲滅へ
©2021 Voicy, Inc. Voicyのプロダクト変遷 2020/04 ~ 2021/07 新しい組織で再スタート -> グロースへ
エンジニア規模 - 5人 -> 15人 開発状況 - 組織全体の成功体験を積むため、 新規機能開発を最優先 - Voicy Playerのリプレイス - Voicy初の課金機能搭載 - ライブ配信機能 - ほとんどのエンジニアにはGKEを触らせな かった - 一部のエンジニアでクラウド移行を実 施してGKEの撲滅へ 負債で開発効率落としながらも なんとかグロースへ
©2021 Voicy, Inc. Voicyのプロダクト変遷 2021/08 ~ 現在 エンジニア規模 -
15人 -> 20人 開発状況 - 機能開発のスピード感を落とさない - プラットフォーム開発やプロセス改善にも リソースを使って品質コミットできる組織体 制に - 一部GCPが残っている機能など負 債の解消中 移行中 撲滅中
©2021 Voicy, Inc. タイムライン 2019/02 2021/12 2021/08 2020/03 2020/08 GCP移行PJ
組織崩壊 新しい組織で再スタート 片手間でAWS移行 負債解消 MVP/PMF 優先 5人 10人 5人 15人 20人 開発組織 規模
学んだこと
アーキテクチャに正解はない 選択したものを正解にしていく気概が重要
©2021 Voicy, Inc. アーキテクチャのビジョンマネジメントが重要 2019/07 - GCP移行PJとしてVoicy Recorderの移行が完了
- このとき開発チームが一丸になってリプレイスに取り組んでモチベーション高 く開発されていた - GCP移行の選択は正解だった 2020/03 - GCPからAWSへの移行を決意した - リードするエンジニアは組織崩壊中で退職。新しく入社したエンジニアが直面 したのはAWSとGCPのハイブリットPFだった。 - GCPへのメリットを組織で感じることができずにGCP移行を辞めた。GCP移行 の選択は不正解となった。 GCP移行が「正解」から「不正解」に変わった
©2021 Voicy, Inc. アーキテクチャのビジョンマネジメントが重要 アーキテクチャは顧客、開発者のためにあり、企業やフェーズによってもあるべき 姿は変わる。それを分析してチームで正解にして気概が重要 例 : Why,What,
Howのフレームワークにあてはめて共有する - Why : なぜそれを選択したか、誰をどんな状態にしたいか、課題 - What : 開発者や顧客に何をもたらすか、ロードマップ - How : その方法 アーキテクチャに正解はない、選択したものを正解にしていく気概が重要
©2021 Voicy, Inc. アーキテクチャのビジョンマネジメントが重要 なぜうまくいかなかったのか分析 組織崩壊前のチーム - 一人のリードエンジニアが説明責任を果たしてリードしていて、 PJとしては第一弾移行を完了していた
組織崩壊後のチーム - リードエンジニアが辞めて説明責任をチームで果たせなくなった。AWS-GCPの状 態のデメリットが目立つ中でGCP移行のメリットを組織で感じられず頓挫した アーキテクチャに正解はない、選択したものを正解にしていく気概が重要
©2021 Voicy, Inc. なぜVoicyはAWSを選択したか Why 長期 - VoicyはtoC向けのプラットフォーム多くのユーザのトラフィックを捌けるスケーラビリティが必要 -
音声インフラを作成する時に事業部が広がっていく - セキュリティ面に問題がない - 音声処理からメディア配信などに対応可能 - SoEで開発のPDCAを高速で回したいので、レジリエンス性が高い開発基盤が必要 - IaC管理可能 - 採用に有利 短期課題 - ハイブリットクラウドは辛い、AWSはterraformで管理されている、DBの移行コストが高い What - 3~5年後には1000万人単位のユーザを捌ける - 組織毎にガバナンス管理できて、全体管理も可能 - コンテナオーケストレーションで実行コンピューティングが管理されていて柔軟なリリースにも対応できる - 採用市場で人気 - IaC管理できる Voicyのあるべき姿
©2021 Voicy, Inc. なぜVoicyはAWSを選択したか - 短期課題 - GCP-AWSのハイブリットは辛い -
DBのGCP移行が重かった - terraformがAWSで管理されていた - システム面 - ユーザスケールによるボトルネックがDBにかかると分かっていた - 短期的にはRDB互換となるAuroraの実績が強かった - 長期的にリソース効率の良いKVS採用を考えた時にDynamoの実績も強く、スケーラビリティ は問題ないと判断 - CloudSpanner高性能だがゆえに高い - EKSの実績も増えていて、GKEとのポータビリティ性があった - AWS Orgなど事業部が広がった時の管理も用意 - TranscoderやOpenSearch等GCPにはないサービスがあった - 組織面 - 採用市場はAWSが強いと判断 - 社内のナレッジはAWSが強かった やっぱりAWSだよね!(ポジショントークではないですよ)
GCP移行は今の組織でも正解にできた ただし今の組織を分析して最適解を選んで それを貫くのが重要
©2021 Voicy, Inc. 負債解消もビジョンマネジメントが重要 - リファクタリングを始めたらチームでやり切るマネジメントを徹底することが重要となる Why :
現状の課題は何か? What : 課題を解決した結果、品質やスピードが上がるのか。 ビジネスのポジティブ影響を見積もれるか? How : その方法 技術的な負債の解決なども同様の分析が重要
©2021 Voicy, Inc. まとめ - 組織崩壊と相まってGCP移行PJが頓挫 - 現在の組織を分析した結果AWSへの移行を決意
- アーキテクチャに正解はない、選択したものを正解にしていく気概が重要 - やっぱりAWSはいいですね! AWSからGCPにしようとしてAWSに戻した話
©2021 Voicy, Inc. 最後に Voicyでは一緒に働く仲間を募集しています 共に音声プラットフォームのシステムを作ってみませんか? - サーバサイド、SRE、Angular、iOS、Android多岐に渡って募集中! -
SREは正社員1人目の募集で、プラットフォームの方向性から一緒に作ります - サーバサイドエンジニアはインフラやKubernetesなども活用しながら開発しています - 興味ある方はTwitterにDMください! - @yamagenii
音声×テクノロジーでワクワクする社会をつくる