困難を「一般解」で解く
by
FUJIWARA Shunichiro
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
困難を「一般解」で解く 2025-03-05 技術参謀たちの戦略図 〜リーダーシップという選択肢と彼らが選んだ企業の魅力〜 藤原俊一郎 @fujiwara
Slide 2
Slide 2 text
自己紹介 @fujiwara (X, GitHub, Bluesky) さくらインターネット クラウド事業本部(2025/02〜) 面白法人カヤック(〜2025/01) ISUCON 優勝4回 / 運営(出題)4回 github.com/kayac/ecspresso github.com/fujiwara/lambroll
Slide 3
Slide 3 text
Staff Engineerの4類型 Tech Lead チームを導く Architect 設計で方向性を示す Solver 困難な問題を解決する Right hand 経営陣と技術陣をつなぐ
Slide 4
Slide 4 text
Staff Engineerの4類型 Tech Lead Architect Solver Right hand 自分はどれか強いていえば、Solver (もちろん全員被る領域はある)
Slide 5
Slide 5 text
Solver = 困難な問題を解決する、火消し 困難な問題とは例えば… パフォーマンスチューニング 障害対応 セキュリティインシデント対応 コンポーネントの適切な使い方をする これが実は意外と難しい 運用における諸問題 (ログ、監視、アラート、デプロイ、etc) エンジニアリングや運用における困難 = 要因が単純ではない、複合的
Slide 6
Slide 6 text
やってきたこと 現場で出会った困難な問題を解決する 単にその場で解決するだけではなく、レバレッジの効く形で解決するのがベター レバレッジの効く形とは… そのプロジェクト/プロダクトに閉じていない解決法を見つける それを実装 / 導入 / 啓蒙する → 他のプロジェクト/プロダクトにも効く(みんなうれしい)
Slide 7
Slide 7 text
実例1: ログをAmazon Redshiftに取り込む 2015年ごろ fluent-plugin-redshift を使っていて運用が辛かった (最初に入れた Lobi というプロダクトで自分が…) fujiwara/Rin ( 26) で置き換え → 他のタイトルやログ基盤にも導入
Slide 8
Slide 8 text
実例2: オートスケール環境でのスケーラブルなデプロイ 2014年ごろ (Lobiで) EC2でオートスケールがしたかったが、rsyncベースのデプロイでは困難 fujiwara/stretcher ( 249)を開発 → 他タイトルにも適用できた。コスト削減効果大
Slide 9
Slide 9 text
実例3: ECS / Lambda のデプロイ そろそろコンテナ/FaaSを本格導入したかった2017年ごろ Amazon ECS: そもそもデファクトなデプロイツールがなかった kayac/ecspresso ( 892)を開発 大変世間の皆様のお役に立っているようです AWS Lambda: apex/apex を使っていたが… 2019年にEoL → fujiwara/lambroll ( 385)を開発 ecspresso 同様の使い勝手になるように便利にしていった
Slide 10
Slide 10 text
ECS → Lambda でスケール速度改善+コスト削減 2024年 アクセスのスパイクが鋭い+予測困難なマイクロサービス ECS ではオートスケールが追いつかない fujiwara/ridge ( 63) を使って Lambda に置き換え アプリのコードは変更なし スパイク耐性が大幅にアップ(突然10倍きても平気) コストも大幅に削減 デプロイフローの変更は最小限 ecspresso / lambroll が同じ思想で作られているので 同じように使える
Slide 11
Slide 11 text
Staff Engineer の役割 広い範囲に技術で影響力を及ぼせるのが Staff Engineer Solver = 困難な問題がある現場でその問題を解く 可能であれば 「一般解で解く」 ある現場で解いた問題は、他でも簡単に解けるようになる 解法が OSS なら社内だけではなく、世間でも解けるようになる ジュニアエンジニア = 自分の困難を解決できる シニアエンジニア = チームの困難を解決できる Staff Engineer = 会社/業界の困難を解決できる
Slide 12
Slide 12 text
「最強のSREイネイブラー」by Songmu https://junkyard.song.mu/slides/fujiwara-tech-conference/#27