SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
株式会社コードナインス
高倉大幸
サーバレスなWebサービスを
いい感じに作りたい、
JavaScript が好きな方向けのお話
高倉大幸
株式会社コードナインス 代表 / エンジニア
受託開発と並行して、音楽をプログラミングするJavaScriptライブラリ「Ongaq JS」を用いた
教育系サービスなど自社サービスを開発中です。
自己紹介
概要
• フロントエンドは静的ファイルを公開するだけ、バックエンドはサーバレスな
APIがいるだけといった環境で動くWebサービスを作る1つのパターンをご紹介
します。
• AWSならではの要素がありますが、大枠の考え方は他のプラットフォームでも
通用するかと思います。
利用する主なもの
【フロントエンド】
S3
Cloudfront
React, Vue など
任意のライブラリ
【バックエンド】
Lambda
API Gateway
Dynamo DB
Express
@vendia/serverless-express *
(旧 aws-serverless-express)
AWS
その他
【その他】
Route 53
サーバレスなAPIを作る
(1)Express で Web サーバを作ります。 (2)serverless-express をミドルウェア的に
使い、Lambda 関数として定義します。
[ app.js ]
[ lambda.js ]
サーバレスなAPIを作る
(3)AWSへのデプロイ方法を定義する
   YAML を更新します。
(4)package.json のパラメータを更新します。
[ template.yaml ] [ package.json ]
サーバレスなAPIを作る
(5)npm コマンドでデプロイします。成功すると
https://aaaaaaaaa.execute-api.ap-northeast-1.amazonaws.com
  のようなURLでAPIサーバにアクセスできるようになります。
API Gateway は次のようにリクエストのメソッドによらず
Lambda 関数に渡すような設定になります。
所感いろいろ
・開発中 Webサーバを再起動するだけで動作確認でき、ログも簡単に見られるのがメリットです。
・もし「やっぱり EC2 でインスタンスを立てて Web サーバを動かそう」と思ったときも
 引っ越しが簡単にできま(るはずで)す。
・Lambda 関数ごとのメモリ割り当てを調整するなど、
 チューニングをどうしても細かくしたくなった場合はリファクタリングが必要かもしれません。
・インスタンスが常駐する場合と比較すると、相当コストがリーズナブルです。
・フロントエンド、バックエンド、ツール類など全て同一リポジトリで管理することを推奨します。
【Twitter】
【音楽 プログラミング学習】Ongaq JS Web School
@ongaqJSws
【メール】
takakura@codeninth.com
ありがとうございました 😃
Just In
🇺🇦 ウクライナへメッセージカードを作るジェネレータを作りました
https://message4ukraine.com/

Mais conteúdo relacionado

Mais procurados

DynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネットDynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネット伊藤 祐策
 
CDP(キャンペーンサイト編)
CDP(キャンペーンサイト編)CDP(キャンペーンサイト編)
CDP(キャンペーンサイト編)Hiroyasu Suzuki
 
AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -Shuji Watanabe
 
Aurora新時代の幕開けとDynamoDBの進化
Aurora新時代の幕開けとDynamoDBの進化Aurora新時代の幕開けとDynamoDBの進化
Aurora新時代の幕開けとDynamoDBの進化Classmethod,Inc.
 
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjpAWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjpMasahiro NAKAYAMA
 
モバイルゲームにおけるAWSの泥臭い使い方
モバイルゲームにおけるAWSの泥臭い使い方モバイルゲームにおけるAWSの泥臭い使い方
モバイルゲームにおけるAWSの泥臭い使い方Junpei Nakada
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - SORACOM, INC
 
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -Akio Katayama
 
最近やったAWS案件
最近やったAWS案件最近やったAWS案件
最近やったAWS案件Naoto Ishizawa
 
EC2+RDSを基本から #cmdevio2017
EC2+RDSを基本から #cmdevio2017EC2+RDSを基本から #cmdevio2017
EC2+RDSを基本から #cmdevio2017Tetsunori Nishizawa
 
Multicastが出来ないならUnicastすればいいじゃない
Multicastが出来ないならUnicastすればいいじゃないMulticastが出来ないならUnicastすればいいじゃない
Multicastが出来ないならUnicastすればいいじゃないKenta Yasukawa
 
20151207 AWS re:invent 2015 ReCap
20151207 AWS re:invent 2015 ReCap20151207 AWS re:invent 2015 ReCap
20151207 AWS re:invent 2015 ReCapKiyonori Kitasako
 
DB Tech Showcase 大阪: Amazon DynamoDB Deep Dive
DB Tech Showcase 大阪: Amazon DynamoDB Deep DiveDB Tech Showcase 大阪: Amazon DynamoDB Deep Dive
DB Tech Showcase 大阪: Amazon DynamoDB Deep DiveKenta Yasukawa
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05都元ダイスケ Miyamoto
 
EC2でマルチキャスト
EC2でマルチキャストEC2でマルチキャスト
EC2でマルチキャストKenta Yasukawa
 
Redific:AWSのデータ転送量を減らしてコストダウン!
Redific:AWSのデータ転送量を減らしてコストダウン!Redific:AWSのデータ転送量を減らしてコストダウン!
Redific:AWSのデータ転送量を減らしてコストダウン! lexues
 
Applibot presents Smartphone Game on AWS
Applibot presents Smartphone Game on AWSApplibot presents Smartphone Game on AWS
Applibot presents Smartphone Game on AWSKenta Yasukawa
 

Mais procurados (20)

DynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネットDynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネット
 
CDP(キャンペーンサイト編)
CDP(キャンペーンサイト編)CDP(キャンペーンサイト編)
CDP(キャンペーンサイト編)
 
AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -
 
Aurora新時代の幕開けとDynamoDBの進化
Aurora新時代の幕開けとDynamoDBの進化Aurora新時代の幕開けとDynamoDBの進化
Aurora新時代の幕開けとDynamoDBの進化
 
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjpAWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
 
モバイルゲームにおけるAWSの泥臭い使い方
モバイルゲームにおけるAWSの泥臭い使い方モバイルゲームにおけるAWSの泥臭い使い方
モバイルゲームにおけるAWSの泥臭い使い方
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 -
 
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
 
最近やったAWS案件
最近やったAWS案件最近やったAWS案件
最近やったAWS案件
 
EC2+RDSを基本から #cmdevio2017
EC2+RDSを基本から #cmdevio2017EC2+RDSを基本から #cmdevio2017
EC2+RDSを基本から #cmdevio2017
 
DynamoDBとはとは
DynamoDBとはとはDynamoDBとはとは
DynamoDBとはとは
 
Multicastが出来ないならUnicastすればいいじゃない
Multicastが出来ないならUnicastすればいいじゃないMulticastが出来ないならUnicastすればいいじゃない
Multicastが出来ないならUnicastすればいいじゃない
 
20151207 AWS re:invent 2015 ReCap
20151207 AWS re:invent 2015 ReCap20151207 AWS re:invent 2015 ReCap
20151207 AWS re:invent 2015 ReCap
 
DB Tech Showcase 大阪: Amazon DynamoDB Deep Dive
DB Tech Showcase 大阪: Amazon DynamoDB Deep DiveDB Tech Showcase 大阪: Amazon DynamoDB Deep Dive
DB Tech Showcase 大阪: Amazon DynamoDB Deep Dive
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
 
EC2でマルチキャスト
EC2でマルチキャストEC2でマルチキャスト
EC2でマルチキャスト
 
Awsをつかってみた
AwsをつかってみたAwsをつかってみた
Awsをつかってみた
 
Redific:AWSのデータ転送量を減らしてコストダウン!
Redific:AWSのデータ転送量を減らしてコストダウン!Redific:AWSのデータ転送量を減らしてコストダウン!
Redific:AWSのデータ転送量を減らしてコストダウン!
 
Tune Up AWS Lambda
Tune Up AWS LambdaTune Up AWS Lambda
Tune Up AWS Lambda
 
Applibot presents Smartphone Game on AWS
Applibot presents Smartphone Game on AWSApplibot presents Smartphone Game on AWS
Applibot presents Smartphone Game on AWS
 

Semelhante a Talk: serverless-express

開発初心者がAWSサービスを色々使ってアプリ開発をした話
開発初心者がAWSサービスを色々使ってアプリ開発をした話開発初心者がAWSサービスを色々使ってアプリ開発をした話
開発初心者がAWSサービスを色々使ってアプリ開発をした話MaiFujisawa
 
Going Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No ServersGoing Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No ServersKeisuke Nishitani
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築ryosuke matsumura
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築ryosuke matsumura
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから真吾 吉田
 
UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値Keisuke Nishitani
 
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪真吾 吉田
 
AWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンドAWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンド暁 三宅
 
アプリ開発&チーム管理で 役立った拡張機能
アプリ開発&チーム管理で役立った拡張機能アプリ開発&チーム管理で役立った拡張機能
アプリ開発&チーム管理で 役立った拡張機能Masaki Suzuki
 
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編Masayuki KaToH
 
クラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャクラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャKeisuke Nishitani
 
Scala: Mobile Backend on AWS
Scala: Mobile Backend on AWSScala: Mobile Backend on AWS
Scala: Mobile Backend on AWScmaraiyusuke
 
May the FaaS be with us!!
May the FaaS be with us!!May the FaaS be with us!!
May the FaaS be with us!!真吾 吉田
 
Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Masakazu Muraoka
 
はじめてのAws lambda
はじめてのAws lambdaはじめてのAws lambda
はじめてのAws lambdadcubeio
 
はじめてのAWS Lambda
はじめてのAWS LambdaはじめてのAWS Lambda
はじめてのAWS LambdaMasaki Misawa
 
Windows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWSWindows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWSAmazon Web Services Japan
 
HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発tomo_masakura
 

Semelhante a Talk: serverless-express (20)

開発初心者がAWSサービスを色々使ってアプリ開発をした話
開発初心者がAWSサービスを色々使ってアプリ開発をした話開発初心者がAWSサービスを色々使ってアプリ開発をした話
開発初心者がAWSサービスを色々使ってアプリ開発をした話
 
Going Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No ServersGoing Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No Servers
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値
 
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
 
AWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンドAWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンド
 
アプリ開発&チーム管理で 役立った拡張機能
アプリ開発&チーム管理で役立った拡張機能アプリ開発&チーム管理で役立った拡張機能
アプリ開発&チーム管理で 役立った拡張機能
 
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
 
20220518_ongaqjs.pdf
20220518_ongaqjs.pdf20220518_ongaqjs.pdf
20220518_ongaqjs.pdf
 
クラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャクラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャ
 
Scala: Mobile Backend on AWS
Scala: Mobile Backend on AWSScala: Mobile Backend on AWS
Scala: Mobile Backend on AWS
 
May the FaaS be with us!!
May the FaaS be with us!!May the FaaS be with us!!
May the FaaS be with us!!
 
Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会
 
はじめてのAws lambda
はじめてのAws lambdaはじめてのAws lambda
はじめてのAws lambda
 
はじめてのAWS Lambda
はじめてのAWS LambdaはじめてのAWS Lambda
はじめてのAWS Lambda
 
Windows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWSWindows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWS
 
VUXデザイナー
VUXデザイナーVUXデザイナー
VUXデザイナー
 
HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発
 

Talk: serverless-express