SlideShare une entreprise Scribd logo
1  sur  44
俺とサーバレスアーキテクチャ
AWS Cognito + AWS API Gateway 編
2016-11-25 JAWS-UG金沢 第16会勉強会
ふぁらお加藤
Profile
Name
ふぁらお加藤 / @PharaohKJ
Hobby
Camera / subculture
Job & Works
PhalanXware (Freelancer)
OCR system com / .NET
ISDB-T MFC / Linux C++
Social Game PHP / Java
ERP+CRM AngularJS / Cordova
Information App AngularJS / CakePHP
Factory Automation .NET
ゴール
• みんな大好き REST API をサーバレスで作ることがで
きる
• 加えて、iOS / Android でそのRESTを叩くSDKまで作
ってくれる!
• らを学びサーバレスでREST API 作りたくなる
• そしてサーバレスでウェブアプリも作りたくなる
サーバレス とは
ここでは ミドルウェアレイヤーより以下のメン
テナンスが不要なサービスと定義する
かつ、充分に安い、お金でスケールする。
そもそもの話を考えて欲しい
ウェブアプリ作りたいなーってときにサーバーは
「しょうがなく」借りている
まぁしょうがないサーバ借りるレンタル料金払う
にしてもなんで使ってない時もレンタルしてるこ
とになってんの?
ユーザーがアクセスのあったときだけ
サーバ貸してくれよ
そんな「本来の要求」の大権現が
サーバーレス アーキテクチャ
さて本題
REST API 作ってますか?
リソースをURLにマップし
GET PUT POST DELETE
でリクエストされ、レスポンスをかえす
例
GET /pets
ペット一覧取得
POST /pets
ペットを追加
PUT /pets/1
ペットID1を更新
DELETE /pets/1
ID1のペットを削除(かなしい)
この REST API のインタフェイス定義専用
のツール swagger をご存知ですか?
swagger
API 定義を YAML や JSON でかける
(YAMLのほうが人類に読めるよね)
とにかく、エディタもあるので、これでまずは
インタフェイスだけを定義する
さて、定義したらこれを動かすところが
ほしい・・・
API Gateway
Amazon API Gateway is
ウェブアプリ、リソース API 作成口にできる
サービス
こいつにさっきの定義をインポートして
やることができる
つまり、特にウェブアプリをインターネットに
サーバ借りて置かなくてもエンドポイントを
作ることができる!
エンドポイントはわかった実装はどうするの!?
ただのリバースプロキシでサーバいるじゃん!?
lambda
Lambda is
コード実行サービス、AWS上で発生するいろんな
イベントをトリガーにコードを実行できる
node.js や Java が使える
AWS SDKも使える
つまり、AWSの各種サービスを叩ける!
なんでもできる!
なんでもされたら困る・・・認証がいる
Cognito
Cognito is
ユーザーサインイン・サインアップ・
データ保存場所提供サービス
これでログイン(Facebookやらtwitterも対応)して
くれればその認証情報を API Gateway までもっ
ていける
インターフェイス・実装はわかった
あとはこの URL をモバイルデバイスから叩くだ
けだよね
そのだけがめんどくさいなー。
なんとアクセス用各種SDKを自動で
生成してくれます!
SDKの生成
JavaScript SDK petsGetRequest がみえる
まとめ
• swagger 型式で REST API を定義し、それを API
Gateway に流し込める。
• API Gateway へは Cognito で認証つきアクセスを提供
でき、その先で AWS サービスをなんでも使える。
• API Gateway に流し込んだインタフェイスを叩くSDK
を生成してもらえた。
• これでサーバなしでウェブアプリ作れるぞ!
ご清聴ありがとうございました

Contenu connexe

Tendances

Tendances (19)

Jawsug chiba API Gateway
Jawsug chiba API GatewayJawsug chiba API Gateway
Jawsug chiba API Gateway
 
Serverless Anti-Patterns
Serverless Anti-PatternsServerless Anti-Patterns
Serverless Anti-Patterns
 
Serverless Ninja Warriors [panel]
Serverless Ninja Warriors [panel]Serverless Ninja Warriors [panel]
Serverless Ninja Warriors [panel]
 
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevcServerless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
 
Tune Up AWS Lambda
Tune Up AWS LambdaTune Up AWS Lambda
Tune Up AWS Lambda
 
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことAWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
AWSで実現するクラウドネイティブなアプリ開発のポイント
AWSで実現するクラウドネイティブなアプリ開発のポイントAWSで実現するクラウドネイティブなアプリ開発のポイント
AWSで実現するクラウドネイティブなアプリ開発のポイント
 
Alibaba Cloud Serverless
Alibaba Cloud ServerlessAlibaba Cloud Serverless
Alibaba Cloud Serverless
 
Introducing Serverless Computing (20160802)
Introducing Serverless Computing (20160802)Introducing Serverless Computing (20160802)
Introducing Serverless Computing (20160802)
 
Morning Session - AWS Serverless Ways
Morning Session - AWS Serverless WaysMorning Session - AWS Serverless Ways
Morning Session - AWS Serverless Ways
 
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
 
What's new with Serverless
What's new with ServerlessWhat's new with Serverless
What's new with Serverless
 
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance EnvironmentJAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
 
俺のLambda
俺のLambda俺のLambda
俺のLambda
 
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
 
失敗から学ぶAWSの監視
失敗から学ぶAWSの監視失敗から学ぶAWSの監視
失敗から学ぶAWSの監視
 
VRディープ座談会 introduction ojima
VRディープ座談会 introduction ojimaVRディープ座談会 introduction ojima
VRディープ座談会 introduction ojima
 
Androidを中心に紐解くIoT
Androidを中心に紐解くIoTAndroidを中心に紐解くIoT
Androidを中心に紐解くIoT
 

Similaire à 俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編

#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
Kazuya Sugimoto
 

Similaire à 俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編 (20)

俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編
 
楽ちんユーザー認証付Spa
楽ちんユーザー認証付Spa楽ちんユーザー認証付Spa
楽ちんユーザー認証付Spa
 
Serverless for VUI
Serverless for VUIServerless for VUI
Serverless for VUI
 
オレ流クラウドデザイン
オレ流クラウドデザインオレ流クラウドデザイン
オレ流クラウドデザイン
 
AWS lamdbaでステートフルWebアプリ
AWS lamdbaでステートフルWebアプリAWS lamdbaでステートフルWebアプリ
AWS lamdbaでステートフルWebアプリ
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流についてAzureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について
 
Using Windows Azure
Using Windows AzureUsing Windows Azure
Using Windows Azure
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
 
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
 
AWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンドAWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンド
 
AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
 
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
 
APAC Community Summit DevOps Breakout 部屋.pptx
APAC Community Summit DevOps Breakout 部屋.pptxAPAC Community Summit DevOps Breakout 部屋.pptx
APAC Community Summit DevOps Breakout 部屋.pptx
 
Wem #14
Wem #14Wem #14
Wem #14
 
エンジニアのための勉強会 #4 『Serverless』
エンジニアのための勉強会 #4 『Serverless』エンジニアのための勉強会 #4 『Serverless』
エンジニアのための勉強会 #4 『Serverless』
 
What is Serverless?
What is Serverless?What is Serverless?
What is Serverless?
 
Talk: serverless-express
Talk: serverless-expressTalk: serverless-express
Talk: serverless-express
 

Plus de Masayuki KaToH

Plus de Masayuki KaToH (20)

LINE × AWSの可能性や事例について語り合う夕べ
LINE × AWSの可能性や事例について語り合う夕べLINE × AWSの可能性や事例について語り合う夕べ
LINE × AWSの可能性や事例について語り合う夕べ
 
俺と Active Storage + CloudFront
俺と Active Storage + CloudFront俺と Active Storage + CloudFront
俺と Active Storage + CloudFront
 
俺とオープンデータ
俺とオープンデータ俺とオープンデータ
俺とオープンデータ
 
Capacitor
CapacitorCapacitor
Capacitor
 
俺と最近のクラウドAI系サービス
俺と最近のクラウドAI系サービス俺と最近のクラウドAI系サービス
俺と最近のクラウドAI系サービス
 
俺と超高速リアルタイム検索APIをたぶん支えているAWS
俺と超高速リアルタイム検索APIをたぶん支えているAWS俺と超高速リアルタイム検索APIをたぶん支えているAWS
俺と超高速リアルタイム検索APIをたぶん支えているAWS
 
俺と AWS Summit 2019 振り返り
俺と AWS Summit 2019 振り返り俺と AWS Summit 2019 振り返り
俺と AWS Summit 2019 振り返り
 
俺と ha4go と Civic Tech Application & Open Data Catalog
俺と ha4go と Civic Tech Application & Open Data Catalog俺と ha4go と Civic Tech Application & Open Data Catalog
俺と ha4go と Civic Tech Application & Open Data Catalog
 
俺 と JAWS DAYS 2019
俺 と JAWS DAYS 2019俺 と JAWS DAYS 2019
俺 と JAWS DAYS 2019
 
俺と otoya
俺と otoya俺と otoya
俺と otoya
 
俺とPrivate Forkと炭の選び方とC++からRubyへのブレイクスルーとポモドーロテクニックとコミュニティ貢献と浪人アカウントと糖尿病
俺とPrivate Forkと炭の選び方とC++からRubyへのブレイクスルーとポモドーロテクニックとコミュニティ貢献と浪人アカウントと糖尿病俺とPrivate Forkと炭の選び方とC++からRubyへのブレイクスルーとポモドーロテクニックとコミュニティ貢献と浪人アカウントと糖尿病
俺とPrivate Forkと炭の選び方とC++からRubyへのブレイクスルーとポモドーロテクニックとコミュニティ貢献と浪人アカウントと糖尿病
 
クラウドを用いるIoT開発における実費レポート
クラウドを用いるIoT開発における実費レポートクラウドを用いるIoT開発における実費レポート
クラウドを用いるIoT開発における実費レポート
 
俺と 2017 Code for Kanazawa Civic Hack Night運営
俺と 2017 Code for Kanazawa  Civic Hack Night運営俺と 2017 Code for Kanazawa  Civic Hack Night運営
俺と 2017 Code for Kanazawa Civic Hack Night運営
 
俺とキーボード
俺とキーボード俺とキーボード
俺とキーボード
 
俺とディスプレイ
俺とディスプレイ俺とディスプレイ
俺とディスプレイ
 
俺と通知
俺と通知俺と通知
俺と通知
 
JAWS DAYS 2018 行ってきた & スタッフした
JAWS DAYS 2018 行ってきた & スタッフしたJAWS DAYS 2018 行ってきた & スタッフした
JAWS DAYS 2018 行ってきた & スタッフした
 
JAWS DAYS 2018 行ってきた & スタッフした
JAWS DAYS 2018  行ってきた & スタッフしたJAWS DAYS 2018  行ってきた & スタッフした
JAWS DAYS 2018 行ってきた & スタッフした
 
俺とGitHubとcodeシリーズ
俺とGitHubとcodeシリーズ俺とGitHubとcodeシリーズ
俺とGitHubとcodeシリーズ
 
ラズパイでネット対応 学習リモコンをつくろう!
ラズパイでネット対応 学習リモコンをつくろう!ラズパイでネット対応 学習リモコンをつくろう!
ラズパイでネット対応 学習リモコンをつくろう!
 

俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編