SlideShare a Scribd company logo
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Optimize Your SaaS Offering
with Serverless Microservices
Gerardo Estaba
Solutions Architect
Amazon Web Services
G P S T E C 4 0 5
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Pixabay / Free-Photos
https://creativecommons.or
g/publicdomain/zero/1.0/
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Meet DoCaaS
Deck of Cards as a Service!
 Create decks
 Get decks
 Shuffle decks
 Deal game
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Current state: Codebase/application
 1:1 customer:codebase mapping
 100s ReactJS codebases
 100s NodeJS codebases
 Bespoke functionality per customer
 Manual sign-up
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Current state: Infrastructure
EC2
DynamoDB
Dedicated infrastructure 1 Dedicated infrastructure 2 100s Dedicated infrastructure
Customer 1 Customer 2 100s Customers…
…
…
 1:1 customer:infra mapping
 Bespoke configuration per customer
 100s single-tenant monoliths
 Hard to scale
 Underutilized infra
 Disruptive releases
 Manual provisioning for new users
EC2
DynamoDB
EC2
DynamoDB
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What we want: Speed
1. Self-service sign-up
2. Consolidate customer codebases
3. Centralized multi-tenant infrastructure
4. Break the monoliths into serverless microservices
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
API
End goal
Authentication
(User Pools)
All customers
S3
Authorization
(Identity Pools)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Current state: Identity
HTTP request header
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,es;q=0.8,pt;q=0.7
Authorization: Basic Z2VyYXJkbzphc2Q=
Connection: keep-alive
DNT: 1
Host: customer1.estaba.net
If-None-Match: W/"11e-XXgiz47lFqcMcRw6gu7QC8B5BzA"
Referer: https://customer1.estaba.net/app/index.html
id username password
user customer1 asd
… … …
Front-end: Basic Auth Back-end: Stored in DB
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
User flows
☐ Optionally customizable flows
☐ Registration
☐ Verify email/phone
☐ Secure sign-in
☐ Forgot password
☐ Change password
☐ Sign-out
Security requirements
☐ Secure password handling (SRP)
☐ Scalable to 100s of millions of users
☐ MFA and password policies
☐ Encrypt all data server-side
☐ HIPAA, PCI-DSS, ISO, SOC
☐ OAuth 2.0, SAML 2.0, OpenID Connect
☐ Built-in, customizable web UI
Identity
Amazon Cognito
User Pools
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Cognito
Sign-up
Successful registration
Confirm registration
Verification SMS / Email
Register
Front
end
Back
end
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Sign-up, sign-in
JWT Tokens
Authenticate (via SRP)
Successful registration
Confirm registration
Verification SMS / Email
Register
Front
end
Back
end
Amazon Cognito
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Sign-up, sign-in, validation
JWT Tokens
Authenticate (via SRP)
Successful registration
Confirm registration
Verification SMS / Email
Register
Request with JWT Tokens
Front
end
JWTTokensvalid?
Y/N
Back
end
Amazon Cognito
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
JWT token: jwt.io
eyJraWQiOiI5ZXJydERLbHRxOFl3YUp5MkdadE9ieWtSREVBO
VNCNGlEVDZ2V21UZVFFPSIsImFsZyI6IlJTMjU2In0.eyJzdW
IiOiI2ZjU1NzM2OC1hODg0LTQ4NGUtYjY2Mi05ZmM2OWYzYzM
4MDIiLCJhdWQiOiI2bGtmczcwcm92a3ViaXJoMXF0bnR2ajAx
MiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJ0b2tlbl91c2UiO
iJpZCIsImF1dGhfdGltZSI6MTQ3ODQ0OTA2MCwiaXNzIjoiaH
R0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25
hd3MuY29tXC91cy1lYXN0LTFfWE1sVVc5c1V5IiwiY29nbml0
bzp1c2VybmFtZSI6InRlc3QxMjMiLCJleHAiOjE0Nzg0NTI2N
jAsImdpdmVuX25hbWUiOiJUZXN0IiwiaWF0IjoxNDc4NDQ5MD
YwLCJmYW1pbHlfbmFtZSI6IlRlc3QiLCJlbWFpbCI6InRyYW5
qaW1AYW1hem9uLmNvbSJ9.atQO0SJg9V97d6t
YonHNx0q7Zuof8-d-q0u69zNnuSJtmzGvOAW97tP2e3GydY9
K8q_2kG2IzkpEMUEdaeWjz2qG5dS328Scm6pRDPpC5pOkU8ym
jH7DBPfVXhtgS3iOhyleFhtmaTaYb_lYLpaaV10m8sVFOMHtj
dfrAm26Fq7zyjWYTSfzhqud29Ti4zn9PhcE7aL3s7BB8CJ18_
yFXSoG5CYCpLszvHazx1cbmPoXFrlFlPvZ07Oy8EbOaGs4Cuk
moYiV-5RnZsA9JXj405Kp50k-v8HCL6ZACDw3OYMV87P
e6PuEqbzQLlc8BufKThm0xBiO6NJtvI7iC2sEIQ
{
"kid":"9errtDKltq8YwaJy2GZtObykRDEA9SB4iDT6vWmTeQE=",
"alg":"RS256”
}
Header
{
"sub":"6f557368-a884-484e-b662-9fc69f3c3802",
"aud":"6lkfs70rovkubirh1qtntvj012",
"email_verified":true,
"token_use":"id",
"auth_time":1478449060,
"iss":"https://cognito-idp.us-east-1.amazonaws.com
/us-west-2_XMlUW9sUy",
"cognito:username":"test123",
"exp":1478452660,
"given_name”:"Test",
"iat":1478449060,
"family_name":"Test",
"email":”test@example.com"
}
Payload
Signature
HMACSHA256(base64UrlEncode(header) + "." +
base64UrlEncode(payload), {secret});Identity token -> OIDC Claims
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Demo 1
API
Authentication
(User Pools)
Customers
S3
Authorization
(Identity Pools)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Amplify
Easy-to-use library
aws-amplify.github.io
Powerful toolchain Beautiful UI components
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Demo 1 summary
Amazon Cognito
User Pools
1. Self-service sign-up + sign-in
2. Secure flows (SRP, OAuth 2.0, OIDC)
3. AWS Amplify = Libraries + Toolchain + UI
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What we want: Speed
1. Self-service sign up
2. Consolidate customer codebases
3. Centralized multi-tenant infrastructure
4. Break the monolith into serverless microservices
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
API
Demo 2
Authentication
(User Pools)
Customers
S3
Authorization
(Identity Pools)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Bronze Silver
Create Yes Yes
Get Yes Yes
Game Yes Yes
Shuffle Yes
Standardize service offerings
Create “plan” custom attribute
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Access control to API Gateway with Lambda Authorizer
Bronze Silver
Create Yes Yes
Get Yes Yes
Deal Yes Yes
Shuffle Yes
Amazon
API Gateway
AWS
Lambda
Authorizer
function
Client
Request with tokens
Policy evaluated
Policy cached
Allowed Back
end
Denied
Tokens + Context
"plan": ”...”
"sub": ”...”
"accessKeyId": ”...”
"secretAccessKey": ”...”
"sessionToken": ”...”
"identityId": ”...”
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Data partitioning with IAM policy
{
"Sid": ”DecksTable",
"Effect": "Allow",
"Action": [
"dynamodb:GetItem",
"dynamodb:BatchGetItem",
"dynamodb:Query",
"dynamodb:PutItem"
],
"Resource": "arn:aws:dynamodb:us-west-2:*:table/decks”,
"Condition": {
"ForAllValues:StringLike": {
"dynamodb:LeadingKeys":
”${cognito-identity.amazonaws.com:sub}-*"
}
}
}
<userid>-<deckid>
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Serverless Application Model (SAM)
AWS CloudFormation extension optimized for
serverless
Serverless resource types: Functions, APIs, and tables
and any resource AWS CloudFormation supports
Supports parameters, mappings, outputs, global
variables, intrinsic functions, and some ImportValues
github.com/awslabs/serverless-application-model
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CLI tool for local test, debug, and deploy serverless apps
Author Test Debug
Author/Test/Debug
CI/CD
Deploy
 No waiting
 No interruptions
SAM CLI
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Create sample app
Invoke Lambda functions locally
Mock AWS Lambda endpoint
Mock API Gateway endpoint
Generate sample event sources
Live debugging
pip install aws-sam-cli
github.com/awslabs/aws-sam-cli
SAM CLI
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Demo 2 summary
1. OIDC + SaaS
2. = less code + less process = speed
3. Simplified dev experience
4. Dev Speed with
Author Test Debug
Author/Test/Debug
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
API
Demo 3
Authentication
(User Pools)
Customers
S3
Authorization
(Identity Pools)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
From hundreds of datastores to three
All users
…
All decks
All games
id username password cards score
user gerardo asd
deck-<deckid> […] […]
deck-<deckid> […] […]
deck-<deckid> […] […]
… … … … …
id cards
<userid>-<deckid> […]
<userid>-<deckid> […]
<userid>-<deckid> […]
… …
id score
<userid>-<deckid> […]
<userid>-<deckid> […]
<userid>-<deckid> […]
… …
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
1. Microservices make apps easier to scale and faster to develop
2. Independent datastores FTW!
3. Join the serverless revolution
Demo 3 summary
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What we want have: Speed
 Self-service sign-up
 Consolidate customer codebases
 Centralized multi-tenant infrastructure
 Break the monolith into serverless microservices
“Customers want to cut the deck!”
Respectable CEO,
Deck of Cards as a Service
Demo 4
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Bronze Silver Gold
Create Yes Yes Yes
Get Yes Yes Yes
Game Yes Yes Yes
Shuffle Yes Yes
Cut Yes
New service offering
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
API
Authentication
(User Pools)
Customers
S3
Authorization
(Identity Pools)
Demo 4
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Takeaways
 Simplify operations: Multi-tenant SaaS
 OIDC + SaaS
 Dev experience: Abstract security complexity
 Serverless microservices = Scale + Speed
 AWS Amplify + AWS SAM + SAM CLI
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Resources
Repo: github.com/ge8/DoCaaS
AWS SaaS Factory: aws.amazon.com/partners/saas-factory
SaaS identity and isolation with Amazon Cognito AWS Quick Start
aws.amazon.com/quickstart/saas/identity-with-cognito
AWS Amplify: aws-amplify.github.io
AWS Serverless Application Model (SAM):
github.com/awslabs/serverless-application-model
AWS SAM CLI: github.com/awslabs/aws-sam-cli
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Pixabay / Free-Photos
https://creativecommons.or
g/publicdomain/zero/1.0/
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Gerardo Estaba
Solutions Architect
Amazon Web Services
linkedin.com/in/estaba

More Related Content

What's hot

Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Amazon Web Services
 
Eliminate Migration Confusion: Speed Migration with Automated Tracking (ENT31...
Eliminate Migration Confusion: Speed Migration with Automated Tracking (ENT31...Eliminate Migration Confusion: Speed Migration with Automated Tracking (ENT31...
Eliminate Migration Confusion: Speed Migration with Automated Tracking (ENT31...
Amazon Web Services
 
Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018
Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018
Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018
Amazon Web Services
 
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
Amazon Web Services
 
Authentication & Authorization in GraphQL with AWS AppSync (MOB402) - AWS re:...
Authentication & Authorization in GraphQL with AWS AppSync (MOB402) - AWS re:...Authentication & Authorization in GraphQL with AWS AppSync (MOB402) - AWS re:...
Authentication & Authorization in GraphQL with AWS AppSync (MOB402) - AWS re:...
Amazon Web Services
 
Data Privacy & Governance in the Age of Big Data: Deploy a De-Identified Data...
Data Privacy & Governance in the Age of Big Data: Deploy a De-Identified Data...Data Privacy & Governance in the Age of Big Data: Deploy a De-Identified Data...
Data Privacy & Governance in the Age of Big Data: Deploy a De-Identified Data...
Amazon Web Services
 
Tips and Tricks for Building and Deploying Serverless Apps In Minutes - AWS O...
Tips and Tricks for Building and Deploying Serverless Apps In Minutes - AWS O...Tips and Tricks for Building and Deploying Serverless Apps In Minutes - AWS O...
Tips and Tricks for Building and Deploying Serverless Apps In Minutes - AWS O...
Amazon Web Services
 
Optimize Amazon EC2 for Fun and Profit
Optimize Amazon EC2 for Fun and Profit Optimize Amazon EC2 for Fun and Profit
Optimize Amazon EC2 for Fun and Profit
Amazon Web Services
 
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
Amazon Web Services
 
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Amazon Web Services
 
Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS
Amazon Web Services
 
Protecting Your Greatest Asset (Your Data): Security Best Practices on Dynamo...
Protecting Your Greatest Asset (Your Data): Security Best Practices on Dynamo...Protecting Your Greatest Asset (Your Data): Security Best Practices on Dynamo...
Protecting Your Greatest Asset (Your Data): Security Best Practices on Dynamo...
Amazon Web Services
 
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
Amazon Web Services
 
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
Amazon Web Services
 
The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...
The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...
The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...
Amazon Web Services
 
Containerize Legacy .NET Framework Web Apps for Cloud Migration
Containerize Legacy .NET Framework Web Apps for Cloud Migration Containerize Legacy .NET Framework Web Apps for Cloud Migration
Containerize Legacy .NET Framework Web Apps for Cloud Migration
Amazon Web Services
 
Migrating Your Data Warehouse to Amazon Redshift (DAT337) - AWS re:Invent 2018
Migrating Your Data Warehouse to Amazon Redshift (DAT337) - AWS re:Invent 2018Migrating Your Data Warehouse to Amazon Redshift (DAT337) - AWS re:Invent 2018
Migrating Your Data Warehouse to Amazon Redshift (DAT337) - AWS re:Invent 2018
Amazon Web Services
 
Use Monitoring, Logs, and Analytics Tools to Measure CDN and Site Performance...
Use Monitoring, Logs, and Analytics Tools to Measure CDN and Site Performance...Use Monitoring, Logs, and Analytics Tools to Measure CDN and Site Performance...
Use Monitoring, Logs, and Analytics Tools to Measure CDN and Site Performance...
Amazon Web Services
 
A Deep Dive into What's New for Amazon DynamoDB (DAT201) - AWS re:Invent 2018
A Deep Dive into What's New for Amazon DynamoDB (DAT201) - AWS re:Invent 2018A Deep Dive into What's New for Amazon DynamoDB (DAT201) - AWS re:Invent 2018
A Deep Dive into What's New for Amazon DynamoDB (DAT201) - AWS re:Invent 2018
Amazon Web Services
 
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Amazon Web Services
 

What's hot (20)

Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
 
Eliminate Migration Confusion: Speed Migration with Automated Tracking (ENT31...
Eliminate Migration Confusion: Speed Migration with Automated Tracking (ENT31...Eliminate Migration Confusion: Speed Migration with Automated Tracking (ENT31...
Eliminate Migration Confusion: Speed Migration with Automated Tracking (ENT31...
 
Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018
Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018
Best Practices to Secure Data Lake on AWS (ANT327) - AWS re:Invent 2018
 
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
 
Authentication & Authorization in GraphQL with AWS AppSync (MOB402) - AWS re:...
Authentication & Authorization in GraphQL with AWS AppSync (MOB402) - AWS re:...Authentication & Authorization in GraphQL with AWS AppSync (MOB402) - AWS re:...
Authentication & Authorization in GraphQL with AWS AppSync (MOB402) - AWS re:...
 
Data Privacy & Governance in the Age of Big Data: Deploy a De-Identified Data...
Data Privacy & Governance in the Age of Big Data: Deploy a De-Identified Data...Data Privacy & Governance in the Age of Big Data: Deploy a De-Identified Data...
Data Privacy & Governance in the Age of Big Data: Deploy a De-Identified Data...
 
Tips and Tricks for Building and Deploying Serverless Apps In Minutes - AWS O...
Tips and Tricks for Building and Deploying Serverless Apps In Minutes - AWS O...Tips and Tricks for Building and Deploying Serverless Apps In Minutes - AWS O...
Tips and Tricks for Building and Deploying Serverless Apps In Minutes - AWS O...
 
Optimize Amazon EC2 for Fun and Profit
Optimize Amazon EC2 for Fun and Profit Optimize Amazon EC2 for Fun and Profit
Optimize Amazon EC2 for Fun and Profit
 
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
 
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
 
Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS
 
Protecting Your Greatest Asset (Your Data): Security Best Practices on Dynamo...
Protecting Your Greatest Asset (Your Data): Security Best Practices on Dynamo...Protecting Your Greatest Asset (Your Data): Security Best Practices on Dynamo...
Protecting Your Greatest Asset (Your Data): Security Best Practices on Dynamo...
 
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
 
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
 
The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...
The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...
The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...
 
Containerize Legacy .NET Framework Web Apps for Cloud Migration
Containerize Legacy .NET Framework Web Apps for Cloud Migration Containerize Legacy .NET Framework Web Apps for Cloud Migration
Containerize Legacy .NET Framework Web Apps for Cloud Migration
 
Migrating Your Data Warehouse to Amazon Redshift (DAT337) - AWS re:Invent 2018
Migrating Your Data Warehouse to Amazon Redshift (DAT337) - AWS re:Invent 2018Migrating Your Data Warehouse to Amazon Redshift (DAT337) - AWS re:Invent 2018
Migrating Your Data Warehouse to Amazon Redshift (DAT337) - AWS re:Invent 2018
 
Use Monitoring, Logs, and Analytics Tools to Measure CDN and Site Performance...
Use Monitoring, Logs, and Analytics Tools to Measure CDN and Site Performance...Use Monitoring, Logs, and Analytics Tools to Measure CDN and Site Performance...
Use Monitoring, Logs, and Analytics Tools to Measure CDN and Site Performance...
 
A Deep Dive into What's New for Amazon DynamoDB (DAT201) - AWS re:Invent 2018
A Deep Dive into What's New for Amazon DynamoDB (DAT201) - AWS re:Invent 2018A Deep Dive into What's New for Amazon DynamoDB (DAT201) - AWS re:Invent 2018
A Deep Dive into What's New for Amazon DynamoDB (DAT201) - AWS re:Invent 2018
 
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
 

Similar to Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS re:Invent 2018

AppSync in real world - pitfalls, unexpected benefits & lessons learnt
AppSync in real world - pitfalls, unexpected benefits & lessons learntAppSync in real world - pitfalls, unexpected benefits & lessons learnt
AppSync in real world - pitfalls, unexpected benefits & lessons learnt
AWS User Group Bengaluru
 
Securing Data in Serverless Applications and Messaging Services (API317-R2) -...
Securing Data in Serverless Applications and Messaging Services (API317-R2) -...Securing Data in Serverless Applications and Messaging Services (API317-R2) -...
Securing Data in Serverless Applications and Messaging Services (API317-R2) -...
Amazon Web Services
 
AWS Neptune - A Fast and reliable Graph Database Built for the Cloud
AWS Neptune - A Fast and reliable Graph Database Built for the CloudAWS Neptune - A Fast and reliable Graph Database Built for the Cloud
AWS Neptune - A Fast and reliable Graph Database Built for the Cloud
Amazon Web Services
 
Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018
Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018
Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018
Amazon Web Services
 
Identity and access control for custom enterprise applications - SDD412 - AWS...
Identity and access control for custom enterprise applications - SDD412 - AWS...Identity and access control for custom enterprise applications - SDD412 - AWS...
Identity and access control for custom enterprise applications - SDD412 - AWS...
Amazon Web Services
 
Red Team vs. Blue Team on AWS ~ re:Invent 2018
Red Team vs. Blue Team on AWS ~ re:Invent 2018Red Team vs. Blue Team on AWS ~ re:Invent 2018
Red Team vs. Blue Team on AWS ~ re:Invent 2018
Teri Radichel
 
Best Practices for AWS IoT Core (IOT347-R1) - AWS re:Invent 2018
Best Practices for AWS IoT Core (IOT347-R1) - AWS re:Invent 2018Best Practices for AWS IoT Core (IOT347-R1) - AWS re:Invent 2018
Best Practices for AWS IoT Core (IOT347-R1) - AWS re:Invent 2018
Amazon Web Services
 
How Zocdoc Achieves Automatic Threat Detection & Remediation with Security as...
How Zocdoc Achieves Automatic Threat Detection & Remediation with Security as...How Zocdoc Achieves Automatic Threat Detection & Remediation with Security as...
How Zocdoc Achieves Automatic Threat Detection & Remediation with Security as...
Amazon Web Services
 
Lock It Down: How to Secure Your Organization's AWS Account
Lock It Down: How to Secure Your Organization's AWS AccountLock It Down: How to Secure Your Organization's AWS Account
Lock It Down: How to Secure Your Organization's AWS Account
Amazon Web Services
 
[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...
[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...
[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...
Amazon Web Services
 
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
Amazon Web Services
 
SID305 AWS Certificate Manager Private CA
SID305 AWS Certificate Manager Private CASID305 AWS Certificate Manager Private CA
SID305 AWS Certificate Manager Private CA
Amazon Web Services
 
Making Headless Drupal Serverless
Making Headless Drupal ServerlessMaking Headless Drupal Serverless
Making Headless Drupal Serverless
Amazon Web Services
 
How to Secure Sensitive Customer Data Using Amazon CloudFront - AWS Online Te...
How to Secure Sensitive Customer Data Using Amazon CloudFront - AWS Online Te...How to Secure Sensitive Customer Data Using Amazon CloudFront - AWS Online Te...
How to Secure Sensitive Customer Data Using Amazon CloudFront - AWS Online Te...
Amazon Web Services
 
Security in Amazon Elasticsearch Service (ANT392) - AWS re:Invent 2018
Security in Amazon Elasticsearch Service (ANT392) - AWS re:Invent 2018Security in Amazon Elasticsearch Service (ANT392) - AWS re:Invent 2018
Security in Amazon Elasticsearch Service (ANT392) - AWS re:Invent 2018
Amazon Web Services
 
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Amazon Web Services
 
You Dont Need a Server for That
You Dont Need a Server for ThatYou Dont Need a Server for That
You Dont Need a Server for That
Amazon Web Services
 
Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018
Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018
Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018
Amazon Web Services
 
Taking serverless to the edge
Taking serverless to the edgeTaking serverless to the edge
Taking serverless to the edge
Amazon Web Services
 
WildRydes Serverless Data Processing Workshop
WildRydes Serverless Data Processing WorkshopWildRydes Serverless Data Processing Workshop
WildRydes Serverless Data Processing Workshop
Amazon Web Services
 

Similar to Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS re:Invent 2018 (20)

AppSync in real world - pitfalls, unexpected benefits & lessons learnt
AppSync in real world - pitfalls, unexpected benefits & lessons learntAppSync in real world - pitfalls, unexpected benefits & lessons learnt
AppSync in real world - pitfalls, unexpected benefits & lessons learnt
 
Securing Data in Serverless Applications and Messaging Services (API317-R2) -...
Securing Data in Serverless Applications and Messaging Services (API317-R2) -...Securing Data in Serverless Applications and Messaging Services (API317-R2) -...
Securing Data in Serverless Applications and Messaging Services (API317-R2) -...
 
AWS Neptune - A Fast and reliable Graph Database Built for the Cloud
AWS Neptune - A Fast and reliable Graph Database Built for the CloudAWS Neptune - A Fast and reliable Graph Database Built for the Cloud
AWS Neptune - A Fast and reliable Graph Database Built for the Cloud
 
Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018
Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018
Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018
 
Identity and access control for custom enterprise applications - SDD412 - AWS...
Identity and access control for custom enterprise applications - SDD412 - AWS...Identity and access control for custom enterprise applications - SDD412 - AWS...
Identity and access control for custom enterprise applications - SDD412 - AWS...
 
Red Team vs. Blue Team on AWS ~ re:Invent 2018
Red Team vs. Blue Team on AWS ~ re:Invent 2018Red Team vs. Blue Team on AWS ~ re:Invent 2018
Red Team vs. Blue Team on AWS ~ re:Invent 2018
 
Best Practices for AWS IoT Core (IOT347-R1) - AWS re:Invent 2018
Best Practices for AWS IoT Core (IOT347-R1) - AWS re:Invent 2018Best Practices for AWS IoT Core (IOT347-R1) - AWS re:Invent 2018
Best Practices for AWS IoT Core (IOT347-R1) - AWS re:Invent 2018
 
How Zocdoc Achieves Automatic Threat Detection & Remediation with Security as...
How Zocdoc Achieves Automatic Threat Detection & Remediation with Security as...How Zocdoc Achieves Automatic Threat Detection & Remediation with Security as...
How Zocdoc Achieves Automatic Threat Detection & Remediation with Security as...
 
Lock It Down: How to Secure Your Organization's AWS Account
Lock It Down: How to Secure Your Organization's AWS AccountLock It Down: How to Secure Your Organization's AWS Account
Lock It Down: How to Secure Your Organization's AWS Account
 
[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...
[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...
[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...
 
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
 
SID305 AWS Certificate Manager Private CA
SID305 AWS Certificate Manager Private CASID305 AWS Certificate Manager Private CA
SID305 AWS Certificate Manager Private CA
 
Making Headless Drupal Serverless
Making Headless Drupal ServerlessMaking Headless Drupal Serverless
Making Headless Drupal Serverless
 
How to Secure Sensitive Customer Data Using Amazon CloudFront - AWS Online Te...
How to Secure Sensitive Customer Data Using Amazon CloudFront - AWS Online Te...How to Secure Sensitive Customer Data Using Amazon CloudFront - AWS Online Te...
How to Secure Sensitive Customer Data Using Amazon CloudFront - AWS Online Te...
 
Security in Amazon Elasticsearch Service (ANT392) - AWS re:Invent 2018
Security in Amazon Elasticsearch Service (ANT392) - AWS re:Invent 2018Security in Amazon Elasticsearch Service (ANT392) - AWS re:Invent 2018
Security in Amazon Elasticsearch Service (ANT392) - AWS re:Invent 2018
 
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
 
You Dont Need a Server for That
You Dont Need a Server for ThatYou Dont Need a Server for That
You Dont Need a Server for That
 
Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018
Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018
Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018
 
Taking serverless to the edge
Taking serverless to the edgeTaking serverless to the edge
Taking serverless to the edge
 
WildRydes Serverless Data Processing Workshop
WildRydes Serverless Data Processing WorkshopWildRydes Serverless Data Processing Workshop
WildRydes Serverless Data Processing Workshop
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
Amazon Web Services
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
Amazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Amazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
Amazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Amazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Optimize Your SaaS Offering with Serverless Microservices Gerardo Estaba Solutions Architect Amazon Web Services G P S T E C 4 0 5
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Pixabay / Free-Photos https://creativecommons.or g/publicdomain/zero/1.0/
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Meet DoCaaS Deck of Cards as a Service!  Create decks  Get decks  Shuffle decks  Deal game
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Current state: Codebase/application  1:1 customer:codebase mapping  100s ReactJS codebases  100s NodeJS codebases  Bespoke functionality per customer  Manual sign-up
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Current state: Infrastructure EC2 DynamoDB Dedicated infrastructure 1 Dedicated infrastructure 2 100s Dedicated infrastructure Customer 1 Customer 2 100s Customers… … …  1:1 customer:infra mapping  Bespoke configuration per customer  100s single-tenant monoliths  Hard to scale  Underutilized infra  Disruptive releases  Manual provisioning for new users EC2 DynamoDB EC2 DynamoDB
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What we want: Speed 1. Self-service sign-up 2. Consolidate customer codebases 3. Centralized multi-tenant infrastructure 4. Break the monoliths into serverless microservices
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. API End goal Authentication (User Pools) All customers S3 Authorization (Identity Pools)
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Current state: Identity HTTP request header Accept: */* Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9,es;q=0.8,pt;q=0.7 Authorization: Basic Z2VyYXJkbzphc2Q= Connection: keep-alive DNT: 1 Host: customer1.estaba.net If-None-Match: W/"11e-XXgiz47lFqcMcRw6gu7QC8B5BzA" Referer: https://customer1.estaba.net/app/index.html id username password user customer1 asd … … … Front-end: Basic Auth Back-end: Stored in DB
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. User flows ☐ Optionally customizable flows ☐ Registration ☐ Verify email/phone ☐ Secure sign-in ☐ Forgot password ☐ Change password ☐ Sign-out Security requirements ☐ Secure password handling (SRP) ☐ Scalable to 100s of millions of users ☐ MFA and password policies ☐ Encrypt all data server-side ☐ HIPAA, PCI-DSS, ISO, SOC ☐ OAuth 2.0, SAML 2.0, OpenID Connect ☐ Built-in, customizable web UI Identity Amazon Cognito User Pools
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Cognito Sign-up Successful registration Confirm registration Verification SMS / Email Register Front end Back end
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Sign-up, sign-in JWT Tokens Authenticate (via SRP) Successful registration Confirm registration Verification SMS / Email Register Front end Back end Amazon Cognito
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Sign-up, sign-in, validation JWT Tokens Authenticate (via SRP) Successful registration Confirm registration Verification SMS / Email Register Request with JWT Tokens Front end JWTTokensvalid? Y/N Back end Amazon Cognito
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. JWT token: jwt.io eyJraWQiOiI5ZXJydERLbHRxOFl3YUp5MkdadE9ieWtSREVBO VNCNGlEVDZ2V21UZVFFPSIsImFsZyI6IlJTMjU2In0.eyJzdW IiOiI2ZjU1NzM2OC1hODg0LTQ4NGUtYjY2Mi05ZmM2OWYzYzM 4MDIiLCJhdWQiOiI2bGtmczcwcm92a3ViaXJoMXF0bnR2ajAx MiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJ0b2tlbl91c2UiO iJpZCIsImF1dGhfdGltZSI6MTQ3ODQ0OTA2MCwiaXNzIjoiaH R0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25 hd3MuY29tXC91cy1lYXN0LTFfWE1sVVc5c1V5IiwiY29nbml0 bzp1c2VybmFtZSI6InRlc3QxMjMiLCJleHAiOjE0Nzg0NTI2N jAsImdpdmVuX25hbWUiOiJUZXN0IiwiaWF0IjoxNDc4NDQ5MD YwLCJmYW1pbHlfbmFtZSI6IlRlc3QiLCJlbWFpbCI6InRyYW5 qaW1AYW1hem9uLmNvbSJ9.atQO0SJg9V97d6t YonHNx0q7Zuof8-d-q0u69zNnuSJtmzGvOAW97tP2e3GydY9 K8q_2kG2IzkpEMUEdaeWjz2qG5dS328Scm6pRDPpC5pOkU8ym jH7DBPfVXhtgS3iOhyleFhtmaTaYb_lYLpaaV10m8sVFOMHtj dfrAm26Fq7zyjWYTSfzhqud29Ti4zn9PhcE7aL3s7BB8CJ18_ yFXSoG5CYCpLszvHazx1cbmPoXFrlFlPvZ07Oy8EbOaGs4Cuk moYiV-5RnZsA9JXj405Kp50k-v8HCL6ZACDw3OYMV87P e6PuEqbzQLlc8BufKThm0xBiO6NJtvI7iC2sEIQ { "kid":"9errtDKltq8YwaJy2GZtObykRDEA9SB4iDT6vWmTeQE=", "alg":"RS256” } Header { "sub":"6f557368-a884-484e-b662-9fc69f3c3802", "aud":"6lkfs70rovkubirh1qtntvj012", "email_verified":true, "token_use":"id", "auth_time":1478449060, "iss":"https://cognito-idp.us-east-1.amazonaws.com /us-west-2_XMlUW9sUy", "cognito:username":"test123", "exp":1478452660, "given_name”:"Test", "iat":1478449060, "family_name":"Test", "email":”test@example.com" } Payload Signature HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), {secret});Identity token -> OIDC Claims
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Demo 1 API Authentication (User Pools) Customers S3 Authorization (Identity Pools)
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Amplify Easy-to-use library aws-amplify.github.io Powerful toolchain Beautiful UI components
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Demo 1 summary Amazon Cognito User Pools 1. Self-service sign-up + sign-in 2. Secure flows (SRP, OAuth 2.0, OIDC) 3. AWS Amplify = Libraries + Toolchain + UI
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What we want: Speed 1. Self-service sign up 2. Consolidate customer codebases 3. Centralized multi-tenant infrastructure 4. Break the monolith into serverless microservices
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. API Demo 2 Authentication (User Pools) Customers S3 Authorization (Identity Pools)
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Bronze Silver Create Yes Yes Get Yes Yes Game Yes Yes Shuffle Yes Standardize service offerings Create “plan” custom attribute
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Access control to API Gateway with Lambda Authorizer Bronze Silver Create Yes Yes Get Yes Yes Deal Yes Yes Shuffle Yes Amazon API Gateway AWS Lambda Authorizer function Client Request with tokens Policy evaluated Policy cached Allowed Back end Denied Tokens + Context "plan": ”...” "sub": ”...” "accessKeyId": ”...” "secretAccessKey": ”...” "sessionToken": ”...” "identityId": ”...”
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Data partitioning with IAM policy { "Sid": ”DecksTable", "Effect": "Allow", "Action": [ "dynamodb:GetItem", "dynamodb:BatchGetItem", "dynamodb:Query", "dynamodb:PutItem" ], "Resource": "arn:aws:dynamodb:us-west-2:*:table/decks”, "Condition": { "ForAllValues:StringLike": { "dynamodb:LeadingKeys": ”${cognito-identity.amazonaws.com:sub}-*" } } } <userid>-<deckid>
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Serverless Application Model (SAM) AWS CloudFormation extension optimized for serverless Serverless resource types: Functions, APIs, and tables and any resource AWS CloudFormation supports Supports parameters, mappings, outputs, global variables, intrinsic functions, and some ImportValues github.com/awslabs/serverless-application-model
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CLI tool for local test, debug, and deploy serverless apps Author Test Debug Author/Test/Debug CI/CD Deploy  No waiting  No interruptions SAM CLI
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Create sample app Invoke Lambda functions locally Mock AWS Lambda endpoint Mock API Gateway endpoint Generate sample event sources Live debugging pip install aws-sam-cli github.com/awslabs/aws-sam-cli SAM CLI
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Demo 2 summary 1. OIDC + SaaS 2. = less code + less process = speed 3. Simplified dev experience 4. Dev Speed with Author Test Debug Author/Test/Debug
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. API Demo 3 Authentication (User Pools) Customers S3 Authorization (Identity Pools)
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. From hundreds of datastores to three All users … All decks All games id username password cards score user gerardo asd deck-<deckid> […] […] deck-<deckid> […] […] deck-<deckid> […] […] … … … … … id cards <userid>-<deckid> […] <userid>-<deckid> […] <userid>-<deckid> […] … … id score <userid>-<deckid> […] <userid>-<deckid> […] <userid>-<deckid> […] … …
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 1. Microservices make apps easier to scale and faster to develop 2. Independent datastores FTW! 3. Join the serverless revolution Demo 3 summary
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What we want have: Speed  Self-service sign-up  Consolidate customer codebases  Centralized multi-tenant infrastructure  Break the monolith into serverless microservices
  • 33. “Customers want to cut the deck!” Respectable CEO, Deck of Cards as a Service Demo 4
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Bronze Silver Gold Create Yes Yes Yes Get Yes Yes Yes Game Yes Yes Yes Shuffle Yes Yes Cut Yes New service offering
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. API Authentication (User Pools) Customers S3 Authorization (Identity Pools) Demo 4
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Takeaways  Simplify operations: Multi-tenant SaaS  OIDC + SaaS  Dev experience: Abstract security complexity  Serverless microservices = Scale + Speed  AWS Amplify + AWS SAM + SAM CLI
  • 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Resources Repo: github.com/ge8/DoCaaS AWS SaaS Factory: aws.amazon.com/partners/saas-factory SaaS identity and isolation with Amazon Cognito AWS Quick Start aws.amazon.com/quickstart/saas/identity-with-cognito AWS Amplify: aws-amplify.github.io AWS Serverless Application Model (SAM): github.com/awslabs/serverless-application-model AWS SAM CLI: github.com/awslabs/aws-sam-cli
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Pixabay / Free-Photos https://creativecommons.or g/publicdomain/zero/1.0/
  • 40. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Gerardo Estaba Solutions Architect Amazon Web Services linkedin.com/in/estaba