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
130
サーバーレス開発を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
ゆくKotlin くるRust
exoego
1
230
Scala 3 で GLSL のための c-like-for を実装してみた
exoego
1
940
Bun に LCOV 出力を実装した
exoego
2
330
terraform-provider-aws にプルリクして マージされるまで
exoego
2
490
ライブラリをパブリッシュせずにすばやく試す
exoego
2
330
esbuild 最適化芸人
exoego
3
2.6k
いい感じに AWS を組み合わせたビルディングブロックでアプリ開発を支援する / TdTechTalk 2022 11
exoego
0
880
Empowering App Dev by Nicely-Crafted High-Level AWS Components
exoego
0
100
月間数十億リクエストのマイクロサービスを支える JVM+AWS フルサーバーレス開発事例 / Now and Future of Fully Serverless development at Chatwork
exoego
1
820
Other Decks in Programming
See All in Programming
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.4k
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
270
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
500
Oxlint JS plugins
kazupon
1
1.2k
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
200
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
130
NOT A HOTEL - 建築や人と融合し、自由を創り出すソフトウェア
not_a_hokuts
2
510
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
190
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
180
15年目のiOSアプリを1から作り直す技術
teakun
0
580
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
220
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
910
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
エンジニアに許された特別な時間の終わり
watany
106
240k
Writing Fast Ruby
sferik
630
62k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
100
Unsuck your backbone
ammeep
672
58k
Designing Experiences People Love
moore
143
24k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.7k
How STYLIGHT went responsive
nonsquared
100
6k
Designing Powerful Visuals for Engaging Learning
tmiket
0
250
Leo the Paperboy
mayatellez
4
1.5k
How to make the Groovebox
asonas
2
2k
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. 勉強会や仕事で実践し続ける