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
新人研修でサーバレスな蔵書管理システムを作った話
Search
Misso
July 14, 2016
Technology
0
3.6k
新人研修でサーバレスな蔵書管理システムを作った話
JAWS-UG アーキテクチャ専門支部 クラウドネイティブ分科会 CDP議論会 #10 LT発表資料
Misso
July 14, 2016
Tweet
Share
Other Decks in Technology
See All in Technology
いまからでも遅くない!SSL/TLS証明書超入門(It's not too late to start! SSL/TLS Certificates: The Absolute Beginner's Guide)
norimuraz
0
260
「改善」ってこれでいいんだっけ?
ukigmo_hiro
0
320
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.8k
dbtとBigQuery MLで実現する リクルートの営業支援基盤のモデル開発と保守運用
recruitengineers
PRO
3
100
React19.2のuseEffectEventを追う
maguroalternative
1
420
AWS Top Engineer、浮いてませんか? / As an AWS Top Engineer, Are You Out of Place?
yuj1osm
2
220
ガバメントクラウド(AWS)へのデータ移行戦略の立て方【虎の巻】 / 20251011 Mitsutosi Matsuo
shift_evolve
PRO
2
200
大規模サーバーレスAPIの堅牢性・信頼性設計 〜AWSのベストプラクティスから始まる現実的制約との向き合い方〜
maimyyym
10
4.9k
「れきちず」のこれまでとこれから - 誰にでもわかりやすい歴史地図を目指して / FOSS4G 2025 Japan
hjmkth
1
310
Node.js 2025: What's new and what's next
ruyadorno
0
390
衛星画像超解像化によって実現する2D, 3D空間情報の即時生成と“AI as a Service”/ Real-time generation spatial data enabled_by satellite image super-resolution
lehupa
0
170
Digitization部 紹介資料
sansan33
PRO
1
5.6k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
A Modern Web Designer's Workflow
chriscoyier
697
190k
The Cult of Friendly URLs
andyhume
79
6.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Gamification - CAS2011
davidbonilla
81
5.5k
Automating Front-end Workflow
addyosmani
1371
200k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
460
Transcript
Copyright © 2016. All rights reserved. Copyright © 2016 All
rights reserved. ৽ਓݚमͰ αʔόϨεͳ ଂॻཧγεςϜΛ ࡞ͬͨ 2016/07/14 ハンズラボ株式会社美代 苑生 JAWS-UG アーキテクチャ専門支部 クラウドネイティブ分科会 CDP議論 #10 LT資料
Copyright © 2016 All rights reserved. 1 自己紹介 n美代 苑生
l ハンズラボ 株式会社 l 2016年4月 入社 - 試用期間終わり l イノベーショングループ l 基幹システム
Copyright © 2016 All rights reserved. 2 新卒研修 n新卒入社 4名
n技術研修 (4月 – 6月) l どのようにコンピュータは動いているのか? - 座学 l どうやってコンピュータを動かすのか? - Python演習 l どうやってソフトウェアを作っていくのか? - 仮想プロジェクト 新卒研修の詳細は弊社エンジニアブログの記事へ: https://www.hands-lab.com/tech/entry/1531.html
Copyright © 2016 All rights reserved. 3 新卒研修 n新卒入社 4名
n技術研修 (4月 – 6月) l どのようにコンピュータは動いているのか? - 座学 l どうやってコンピュータを動かすのか? - Python演習 l どうやってソフトウェアを作っていくのか? - 仮想プロジェクト 新卒研修の詳細は弊社エンジニアブログの記事へ: https://www.hands-lab.com/tech/entry/1531.html
Copyright © 2016 All rights reserved. 4 仮想プロジェクト n社内の蔵書を管理するシステムを作る l
本を登録する, 削除する l 本を借りる, 返す l 一覧を見る nシステム開発 (1.5ヶ月) l フロントエンド: モバイルアプリ, Webアプリ l バックエンド: AWSのサービスを使ったサーバレス アーキテクチャ
Copyright © 2016 All rights reserved. 5 仮想プロジェクト n社内の蔵書を管理するシステムを作る l
本を登録する, 削除する l 本を借りる, 返す l 一覧を見る nシステム開発 (1.5ヶ月) l フロントエンド: モバイルアプリ, Webアプリ l バックエンド: AWSのサービスを使ったサーバレス アーキテクチャ
Copyright © 2016 All rights reserved. 6 なぜサーバレスアーキテクチャか? n本の登録, 貸し借りがある時に動けばいい
l イベント駆動 l RESTful API n2人, 1.5ヶ月で作る (学習コスト, 時間的制約) l ロジックの実装に集中できる l API, ユーザ管理を実装しなくてよい nせっかく作るならサーバレスでやってみよう! (技術的挑戦)
Copyright © 2016 All rights reserved. 7 蔵書管理システムの構成 AWS リージョン:
ap-northeast-1 AWS リージョン: us-east-1 クライアント API Gateway Lambda Cognito User Pools Lambda DynamoDB Slack API カスタム 認証 ログイン・ トークン取得 トークン付きで API アクセス ユーザへ 通知 認証許可 トークンが 有効?
Copyright © 2016 All rights reserved. 8 APIの設計 /v3 バージョン
/books 本の集合 /{ISBN} 特定の本 /borrowers この本を借りている人の一覧 /reservers この本を予約している人の一覧 [GET] 本を検索して一覧を取得 [GET], [POST] 本を追加, [PUT] 本の情報を修正, [DELETE] 本を削除 [GET], [POST] 本を借りる, [DELETE] 本を返す [GET], [POST] 予約する, [DELETE] 予約を削除する /users ユーザの集合 /{Username} 特定のユーザ [GET] ユーザの貸出履歴を取得する [GET] Slackユーザ名が存在するか判定する /ranking 本のランキング [GET] 本のランキングを取得する
Copyright © 2016 All rights reserved. 9 API 仕様 (Swagger)
Copyright © 2016 All rights reserved. 10 APIのテスト (Postman)
Copyright © 2016 All rights reserved. 11 どうだったか? n必要になった知識や技術 l
設計: HTTP, REST API, KVS, OAth 2.0 l 実装: Python, JavaScript, CORS n大変だったところ l 認証失敗時のレスポンスがCORS対応してない l 手作業でテスト (コピペ,API実行,結果をコピペの繰返し) l 手作業で本番環境へ移行 (Swagger YAMLで定義してたが, インポートする時にエラーになった) nAWS利用料 l 本番環境で 約$4.0/月 (ユーザ数:22, 蔵書数: 120)
Copyright © 2016 All rights reserved. 12 まとめ n新卒研修でサーバレスな蔵書管理システムを作成 l
Cognito User Pools l API Gateway l Lambda l DynamoDB 新卒でもサーバレスなシステムを 構築できる!!