Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
bank engineer night#02
Search
Bank, Inc
October 11, 2018
Technology
2.8k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
bank engineer night#02
Bank, Inc
October 11, 2018
More Decks by Bank, Inc
See All by Bank, Inc
BANK「PRの7RULES」
bankinc220
2
5.2k
send-push-notification-with-knative.pdf
bankinc220
0
2.2k
bank engineer night#02
bankinc220
0
2.1k
bank engineer night#02
bankinc220
1
2.6k
CASH を支える Google Kubernetes Engine
bankinc220
0
2.8k
PRLT
bankinc220
1
82
travelnow
bankinc220
0
120
heybanknight
bankinc220
1
140
How CASH works!〜CASHのシステム構成〜
bankinc220
1
1k
Other Decks in Technology
See All in Technology
SREは、MCPとAutopilotをこう使え!
kazumax55
2
810
品質と信頼性を地続きにする
grimoh
0
390
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
3
3k
MCPをつなげて作る組織横断のAIエージェント基盤(の開発工程)
tsubakimoto_s
0
130
Minecraft JavaのMODをSwiftで作る
1mash0
0
160
Railsのように考える: See through the Master
snoozer05
PRO
3
870
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
安心して変更できるWebフロントエンドの作り方
pirosikick
4
2.5k
ソフトウェアDNAとクラウドエージェントのススメ
cloudace
0
110
Omarchy Quattro の日本語設定周り
simosako
2
180
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
1
190
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
730
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Product Roadmaps are Hard
iamctodd
55
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
690
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
We Are The Robots
honzajavorek
0
370
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
570
Statistics for Hackers
jakevdp
799
230k
Transcript
スピード狂エンジニアたちの開発 速度を保つインフラとは Bank,Inc 高橋 拓也
自己紹介 - 高橋拓也 - サーバサイドとクラウドインフラ - Kubernetes が好き - 糖質制限中
本日の内容 とある取り組みをベースに, 手が速い人達を押さえつけない ための学びを教えます
開発チーム この1年で一気に エンジニアが増えた
開発チーム 初期リリース時: 数人
開発チーム 現在: 15 ~ 20人くらい
開発チーム 昔ながらの開発フローが だんだん通用しなくなる
開発チーム 数人 ~ 10人時代
開発チーム どうやって開発していたか?
開発チーム どうやって開発していたか? Staging 環境
開発チーム ステージング API ローカル ローカル ローカル
開発チーム ステージングで 動作試したい! ステージング API ローカル ローカル ローカル
開発チーム ステージングで 動作試したい! ステージング API ローカル ローカル ローカル
開発チーム ステージング API ローカル ローカル ローカル
開発チーム ステージングで 動作試したい! ステージング API ローカル ローカル ローカル ステージングで 動作試したい!
開発チーム ステージングで 動作試したい! ステージング API ローカル ローカル ローカル ステージングで 動作試したい!
開発チーム ステージングで 動作試したい! ステージング API ローカル ローカル ローカル ステージングで 動作試したい!
開発チーム ステージングで 動作試したい! ステージング API ローカル ローカル ローカル ステージングで 動作試したい!
優しい世界
開発チーム 数人ならこれでもよかった
開発チーム 人数が増えてくると
開発チーム ステージング API ローカル ローカル ローカル ローカル ローカル ローカル ローカル
ローカル ローカル ローカル
開発チーム ステージング API ローカル ローカル ローカル ローカル ローカル ローカル ローカル
ローカル ローカル ローカル ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい!
開発チーム ステージング API ローカル ローカル ローカル ローカル ローカル ローカル ローカル
ローカル ローカル ローカル ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージング 戦国時代
開発チーム そこで作成された
開発チーム そこで作成された Staging2
開発チーム ステージング API ローカル ローカル ローカル ローカル ローカル ローカル ローカル
ローカル ローカル ローカル ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージング API
開発チーム ステージング API ローカル ローカル ローカル ローカル ローカル ローカル ローカル
ローカル ローカル ローカル ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージング API なんとかなった
開発チーム ぼくがバンクに入った頃 (5月)
開発チーム ステージング API ローカル ローカル ローカル ローカル ローカル ローカル ローカル
ローカル ローカル ローカル ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージング API ローカル ローカル ローカル ローカル ローカル ローカル ローカル ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい!
開発チーム ステージング API ローカル ローカル ローカル ローカル ローカル ローカル ローカル
ローカル ローカル ローカル ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージング API ローカル ローカル ローカル ローカル ローカル ローカル ローカル ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! どうにもならない
開発チーム ステージング API ローカル 一人ひとりの専用APIを
開発チーム ステージング API ローカル 無限に スケールできるように ステージング API ローカル ステージング
API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル
開発チーム ステージング API ローカル 無限ステージング ステージング API ローカル ステージング API
ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル
開発チーム 昼会で熱望されていた ローカル ほしい
開発チーム 入社2週目ぼく 「つくれそう」
開発チーム 入社2週目ぼく 「つくれそう」 つくった
開発チーム 機能提供を とにかく急いだ
開発チーム 1. CI が通ったら自動デプロイ 2. プルリク番号の名前がつく 3. pr-100-api.domain.com でアクセス
開発チーム 良くない構成も 混じった
開発チーム 1. ひとつのDBインスタンスを共有 2. スクリプトは .circleci/config.yaml
開発チーム 良くない構成も 混じったけど 動く
開発チーム ステージング API ローカル ねんがんの むげんすてーじんぐを てにいれた! ステージング API ローカル
ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル
開発チーム リリースから 1ヶ月後
開発チーム みんなの開発は どうなったか?
開発チーム ステージング API ローカル ローカル ローカル ローカル ローカル ローカル ローカル
ローカル ローカル ローカル ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージング API ローカル ローカル ローカル ローカル ローカル ローカル ローカル ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! むげん
開発チーム ステージング API ローカル ローカル ローカル ローカル ローカル ローカル ローカル
ローカル ローカル ローカル ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! ステージング API ローカル ローカル ローカル ローカル ローカル ローカル ローカル ステージングで 動作試したい! ステージングで 動作試したい! ステージングで 動作試したい! 無限ステージング 使われない問題
開発チーム なんでみんな 使ってくれないの
開発チーム 使い勝手がよくなかった
開発チーム 今まで
開発チーム ステージングで 動作試したい! ステージング API ローカル ローカル ローカル
開発チーム ステージングで 動作試したい! ステージング API ローカル ローカル ローカル 1ステップ
開発チーム ステージングで 動作試したい! ステージング API ローカル ローカル ローカル 1分
開発チーム 無限ステージング
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する 手順が多い
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する CI
完了を待たないといけない
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する 自分の使いたいタイミングで
使えない
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する 5分
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する 5分
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する 10分
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する 合計20分
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する APIが使えるようになるまで
めちゃめちゃ時間がかかる
開発チーム うちのチームは スピード命
開発チーム コレじゃ使われない...
開発チーム 直そう
開発チーム ステージング API ローカル 無限ステージング改 ステージング API ローカル ステージング API
ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する 5分
開発チーム CI 完了を待たないといけない問題
開発チーム 既存のデプロイフローに 載せた
開発チーム ステージングデプロイ プロダクションデプロイ
開発チーム 無限ステージング
開発チーム https://watashino-api.domain.com 任意の名前で作成可能にした
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する 5分
開発チーム アプリをビルドしないと いけない問題
開発チーム URL を配信するエンドポイントを 作って
開発チーム ベータ版に参照機能を 作ってもらった
開発チーム ベータ版に参照機能を 作ってもらった アプリビルドが不要に!
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する 10分
開発チーム そもそも UP が 遅すぎる問題
インフラ構成で頑張って 10分から10秒にした 開発チーム
開発チーム 詳しくは Google Cloud Next ‘18 in Tokyo の 発表を見てください
(スライド32Pあたり) https://speakerdeck.com/bankinc220/cash-wozhi-eru-google-kubernetes-engine https://www.youtube.com/watch?v=b2tq_f3ZWdE
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する
開発チーム ブランチをGitHubにプッシュして,プルリ クを発行して,CircleCI が通りきるまで 待って,CircleCIがきちんと通ったか確認 して,プルリク番号を確かめて,APIが使 えるようになるまで待って,アプリのエン ドポイントを書き換えて,アプリをビルドし て,動作確認する デメリットすべて解決
♀
開発チーム だんだんと みんな使ってくれるようになった
開発チーム この作業で学んだこと
開発チーム 開発作業が 遅くなるのは悪
開発チーム 最初のままだったら きっと誰も使ってくれなかった
開発チーム この作業で学んだこと
開発チーム ユーザーに選択肢を残す
開発チーム ユーザーに選択肢を残す
開発チーム ユーザーに選択肢を残す 実は昔のステージングは まだまだ現役
開発チーム ホントは捨てたい
開発チーム でも,使っているユーザーがいる
開発チーム 共有ステージングの方が 開発速度が速い人がいる
開発チーム 多様性
開発チーム ステージング API ローカル 全力で シェアは奪いに行く ステージング API ローカル ステージング
API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル ステージング API ローカル
開発チーム この作業で学んだこと
開発チーム 他人のワークフローを 無理やり変えない
開発チーム だって嫌だもん
開発チーム 無限ステージング利用を 強制することもできた
開発チーム 使われない理由が わかっているか?
開発チーム 使われるようになる努力を 怠ってるんじゃないか?
開発チーム 常に自分に 問いかけよう
開発チーム まとめ
開発チーム インフラは あくまで裏方
開発チーム 開発者の気持ちになって サポートに徹する!
開発チーム (個人的意見です)
おしまい