SlideShare a Scribd company logo
#cmdevio4
Serverless - Developers.IO 2019
Serverless - Developers.IO 2019
Serverless - Developers.IO 2019
Serverless - Developers.IO 2019
Serverless - Developers.IO 2019
CX
2013
JUnit
Web AWS
Java Python/Ruby Node.js
AWS API
AWS, Lambda, Serverless
API, ,
vue.js Angular
/ IoT
ToF
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
Developers.IO CAFE
Developers.IO CAFE deGO
2018.07 2019.07
Developers.IO CAFE deGO
WT
Developers.IO CAFE deGO
Serverless - Developers.IO 2019
Serverless - Developers.IO 2019
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
Serverless - Developers.IO 2019
•
•
•
Serverless - Developers.IO 2019
Serverless - Developers.IO 2019
Serverless - Developers.IO 2019
→
→
→
https://speakerdeck.com/twada/quality-and-speed
© t_wada
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
AWS
AWS
VPN
IAM
IoT AWS
IoT Action Lambda
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
Auth0
SMS
LINE
3 Cognito
API
UI/UX
Oauth2
SMS
Rule /signup API
API Gateway Authorizer
ID
Role
API
meta_data
API
Auth0 Role
JSON Web Token
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
Serverless - Developers.IO 2019
:
:
DevelopersIO CAFE
Serverless - Developers.IO 2019
Auth0
/
Dev.IO
OAuth
/
WT/MO
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
API
current
Developers.IO CAFE
stable
Lambda API
Lambda Alias
: alias
API Gateway Stage
Stage Lambda
Stage Alias
2
CloudFront
SPA /
CORS
DynamoDB
stage/current
Cross-Origin Resource Sharing (CORS)
SPA API
API
CloudFront
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
Serverless - Developers.IO 2019
AWS
S3 Bucket / Secret Manager
API Gateway
CodePipeline / CodeBuild
Lambda / StepFunctions
CloudFormation
Route53
Serverless - Developers.IO 2019
Lambda CloudFormation
Lambda
API Gateway swagger
API
swagger CFn
CFn
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
Layers
Lambda
Lambda Layer
Layer Layer
Lambda
Layer
Layer
Layer
nodejs/node_modules
npm install zip
layers

" shared

# $ nodejs 

# " node_modules

# " shared

# # " index.js

# # $ package.json

# $ package.json

$ libs

$ nodejs

" node_modules
$ package.json
{

"name": "shared",

"main": "index.js",

"private": true

}
require('shared');
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
Serverless - Developers.IO 2019
AWS
Lambda
AWS
AWS
Apex
Layer
AWS stable/current
AWS ID
Lambda Alias
API Gateway Stage
API
Swagger
API Gateway
CloudFormation
/mo/order:

post:

summary: Order

parameters:

- in: body

response:

200:

description: An transaction
CloudFormation
Alias API Gateway/Stage
AWS
AWS API (CLI, SDK)
Apex
Lambda
Lambda Alias
API Gateway Stage
Node.js + AWS SDK
Caporal CLI
cappuccino-api

" project.itg.yaml

" project.stg.yaml

$ functions

" api_mng 

$ api

" mo_items 

$ mo_order 

" index.js

" function.yaml

$ event.test.json
$ cap functions deploy itg mo_order
aws_profile: cap-itg
memory: 512
timeout: 15
role: arn:aws:iam:XXXXXXXX:role/lambda_role
environment:
TZ: Asia/Tokyo
LOG_DEBUG: "true"
layers:
- libs
- shared
cappuccino-api

" project.itg.yaml

" project.stg.yaml

$ functions

" api_mng 

$ api

" mo_items 

$ mo_order 

" index.js

" function.yaml

$ event.test.json
$ cap functions invoke itg mo_order
{

"store_code": "deviocafe_mo-akb",

"user_id": "user|xxxxxxxx",

"payment_type": "stripe-card",

"items": [

{ "user_id": "item_xx", "qty": 2 }
]

}
$ cap functions publish itg
$ cap api deploy itg
$ cap api stage itg
CodePipeline
GitHub
Pipeline
CodeBuild
Lambda / API Gateway
IAM Role
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
Step Functions
WT
Lambda
EC2
Step Functions
Lambda
Lambda
{

"status": "in_store",

"transaction_no": "wt_002",

"timestamp": 1234567890

}
{

"status": "in_store",

"transaction_no": "wt_002",

"timestamp": 1234567890,
"total": 820

}
{

"status": "checkout",

"transaction_no": "wt_002",

"timestamp": 1234567890,
"total": 820

}
INPUT
INPUTOUTPUT OUTPUT
Lambda
Cloud Watch Events
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
Serverless - Developers.IO 2019
Lambda
SaaS
API
const AWS = require('aws-sdk');

const SecretsManager = new AWS.SecretsManager();

const secretValue = await SecretsManager.getSecretValue({
SecretId: `tenant/${tenant_code}`
}).promise();
const secrets = JSON.parse(secretValue.SecretString);
const apiKey = secrets.STRIPE_API_KEY;
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
Serverless - Developers.IO 2019
lambda-log
JSON
https://github.com/KyleRoss/node-lambda-log
CloudWatch Logs Insight
JSON
CloudWatch Logs
Cloud Watch Alarm
Subscription Filter
Slack
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
DynamoDB
API
Hash Key Range Key
RDB
API
NoSQL
RDB
Timestamp
Range Key
Unix Timestamp Range Key
Hash + Rang
/ / → NG
Hash Key
scan
→
Hash Key
type
GSI
LSI
Hash Key
API
API
GSI
GSI
Hash Key
API 1
1
DynadmoDB
ConditionalCheckFailedException
TTL (Time to Live
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
Serverless - Developers.IO 2019
Serverless - Developers.IO 2019
d3.js
API
•DevIO CAFE
•
•AWS
•Auth0
•
•API
•
•Layers
•
•Step Functions
•
•
•DynamoDB
•
•
Serverless - Developers.IO 2019
/
API Lambda
Serverless - Developers.IO 2019
AWS, Lambda, Serverless
API, ,
vue.js Angular
/ IoT
ToF
Serverless - Developers.IO 2019

More Related Content

PDF
StrongLoop Node.js API Security & Customization
PPTX
Authenticating and Securing Node.js APIs
PDF
Going Serverless
PDF
Picking the Right Node.js Framework for Your Use Case
PPTX
Working with LoopBack Models
PPTX
Apex & jQuery Mobile
PDF
Modern Functional Fluent ColdFusion REST Apis
PPTX
Building and Running Your App in the Cloud
StrongLoop Node.js API Security & Customization
Authenticating and Securing Node.js APIs
Going Serverless
Picking the Right Node.js Framework for Your Use Case
Working with LoopBack Models
Apex & jQuery Mobile
Modern Functional Fluent ColdFusion REST Apis
Building and Running Your App in the Cloud

What's hot (20)

PDF
REST to JavaScript for Better Client-side Development
PDF
REST API with Elixir with Maru
PDF
LoopBack: a productivity booster for MEAN
PDF
Loopback presentation by tineco
PDF
Elixir と Maru で REST API
PDF
The Hitchhikers Guide To Html5 Offline Strategies (+firefoxOS)
PPTX
Building an API using Grape
PDF
Rails course day 6
PPTX
Building RESTful APIs w/ Grape
PDF
Messaging Elixir
PDF
Introduction to Usergrid - ApacheCon EU 2014
PDF
FiNCのWeb API開発事情
PDF
Application devevelopment with open source libraries
PDF
Rapid API Development with LoopBack/StrongLoop
PDF
Integrating consumers IoT devices into Business Workflow
PDF
Python for AngularJS
PPTX
2013 - Back to the Future with Client/Server Development
PPTX
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
PDF
Don't worry be API with Slim framework and Joomla
PPT
You Know WebOS
REST to JavaScript for Better Client-side Development
REST API with Elixir with Maru
LoopBack: a productivity booster for MEAN
Loopback presentation by tineco
Elixir と Maru で REST API
The Hitchhikers Guide To Html5 Offline Strategies (+firefoxOS)
Building an API using Grape
Rails course day 6
Building RESTful APIs w/ Grape
Messaging Elixir
Introduction to Usergrid - ApacheCon EU 2014
FiNCのWeb API開発事情
Application devevelopment with open source libraries
Rapid API Development with LoopBack/StrongLoop
Integrating consumers IoT devices into Business Workflow
Python for AngularJS
2013 - Back to the Future with Client/Server Development
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
Don't worry be API with Slim framework and Joomla
You Know WebOS
Ad

Similar to Serverless - Developers.IO 2019 (20)

PPTX
Containerless in the Cloud with AWS Lambda
PDF
API moderne e real-time per applicazioni innovative
PDF
Flying Server-less on the Cloud with AWS Lambda
PDF
Securing Serverless Architectures - AWS Serverless Web Day
PPTX
Serverless Generative AI on AWS, AWS User Groups of Florida
PPTX
Building API Driven Microservices
PDF
What’s new in serverless - re:Invent 2020
PPTX
AWS Summit Barcelona 2015 - Introducing Amazon API Gateway
PDF
What's new in Serverless at AWS?
PDF
Aws Technical Day 2015 - Amazon API Gateway
PDF
AWS re:Invent 2020 Serverless Recap
PPT
Aws Lambda Cart Microservice Server Less
PPTX
Amazon API Gateway
PPTX
Introduction to AWS Amplify and the Amplify CLI Toolchain
PDF
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
PDF
AWS Meetup Brussels 3rd Sep 2019 Simplify Frontend Apps with Serverless Backends
PDF
AWS Lambda
PDF
Amazon API Gateway and AWS Lambda: Better Together
PDF
Scaling your Mobile App Development in the Cloud - DevNexus
PDF
AWS Lambda Functions A Comprehensive Guide
Containerless in the Cloud with AWS Lambda
API moderne e real-time per applicazioni innovative
Flying Server-less on the Cloud with AWS Lambda
Securing Serverless Architectures - AWS Serverless Web Day
Serverless Generative AI on AWS, AWS User Groups of Florida
Building API Driven Microservices
What’s new in serverless - re:Invent 2020
AWS Summit Barcelona 2015 - Introducing Amazon API Gateway
What's new in Serverless at AWS?
Aws Technical Day 2015 - Amazon API Gateway
AWS re:Invent 2020 Serverless Recap
Aws Lambda Cart Microservice Server Less
Amazon API Gateway
Introduction to AWS Amplify and the Amplify CLI Toolchain
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
AWS Meetup Brussels 3rd Sep 2019 Simplify Frontend Apps with Serverless Backends
AWS Lambda
Amazon API Gateway and AWS Lambda: Better Together
Scaling your Mobile App Development in the Cloud - DevNexus
AWS Lambda Functions A Comprehensive Guide
Ad

More from Shuji Watanabe (20)

PDF
Ansible ハンズオン on AWS - DevelopersIO 2017
PDF
SSMでマネージドEC2 #reinvent #cmdevio
PDF
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
PPTX
ELBの概要と勘所
PPTX
AWSによるWebサイト構築と運用 - concrete5 編 -
PDF
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
PDF
CloudSearchによる全文検索 - CM:道 2014/08/01
PDF
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
PDF
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
PDF
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
PDF
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
PDF
テスト駆動開発へようこそ
PDF
テスト駆動開発のはじめ方
PDF
ユースケースからテスト駆動開発へ
KEY
テスト駆動開発入門
KEY
テストコードのリファクタリング
KEY
テスト駆動開発の導入ーペアプログラミングの学習効果ー
KEY
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
KEY
アジャイルテスティング
PDF
テストリストの見つけ方
Ansible ハンズオン on AWS - DevelopersIO 2017
SSMでマネージドEC2 #reinvent #cmdevio
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
ELBの概要と勘所
AWSによるWebサイト構築と運用 - concrete5 編 -
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
CloudSearchによる全文検索 - CM:道 2014/08/01
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
テスト駆動開発へようこそ
テスト駆動開発のはじめ方
ユースケースからテスト駆動開発へ
テスト駆動開発入門
テストコードのリファクタリング
テスト駆動開発の導入ーペアプログラミングの学習効果ー
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
アジャイルテスティング
テストリストの見つけ方

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Getting Started with Data Integration: FME Form 101
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Electronic commerce courselecture one. Pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
A comparative analysis of optical character recognition models for extracting...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
cuic standard and advanced reporting.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Advanced methodologies resolving dimensionality complications for autism neur...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Spectroscopy.pptx food analysis technology
Group 1 Presentation -Planning and Decision Making .pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Getting Started with Data Integration: FME Form 101
Building Integrated photovoltaic BIPV_UPV.pdf
Big Data Technologies - Introduction.pptx
Electronic commerce courselecture one. Pdf
Tartificialntelligence_presentation.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
A comparative analysis of optical character recognition models for extracting...
“AI and Expert System Decision Support & Business Intelligence Systems”
Reach Out and Touch Someone: Haptics and Empathic Computing

Serverless - Developers.IO 2019