https://jawsug-nagoya.doorkeeper.jp/events/76573 2018-08-28 JAWS-UGナイト in AWSome Day 名古屋 での発表です。
サーバーレス開発を1年で完全にマスターする学び方TATSUNO Yasuhiro 2018/8/26JAWS-UGナイト in AWSome Day 名古屋
View Slide
1. 最近採用が広まる、サーバーレスアーキテクチャの超概要2. 私がサーバーレスをゼロからどう学んだ・学んでいるか本日のお話
2010~ ユーザ系SIer 業務用Webアプリ開発運用2016~2017~ プロダクトマネージャー私所属: JAWS UG, Java UG, Frontend UGなど好きなAWS: Lambda, CloudFront職歴私の担当プロダクトを事例に紹介
機械学習向け教師データ作成ツール高品質な教師データを大人数で効率よく作り込めるノウハウ満載2018年3月一般公開、50以上の企業/大学で利用AnnoFab基本利用¥0annofab.com
1. 数千人が日々長時間利用するB2Bアプリ。ビルトインのスケールアウトが不可欠2. 中小企業なので固定費はできるだけ抑制3. 製品開発に注力できるように、インフラはクラウドに任せたい開発テーマサーバーレスアーキテクチャに挑戦
プログラム実行環境サーバーレスとは私の理解Lambdaイベント駆動アプリデータベース/ストレージ必要なとき必要なだけ性能・量を用意できる使った時間だけ課金されるBatchバッチコンピューティングAurora ServerlessオンデマンドでスケールするRDBAppSyncリアルタイムデータアプリ向け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. Lambda2. API Gateway3. Batch4. StepFunction5. DynamoDB Stream6. CloudFront7. SQS8. 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. 勉強会や仕事で実践し続ける