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
岩﨑LT資料
Search
anycarry
November 11, 2022
Programming
510
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
岩﨑LT資料
anycarry
November 11, 2022
More Decks by anycarry
See All by anycarry
About us
anycarry
0
11k
saiyo
anycarry
0
8.5k
堀内LT資料
anycarry
0
550
Other Decks in Programming
See All in Programming
Security issues being discussed on Web Platforms
petamoriken
0
740
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
6.1k
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
1.1k
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
450
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
650
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
200
App Intentsのビルドプロセスを支える技術
kntkymt
0
250
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
230
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
170
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
110
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
Featured
See All Featured
Leo the Paperboy
mayatellez
9
2.3k
The Invisible Side of Design
smashingmag
301
52k
Building the Perfect Custom Keyboard
takai
2
870
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Un-Boring Meetings
codingconduct
0
410
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Chasing Engaging Ingredients in Design
codingconduct
0
310
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Transcript
serverlessアーキテクチャをキャッチアップすることは 成⻑につながる? 株式会社 エニキャリ 開発統括 岩崎⼤輔
⾃⼰紹介 2004年4⽉ 株式会社ワークスアプリケーションズ⼊社 ・⼤企業向け基幹業務パッケージの⼈事給与部⾨の新規機能要件定義および開発 ・ECサイトパッケージの新規機能要件定義およびECサイトの運⽤ -> ⼩規模チーム(8⼈)のエンジニアリーダーとして活動 2016年2⽉ WEB系フリーランスエンジニアとして活動 ・事業会社の、ビジネス検証⽤のプロダクト⽴ち上げをメインに活動
2019年10⽉ 株式会社エニキャリにテックリードとして参加 ・エニキャリのシステム基盤、プロダクトの⽴ち上げ、実装運⽤を担当 ・開発チームビルディング、採⽤ 2020年8⽉ 株式会社エニキャリ開発統括執⾏役員
構成 ▪前半 タイプごとに分かれるソフトウェアエンジニア。リーダーになるため共通して⾝ につけたい視点。 ▪後半 エニキャリ事例としてserverlessアーキテクチャで プロダクトの実装&運⽤してみた。 Serverlessプロダクトをキャッチアップすることは、成⻑につながるか。
▪ 特定分野コミットタイプ(研究者) ・その分野においての成果を出すことがミッション ・スキルツリーが独⽴している技能 (ex 機械学習、AI、セキュリティ、ネットワーク) ▪ プロダクト・プロジェクトコミットタイプ(実務家) ・⾃社プロダクト開発 /
SIプロジェクト等、 プロジェクト単位を成功させることがミッション ・full stack/ backend/ frontend engineer (プロダクトのための広範囲知識) ・TechLead / CTO タイプごとに分かれる、ソフトウェアエンジニアとしての強くしたい分野
タイプごとに分かれる、ソフトウェアエンジニアとしての強くしたい分野 ▪ 特定分野コミットタイプ(研究者) ・専⾨分野の深化 → 正直… 後半戦はミスマッチかも… ▪ プロダクト・プロジェクト コミットタイプ(実務家)
・ソフトウェア関連分野での継続的な学習 → 後半戦、serverless分野について知⾒を共有 両タイプ共に、リーダーになるためには、チームの動きの視点が必要。 結局はチームの中で⾃分の対⼈コミュニケーションにどれくらい戦略的になれるか。
タイプごとに分かれる、ソフトウェアエンジニアとしての強くしたい分野 ▪ おすすめ図書 (PPHMFͷιϑτΣΞΤϯδχΞϦϯά ʕ࣋ଓՄೳͳϓϩάϥϛϯάΛࢧ͑Δٕज़ɺจԽɺϓϩηε チームに関連するのは、第2章から第6章 特に、視点を逆転して読んでみるといいかも。 リーダーになるためではなくて、今の開発チームリーダーは何を考え ているかを逆算するためのツールとして。 ・上司としてチームリーダーは何を考えてマネジメントしているのか。
・彼らの考える理想的な状態を理解し、その実現を助けているメン バーに⾃分はなっているか。 ・彼らの決断はチームにとって、いい決断なのか悪いのか。何でそう なったのか、⾃分だったらどうするか。 敵に勝つには、敵を知るべし。
後半戦 エニキャリ事例としてserverlessアーキテクチャで プロダクトの実装&運⽤してみた。 Serverlessプロダクトをキャッチアップすることは、成⻑に つながるか。
serverlessアーキテクチャでプロダクトの実装&運⽤してみた。 -> 2019年10⽉ 株式会社エニキャリにテックリードとして参加 ・ミッション!! UberEatsみたいなプロダクト全般( 配達員アプリ・店舗アプリ・オペ レータ⽤サービス)をなる早で使える様にしたい。 もちろん、セキュリティなどは疎かにせず、将来的な規模拡⼤にも対応し たい。
創業直後ゆえ、開発メンバーはごく少数(私含め2名) なんとかやってみるしかない…
serverlessアーキテクチャでプロダクトの実装&運⽤してみた。 ▪半年ぐらいで何とかなりました。 店舗⽤タブレットアプリ 配達員アプリ ADMS(エニキャリデリバリーマネジメントシステム)
serverlessアーキテクチャでプロダクトの実装&運⽤してみた。 ▪何とかするには。 → ⾝を軽くしかない。(=作る範囲・責任範囲を限定する) ・インターネットのAPIは AWS API-Gateway ・RDSは Aurora RDS
・サーバーバックエンドはlambda/TypeScript ・WEBサービス周りは AWS ECS /Rails ・モバイルアプリのバックエンドはFirebase ほとんどで、エニキャリ側でサーバーを持たない。 インフラ構築とサーバ運⽤の負荷は、AWS/GCP側に委任する。 セキュリティは境界部分を考えれば良い。
serverlessアーキテクチャでプロダクトの実装&運⽤してみた。
serverlessアーキテクチャでプロダクトの実装&運⽤してみた。 ▪ 外部からのデリバリー依頼のAPI呼び出し例 時間がかかる処理は AWSのメッセージ キューサービスに格納 Lambdaによって、イベント発⾏し (配達依頼作成完了した時等) そのイベントに対応する別lambdaが 実⾏されたりする
serverlessアーキテクチャでプロダクトの実装&運⽤してみた。 ▪ 外部からのデリバリー依頼のAPI呼び出し例 ・ API の呼び出し数がいきなり2倍になっても ・ lambdaの起動数が増えるだけ。
serverlessアーキテクチャでプロダクトの実装&運⽤してみた。 メリット デメリット ・スパイク時のリソース調整も容易。 ・インスタンスやコードが起動毎にリフレッシュさ れる。 ・動いているプログラムのトラブルが⾮常に少な くなる。 ・コード改変のリスクが少なくなる ・バッチ適⽤等の運⽤メンテナンスの⼿間を少なく
する事ができる。 ・ほとんど従量課⾦なので安価。 ・プロダクト⽴ち上げの実装期間が⾮常に短くでき る。 ・lambdaなどのデプロイには、特殊なデプロイプ ロセスが必要。 (AWS サーバーレスアプリケーションモデル (SAM、 Serverless Application Model) ツールを使ってデプ ロイ) ・⼀連の業務フローのテストで、AWS環境が必要 になりテストしにくい。 ・機能開発の前提知識に、AWSのserverlessサービ スの基礎知識(インフラ初級レベル)が必要になる。 ・AWS障害時、再開までは祈るだけ。 ▪サーバーレスをメインで利⽤する事のメリット・デメリット 運⽤メンテナンスの楽さ vs 開発体制の構築の⼿間
serverlessアーキテクチャでプロダクトの実装&運⽤してみた。 ▪まとめ ・For full stack/ backend/ frontend engineer 今後のプロダクトのシステム基盤の⼀部から全部が serverlessと呼ばられる仕組みを利⽤する様になる。
・For TechLead / CTO 志望 新プロダクトの⽴ち上げの実装スピードや、運⽤⾯で省コスト体質になるメリッ トを⼤きい。
serverlessアーキテクチャでプロダクトの実装&運⽤してみた。 ▪まとめ ぜひ、シンプルなWEBサービス(例:twitterもどき)をserverlessの仕組みで作っ てみることをおすすめします。 serverlessアーキテクチャを構築するには、ネットワーク・セキュリティ周りの全般 知識は必要ですが、専⾨家レベルまでは要求されない AWSの参考資料でキャッチアップは可能。