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 Serverless from ZERO over the past year
Search
TATSUNO Yasuhiro
August 28, 2018
Programming
0
74
サーバーレス開発を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
いい感じに AWS を組み合わせたビルディングブロックでアプリ開発を支援する / TdTechTalk 2022 11
exoego
0
430
Empowering App Dev by Nicely-Crafted High-Level AWS Components
exoego
0
17
月間数十億リクエストのマイクロサービスを支える JVM+AWS フルサーバーレス開発事例 / Now and Future of Fully Serverless development at Chatwork
exoego
1
560
Scala と AWS でフルサーバーレス開発事例 / How Chatworks uses Scala and Serverless
exoego
3
1.3k
忙しい Scala 開発者の超時間節約術 / Big Timesavers for Busy Scala Developers
exoego
1
980
TypeScript の便利な型変形を なんとかして Scala.js で使う / Emulating TypeScript Utility Types in ScalaJS
exoego
2
1.7k
Lintでレビューをラクにしよう/ Easing Code Review with Lint for TypeScript
exoego
3
460
AIのビジネス利用を加速する教師データ作成の戦略 / Annotation Strategy to accelerate using AI for business
exoego
0
1.2k
SageMaker Ground Truthはどう使うべきか/When to use SageMaker Ground Truth
exoego
0
340
Other Decks in Programming
See All in Programming
今の SmartHR にエンジニアで入社するとどうなるの?
daisukeshinoku
5
4.6k
チーム力を高めるスクラム実践法:カンバン公開と課題攻略について - ニフティのスクラムトーク Vol. 2 - NIFTY Tech Talk #18
niftycorp
PRO
1
110
Rails と人魚の話/rails-and-mermaid
sanfrecce_osaka
0
100
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
8
2.2k
ログラスを支える設計標準について / loglass-design-standards
urmot
10
2.1k
StreamlitとTerraformでデータカタログを作った話
gussan0223
0
300
コードレビューで学ぶ!Kotlinオブジェクト指向デザインパターン
akkie76
2
180
元気予報
suu_mire0726
0
850
Changed Rules: Architectures with Lightweight Stores
manfredsteyer
PRO
0
230
スクラムチームと認知負荷 - ニフティのスクラムトーク Vol2. / NIFTY Tech Talk #18
niftycorp
PRO
1
120
Elm 0.19.0 Changes
bkuhlmann
0
480
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
1.1k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
13
1.5k
Music & Morning Musume
bryan
41
5.6k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
Reflections from 52 weeks, 52 projects
jeffersonlam
344
19k
A Modern Web Designer's Workflow
chriscoyier
689
190k
We Have a Design System, Now What?
morganepeng
42
6.7k
Bash Introduction
62gerente
604
210k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
Facilitating Awesome Meetings
lara
41
5.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
KATA
mclloyd
14
12k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
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. 勉強会や仕事で実践し続ける