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
100
サーバーレス開発を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
Scala 3 で GLSL のための c-like-for を実装してみた
exoego
1
130
Bun に LCOV 出力を実装した
exoego
2
160
terraform-provider-aws にプルリクして マージされるまで
exoego
2
380
ライブラリをパブリッシュせずにすばやく試す
exoego
2
260
esbuild 最適化芸人
exoego
3
1.9k
いい感じに AWS を組み合わせたビルディングブロックでアプリ開発を支援する / TdTechTalk 2022 11
exoego
0
670
Empowering App Dev by Nicely-Crafted High-Level AWS Components
exoego
0
61
月間数十億リクエストのマイクロサービスを支える JVM+AWS フルサーバーレス開発事例 / Now and Future of Fully Serverless development at Chatwork
exoego
1
720
Scala と AWS でフルサーバーレス開発事例 / How Chatworks uses Scala and Serverless
exoego
3
1.4k
Other Decks in Programming
See All in Programming
もう一人で悩まない! 個の知見をチームの知見にする3つの習慣と工夫 / Into team knowledge.
honyanya
3
430
AWS Step Functions は CDK で書こう!
konokenj
5
970
Functional APIから再考するLangGraphを使う理由
os1ma
4
550
CIBMTR振り返り+敗北から学ぶコンペの取り組み方反省
takanao
1
390
はじめてのIssueOps - GitHub Actionsで実現するコメント駆動オペレーション
tmknom
7
2k
DevNexus - Create AI Infused Java Apps with LangChain4j
kdubois
0
160
もっと大きなデータを送りませんか? エラーがゴロゴロ出るようなデータです
sublimer
0
140
CSC486 Lecture 14
javiergs
PRO
0
100
RailsでCQRS/ESをやってみたきづき
suzukimar
2
1.2k
Generative AI for Beginners .NETの紹介
tomokusaba
1
220
オレを救った Cline を紹介する
codehex
16
15k
requirements with math
moony
0
410
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
Code Reviewing Like a Champion
maltzj
521
39k
Practical Orchestrator
shlominoach
186
10k
A better future with KSS
kneath
238
17k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
11
1.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Site-Speed That Sticks
csswizardry
4
430
Music & Morning Musume
bryan
46
6.4k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
It's Worth the Effort
3n
184
28k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
YesSQL, Process and Tooling at Scale
rocio
172
14k
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. 勉強会や仕事で実践し続ける