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
120
サーバーレス開発を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
760
Bun に LCOV 出力を実装した
exoego
2
280
terraform-provider-aws にプルリクして マージされるまで
exoego
2
460
ライブラリをパブリッシュせずにすばやく試す
exoego
2
310
esbuild 最適化芸人
exoego
3
2.3k
いい感じに AWS を組み合わせたビルディングブロックでアプリ開発を支援する / TdTechTalk 2022 11
exoego
0
820
Empowering App Dev by Nicely-Crafted High-Level AWS Components
exoego
0
86
月間数十億リクエストのマイクロサービスを支える JVM+AWS フルサーバーレス開発事例 / Now and Future of Fully Serverless development at Chatwork
exoego
1
790
Scala と AWS でフルサーバーレス開発事例 / How Chatworks uses Scala and Serverless
exoego
3
1.6k
Other Decks in Programming
See All in Programming
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
2
810
Go言語はstack overflowの夢を見るか?
logica0419
0
650
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
1.7k
ドメイン駆動設計のエッセンス
masuda220
PRO
15
6.3k
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
390
品質ワークショップをやってみた
nealle
0
650
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
400
Claude Agent SDK を使ってみよう
hyshu
0
1.4k
Temporal Knowledge Graphで作る! 時間変化するナレッジを扱うAI Agentの世界
po3rin
5
1k
Node-REDのノードの開発・活用事例とコミュニティとの関わり(Node-RED Con Nagoya 2025)
404background
0
100
Swift Concurrency 年表クイズ
omochi
3
150
KoogではじめるAIエージェント開発
hiroaki404
1
180
Featured
See All Featured
Become a Pro
speakerdeck
PRO
29
5.6k
Embracing the Ebb and Flow
colly
88
4.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Context Engineering - Making Every Token Count
addyosmani
8
320
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Docker and Python
trallard
46
3.6k
RailsConf 2023
tenderlove
30
1.3k
The Language of Interfaces
destraynor
162
25k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Navigating Team Friction
lara
190
15k
The World Runs on Bad Software
bkeepers
PRO
72
11k
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. 勉強会や仕事で実践し続ける