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
Building a cloud native business on open source
lizrice
0
180
JSConf JPのwebsiteをGatsbyからNext.jsに移行した話 - Next.jsの多言語静的サイトと課題
leko
2
190
RemoteFunctionを使ったコロケーション
mkazutaka
1
110
現場データから見える、開発生産性の変化コード生成AI導入・運用のリアル〜 / Changes in Development Productivity and Operational Challenges Following the Introduction of Code Generation AI
nttcom
1
480
プロダクト開発と社内データ活用での、BI×AIの現在地 / Data_Findy
sansan_randd
0
120
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
170
QA業務を変える(!?)AIを併用した不具合分析の実践
ma2ri
0
140
20251024_TROCCO/COMETAアップデート紹介といくつかデモもやります!_#p_UG 東京:データ活用が進む組織の作り方
soysoysoyb
0
110
コンパウンド組織のCRE #cre_meetup
layerx
PRO
1
270
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
0
310
AI機能プロジェクト炎上の 3つのしくじりと学び
nakawai
0
110
Behind Postgres 18: The People, the Code, & the Invisible Work | Claire Giordano | PGConfEU 2025
clairegiordano
0
130
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Music & Morning Musume
bryan
46
6.9k
Automating Front-end Workflow
addyosmani
1371
200k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Building an army of robots
kneath
305
46k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Optimizing for Happiness
mojombo
379
70k
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の特集回が放送された • アクセスがスパイクするもサービスへの影響は無し
まとめ • スタートアップの初期フェーズでは、とりあえずアプリケーションが動けば良 いというケースがある • その後、改善を重ねていくことが大事 • 大きなロードマップを描いて • 小さなことからコツコツと
• 社内説明は相手にとって分かりやすい説明を