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
サーバーレス開発を1年で完全にマスターする学び方/How I mastered Serverl...
Search
TATSUNO Yasuhiro
August 28, 2018
Programming
0
84
サーバーレス開発を1年で完全にマスターする学び方/How I mastered Serverless from ZERO over the past year
https://jawsug-nagoya.doorkeeper.jp/events/76573
2018-08-28 JAWS-UGナイト in AWSome Day 名古屋
での発表です。
TATSUNO Yasuhiro
August 28, 2018
Tweet
Share
More Decks by TATSUNO Yasuhiro
See All by TATSUNO Yasuhiro
Bun に LCOV 出力を実装した
exoego
2
82
terraform-provider-aws にプルリクして マージされるまで
exoego
2
330
ライブラリをパブリッシュせずにすばやく試す
exoego
2
200
esbuild 最適化芸人
exoego
3
1.6k
いい感じに AWS を組み合わせたビルディングブロックでアプリ開発を支援する / TdTechTalk 2022 11
exoego
0
580
Empowering App Dev by Nicely-Crafted High-Level AWS Components
exoego
0
33
月間数十億リクエストのマイクロサービスを支える JVM+AWS フルサーバーレス開発事例 / Now and Future of Fully Serverless development at Chatwork
exoego
1
670
Scala と AWS でフルサーバーレス開発事例 / How Chatworks uses Scala and Serverless
exoego
3
1.4k
忙しい Scala 開発者の超時間節約術 / Big Timesavers for Busy Scala Developers
exoego
1
1.1k
Other Decks in Programming
See All in Programming
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.1k
cmp.Or に感動した
otakakot
2
140
Amazon Qを使ってIaCを触ろう!
maruto
0
400
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
170
初めてDefinitelyTypedにPRを出した話
syumai
0
400
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
100
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
Jakarta Concurrencyによる並行処理プログラミングの始め方 (JJUG CCC 2024 Fall)
tnagao7
1
290
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
2
660
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
334
57k
Facilitating Awesome Meetings
lara
50
6.1k
Docker and Python
trallard
40
3.1k
Documentation Writing (for coders)
carmenintech
65
4.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Teambox: Starting and Learning
jrom
133
8.8k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Making Projects Easy
brettharned
115
5.9k
Transcript
サーバーレス開発を1年で 完全にマスターする学び方 TATSUNO Yasuhiro 2018/8/26 JAWS-UGナイト in AWSome Day 名古屋
1. 最近採用が広まる、 サーバーレスアーキテクチャ の超概要 2. 私がサーバーレスをゼロから どう学んだ・学んでいるか 本日のお話
2010~ ユーザ系SIer 業務用Webアプリ開発運用 2016~ 2017~ プロダクトマネージャー 私 所属: JAWS UG,
Java UG, Frontend UGなど 好きなAWS: Lambda, CloudFront 職歴 私の担当プロダクトを事例に紹介
機械学習向け教師データ作成ツール 高品質な教師データを大人数で効率 よく作り込めるノウハウ満載 2018年3月一般公開、50以上の企業 /大学で利用 AnnoFab 基本利用 ¥0 annofab.com
1. 数千人が日々長時間利用するB2Bアプリ。 ビルトインのスケールアウトが不可欠 2. 中小企業なので固定費はできるだけ抑制 3. 製品開発に注力できるように、インフラ はクラウドに任せたい 開発テーマ サーバーレスアーキテクチャに挑戦
プログラム実行環境 サーバーレスとは 私の理解 Lambda イベント駆動アプリ データベース/ストレージ 必要なとき必要なだけ 性能・量を用意できる 使った時間だけ 課金される
Batch バッチコンピューティング Aurora Serverless オンデマンドでスケールするRDB AppSync リアルタイムデータアプリ向けBaaS 東京リージョン 2015年6月 東京リージョン 2017年6月 東京リージョン 2018年4月 東京リージョン 2018年8月 Fargate サーバーレスコンテナオーケストレーション 東京リージョン 2018年7月 常時起動するサーバー「レス」 使ってないときはコスト「レス」
1. チームメンバー全員サーバーレス未経験 EC2/DynamoDB/S3を触った程度 2. 私:前職はインフラは別部署任せ 3. 技術検証2週間、開発期間2ヶ月 2017、私とサーバーレスの出会い ゼロからのサーバーレス 課題が多数
• Lambdaの5分制限をこえる処理は? • 「サーバー」ないけどドメインどうやって 割り当てる? • どうやってデプロイ? 課題① 何をどう使えばいいか分からん ブログ見たり勉強会参加して
コミュニティの先駆者から学ぶ 当時情報が多かったServerless Frameworkを採用。 今はAWS公式のSAMあり。Serverlessはプラグインに優位 複数オリジン(S3やAPI Gateway)をCloudFrontで たばね、CloudFrontにドメインを割り当て BatchとかStepFunctionでがんば
1. Lambda 2. API Gateway 3. Batch 4. StepFunction 5.
DynamoDB Stream 6. CloudFront 7. SQS 8. SNS… 課題② 初めて使うAWS多すぎ チームで手分けしてノウハウ確立→共有。 開発イテレーションごとに担当変えて多能工化
1. 公式ドキュメントをあたる 2. AWSサポートに聞く 3. 技術検証 課題③ やりたいことが新しすぎ or マイナーすぎて世間に情報がない
公式情報が一番正確 分からないことはTry&Error
RDBではなくKVS(DynamoDB) KVSに最適なスキーマ設計って? 複雑なクエリは遅い、トランザクションない 課題④ 慣れ親しんだ開発手法が通じない 分かるところから始めて改善。 作り直しも辞さない 8月に東京でもリリースされた Aurora Serverless使えば…!
まずはRDB風に設計。 あとから改善 頼らないようにアプリ自体を設計
1. AWSのSNSアカウントをフォロー 2. AWSについて書いてるブログを購読 3. 勉強会に出て学ぶ 4. AWSを使える仕事をする 課題⑤ 変化が激しい
勉強し続ける、実践する ホットで新しい分野なのでどんどんAWSが改善される
まとめ:私の学び方 1. 先駆者のブログやスライドから学ぶ 2. チームで手分けして学ぶ 3. 調べものはまず公式情報にあたる 4. 分からないことは検証する 5.
小さく始めて改善し、作り直しも辞さない 6. 勉強会や仕事で実践し続ける