Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
スタートアップにおけるクラウド上でのシステム設計の進化とその実践
Search
Kohei Higuchi
December 13, 2023
Technology
4
1.2k
スタートアップにおけるクラウド上でのシステム設計の進化とその実践
JAWS Festa in Kyushu 2023.10.7 での登壇資料です
Kohei Higuchi
December 13, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
430
S3アクセス制御の設計ポイント
tommy0124
3
200
今日から始めるAWSセキュリティ対策 3ステップでわかる実践ガイド
yoshidatakeshi1994
0
110
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
120
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
270
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
エンジニアリングマネージャーの成長の道筋とキャリア / Developers Summit 2025 KANSAI
daiksy
3
890
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
460
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
170
Android Audio: Beyond Winning On It
atsushieno
0
2.4k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Side Projects
sachag
455
43k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
What's in a price? How to price your products and services
michaelherold
246
12k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Speed Design
sergeychernyshev
32
1.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Transcript
2023.10.7 JAWS Festa in Kyushu スタートアップにおけるクラ ウド上でのシステム設計の 進化とその実践
自己紹介 • 樋口 浩平(ひぐち こうへい) • 2013年、ヤマップに2番目にジョイン • YAMAPローンチ前から開発に関わり、システム開 発責任者として従事した後、CTOとしてエンジニア
組織のパフォーマンス最大化に努める • 好きな山は宝満山 • アビスパ福岡サポーター
YAMAPについて 電波が届かない山の中でも、GPSで現在地と登山ルートがわ かる、登山を楽しく安全にするアプリ 日本最大の登山・アウトドアプラットフォーム
YAMAPについて 400万ダウンロードを超え、国内トップシェアとなっている 毎週10万件の登山記録と250万枚の写真が投稿され、 毎月10億件のAPIリクエストを受け付ける
• クラウド上のシステム設計の変遷 • システム設計をリニューアルしたときの話 • リニューアルの社内合意形成の進め方 今日話すこと
システム構成変遷の年表 シード アーリー ミドル レイター 2013年 2016年 2018年 2020年 ローンチ
資金調達 資金調達 資金調達 リニューアル リニューアル 日々ブラッシュアップ
立ち上げ期の小咄 メールアドレスとパスワードが入れ替わる事件 メールアドレス「もしかして...」 パスワード「私たち...」 _人人人人人人人人人人人人人_ > 入れ替わってるーー!? <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
2013年のインフラ構成 • EC2インスタンスが1台とS3があるのみ • Webサーバ、DB、開発環境、管理画面すべてEC2の中にAll in One
あんなトラブル、こんな障害 • アクセスが増えると、すぐにCPU使用率が100%になる • ボトルネックが多すぎて原因が分からない • スケールアップするために全部を再起動しないといけない • 開発環境で障害が起きて Production環境もろとも落ちる
リニューアル計画 • Web サーバと DB の分離 • Web サーバのインスタンスを分けて配置する •
ALB で負荷分散 • Web の Auto Scalling • 他多数
2016年のインフラ構成
2019年にフルリニューアル • バックエンドの API を Rails で作り直す • ECS で
Docker コンテナ化 • Terraform での管理に着手 • フロントエンドを分離して Vue.js で実装 • Web サイトのデザインをリニューアル • ドメイン変更 yamap.co.jp -> yamap.com
社内合意形成 • アプリケーションまでリニューアルするので、新機能開発は1年以上停滞 することになる • 重要な経営の意思決定になる • エンジニアではない方には建築に例えて説明してみる • ローンチ時はプレハブ。増改築を繰り返して今の状態。
このままではビルは建てられない。基礎から建て替える必要がある
2019年のインフラ構成
2023年のインフラ構成 • 運用の自動化、省力化 • IaC が進み、いい感じになっている • ほぼ全て Terraform で管理されている
• ほぼ全て Auto Scaling されている • ECS と Lambda を適切に使い分けている • Aurora の Graviton2 インスタンスを早期導入した
2023年のインフラ構成
2023年のインフラチーム体制 • インフラは 2022 年 4 月まで 1 人で運用していた •
1 人でも運用できていたのは AWS のマネージドサービスのおかげ
カンブリア砲にも耐えるインフラ • 6/29のカンブリア宮殿でYAMAPの特集回が放送された • アクセスがスパイクするもサービスへの影響は無し
まとめ • スタートアップの初期フェーズでは、とりあえずアプリケーションが動けば良 いというケースがある • その後、改善を重ねていくことが大事 • 大きなロードマップを描いて • 小さなことからコツコツと
• 社内説明は相手にとって分かりやすい説明を