SlideShare a Scribd company logo
Application
Server-less Web Apps
www.seed.run
SEED is a fully-managed
CI/CD for Serverless.
Frank Jay
💎
@fanjiewang @jayair
www.seed.run
serverless-stack.com
Serverless Stack is an open source guide for
building full-stack production ready
Serverless applications on AWS.
★ 1.2K 30K 👤 7K ✉
Application Server-less Web Applications - Serverless Toronto Meetup
🧐
3-Tier Architecture
🖥
CLIENT APP SERVER DB SERVER
Provides an API
Handles requests
Handles file uploads
Authenticates users
Secures the application
Runs scheduled jobs & tasks
APP SERVER
The App Server
does everything…
Everything except
storing data 😮
🖥
CLIENT APP SERVER
DB SERVER
S3 UPLOADS
SEARCH
App Server is the
“gatekeeper”
⚡
Serverless Architecture
🖥
SPA
COGNITO
DYNAMO
S3 UPLOADS
ELASTIC
🔑
IAM
🔐
LAMBDA
SERVERLESS
⚡
Client coordinates services
Fully-managed architecture
Glued together with Lambda
Use a separate auth provider
Secure all services with IAM
Services auto-scale to traffic
SERVERLESS
⚡
1. User authenticates client side
2. Make signed requests to a service
3. Service checks if user has access
4. Service responds over HTTPS
🔥
Code
Project files
handler.js
serverless.yml
package.json
serverless.yml
service: posts
provider:
name: aws
runtime: nodejs8.10
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:PutItem
Resource: “arn:aws:dynamodb:us-east-1:*:*"
functions:
create:
handler: handler.create
- http:
path: posts/create
method: post
cors: true
authorizer: aws_iam
handler.js
module.create = function(evt, context, callback) {
// Federated user id
const userId = evt.requestContext.identity.cognitoIdentityId;
. . .
await dynamoDbLib.call("put", params);
callback(null, success(params.Item));
};
S3 Uploads
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
COGNITO
🔑
1. Create a User Pool
2. Configure user attributes
3. Create an app client
4. Done!
🔐
AWS IAM
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [ "s3:*" ],
"Resource": [
"arn:aws:s3:::S3_BUCKET/${cognito-identity.amazonaws.com:sub}/*"
]
},
{
"Effect": "Allow",
"Action": [ "execute-api:Invoke" ],
"Resource": [
"arn:aws:execute-api:us-east-1:*:API_GATEWAY_ID/*"
]
}
]
}
AWS Amplify
h"ps://aws-amplify.github.io/amplify-js/
Amplify.configure({
Auth: {
region: COGNITO_REGION,
userPoolId: COGNITO_USER_POOL,
identityPoolId: COGNITO_IDENTITY_POOL,
userPoolWebClientId: COGNITO_APP_CLIENT
},
Storage: {
region: S3_REGION,
bucket: S3_BUCKET
},
API: {
endpoints: [{
name: "posts",
endpoint: API_GATEWAY_URL,
region: API_GATEWAY_REGION
}]
}
});
Sign in a User
import { Auth } from “aws-amplify”;
. . .
// Sign up
await Auth.signUp({ username, password });
await Auth.confirmSignUp(username, confirmationCode);
. . .
// Login
await Auth.signIn(username, password);
Upload a File
import { Storage } from “aws-amplify";
. . .
await Storage.vault.put(
filename,
file,
{ contentType }
);
Call an API
import { API } from "aws-amplify";
. . .
await API.post("posts", "/posts", {
body: post
});
Static Hosting
HOSTING
1. Create a public S3 bucket
2. Link to a CloudFront distribution
3. Attach a domain on Route 53
4. Add SSL with Certificate Manager
$ npm run build
$ aws s3 sync build/ s3://S3_HOSTING_BUCKET
🎉
Recap
PARTY
Massively scalable web app
Fully-managed architecture
Extremely low-cost to run
And no application servers!
🎉
🙌
Closing
Learn to build Serverless apps
Serverless-Stack.com
Fully-managed Serverless CI/CD
SEED.run
Frank Jay
💎
@fanjiewang @jayair
Questions?

More Related Content

What's hot (9)

PDF
Amazon API Gateway and AWS Lambda: Better Together
Danilo Poccia
 
PDF
AWS Serverless Workshop
Mikael Puittinen
 
PDF
Build a Server-less Event-driven Backend with AWS Lambda and Amazon API Gateway
Danilo Poccia
 
PDF
Ember CLI & Ember Tooling
Mark Provan
 
PDF
Serverless Applications on AWS
Dean Bryen
 
PPT
Mobile Interface to CMS Based On HTML5 and Drupal: A Case Study
Hima Javvadi
 
PDF
Microservice Architecture on AWS using AWS Lambda and Docker Containers
Danilo Poccia
 
PPTX
Azure Web Apps - Introduction
Christopher Gomez
 
PDF
Exposing Salesforce REST Services Using Swagger
Salesforce Developers
 
Amazon API Gateway and AWS Lambda: Better Together
Danilo Poccia
 
AWS Serverless Workshop
Mikael Puittinen
 
Build a Server-less Event-driven Backend with AWS Lambda and Amazon API Gateway
Danilo Poccia
 
Ember CLI & Ember Tooling
Mark Provan
 
Serverless Applications on AWS
Dean Bryen
 
Mobile Interface to CMS Based On HTML5 and Drupal: A Case Study
Hima Javvadi
 
Microservice Architecture on AWS using AWS Lambda and Docker Containers
Danilo Poccia
 
Azure Web Apps - Introduction
Christopher Gomez
 
Exposing Salesforce REST Services Using Swagger
Salesforce Developers
 

Similar to Application Server-less Web Applications - Serverless Toronto Meetup (20)

PDF
Como construir suas aplicações escaláveis sem servidores
Alexandre Santos
 
PDF
Websites go Serverless - AWS Summit Berlin
Boaz Ziniman
 
PDF
Going Serverless
dehms
 
PDF
Serverless use cases with AWS Lambda - More Serverless Event
Boaz Ziniman
 
PDF
Serverless meetup
marcel panse
 
PDF
Building event driven serverless apps by Danilo Poccia at Codemotion Dubai
Codemotion Dubai
 
PDF
Voxxed Athens 2018 - Serverless by Design
Voxxed Athens
 
PDF
2022 Presentation | Serverless Innovation with AWS
Dhaval Nagar
 
PDF
PyConIE 2017 Writing and deploying serverless python applications
Cesar Cardenas Desales
 
PDF
Jumpstart your idea with AWS Serverless [Oct 2020]
Dhaval Nagar
 
PDF
Building Event-Driven Serverless Applications - AWS - Danilo Poccia
IT Talent College
 
PDF
20200520 - Como empezar a desarrollar aplicaciones serverless
Marcia Villalba
 
PPTX
Serverless solution architecture in AWS
Runcy Oommen
 
PPTX
Serverless meetup Auckland #6
Myles Henaghan
 
PPTX
Serverless beyond AWS Lambda
Ben Kehoe
 
PDF
Build a mobile app serverless with AWS Lambda
TheFamily
 
PPTX
Serverless APIs and you
James Beswick
 
PDF
Super lazy side projects - Hamik Mukelyan
Drew Malone
 
PPTX
Serverless Architecture
Elana Krasner
 
PDF
AWS Application Service Workshop - Serverless Architecture
John Yeung
 
Como construir suas aplicações escaláveis sem servidores
Alexandre Santos
 
Websites go Serverless - AWS Summit Berlin
Boaz Ziniman
 
Going Serverless
dehms
 
Serverless use cases with AWS Lambda - More Serverless Event
Boaz Ziniman
 
Serverless meetup
marcel panse
 
Building event driven serverless apps by Danilo Poccia at Codemotion Dubai
Codemotion Dubai
 
Voxxed Athens 2018 - Serverless by Design
Voxxed Athens
 
2022 Presentation | Serverless Innovation with AWS
Dhaval Nagar
 
PyConIE 2017 Writing and deploying serverless python applications
Cesar Cardenas Desales
 
Jumpstart your idea with AWS Serverless [Oct 2020]
Dhaval Nagar
 
Building Event-Driven Serverless Applications - AWS - Danilo Poccia
IT Talent College
 
20200520 - Como empezar a desarrollar aplicaciones serverless
Marcia Villalba
 
Serverless solution architecture in AWS
Runcy Oommen
 
Serverless meetup Auckland #6
Myles Henaghan
 
Serverless beyond AWS Lambda
Ben Kehoe
 
Build a mobile app serverless with AWS Lambda
TheFamily
 
Serverless APIs and you
James Beswick
 
Super lazy side projects - Hamik Mukelyan
Drew Malone
 
Serverless Architecture
Elana Krasner
 
AWS Application Service Workshop - Serverless Architecture
John Yeung
 
Ad

More from Daniel Zivkovic (20)

PDF
'The Art & Science of LLM Reliability - Building Trustworthy AI Systems' by M...
Daniel Zivkovic
 
PDF
AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
Daniel Zivkovic
 
PDF
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
Daniel Zivkovic
 
PDF
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Daniel Zivkovic
 
PDF
Opinionated re:Invent recap with AWS Heroes & Builders
Daniel Zivkovic
 
PDF
Google Cloud Next '22 Recap: Serverless & Data edition
Daniel Zivkovic
 
PDF
Conversational Document Processing AI with Rui Costa
Daniel Zivkovic
 
PDF
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
Daniel Zivkovic
 
PDF
Gojko's 5 rules for super responsive Serverless applications
Daniel Zivkovic
 
PDF
Retail Analytics and BI with Looker, BigQuery, GCP & Leigha Jarett
Daniel Zivkovic
 
PDF
What's new in Serverless at AWS?
Daniel Zivkovic
 
PDF
Intro to Vertex AI, unified MLOps platform for Data Scientists & ML Engineers
Daniel Zivkovic
 
PDF
Empowering Developers to be Healthcare Heroes
Daniel Zivkovic
 
PDF
Get started with Dialogflow & Contact Center AI on Google Cloud
Daniel Zivkovic
 
PDF
Building a Data Cloud to enable Analytics & AI-Driven Innovation - Lak Lakshm...
Daniel Zivkovic
 
PDF
Smart Cities of Italy: Integrating the Cyber World with the IoT
Daniel Zivkovic
 
PDF
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...
Daniel Zivkovic
 
PDF
This is my Architecture to prevent Cloud Bill Shock
Daniel Zivkovic
 
PDF
Lunch & Learn BigQuery & Firebase from other Google Cloud customers
Daniel Zivkovic
 
PDF
Azure for AWS & GCP Pros: Which Azure services to use?
Daniel Zivkovic
 
'The Art & Science of LLM Reliability - Building Trustworthy AI Systems' by M...
Daniel Zivkovic
 
AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
Daniel Zivkovic
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
Daniel Zivkovic
 
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Daniel Zivkovic
 
Opinionated re:Invent recap with AWS Heroes & Builders
Daniel Zivkovic
 
Google Cloud Next '22 Recap: Serverless & Data edition
Daniel Zivkovic
 
Conversational Document Processing AI with Rui Costa
Daniel Zivkovic
 
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
Daniel Zivkovic
 
Gojko's 5 rules for super responsive Serverless applications
Daniel Zivkovic
 
Retail Analytics and BI with Looker, BigQuery, GCP & Leigha Jarett
Daniel Zivkovic
 
What's new in Serverless at AWS?
Daniel Zivkovic
 
Intro to Vertex AI, unified MLOps platform for Data Scientists & ML Engineers
Daniel Zivkovic
 
Empowering Developers to be Healthcare Heroes
Daniel Zivkovic
 
Get started with Dialogflow & Contact Center AI on Google Cloud
Daniel Zivkovic
 
Building a Data Cloud to enable Analytics & AI-Driven Innovation - Lak Lakshm...
Daniel Zivkovic
 
Smart Cities of Italy: Integrating the Cyber World with the IoT
Daniel Zivkovic
 
Running Business Analytics for a Serverless Insurance Company - Joe Emison & ...
Daniel Zivkovic
 
This is my Architecture to prevent Cloud Bill Shock
Daniel Zivkovic
 
Lunch & Learn BigQuery & Firebase from other Google Cloud customers
Daniel Zivkovic
 
Azure for AWS & GCP Pros: Which Azure services to use?
Daniel Zivkovic
 
Ad

Recently uploaded (20)

PDF
Polarized Multiwavelength Emission from Pulsar Wind—Accretion Disk Interactio...
Sérgio Sacani
 
PPTX
Economics of Micropropagation in Sugarcane
Laxman Khatal
 
PPT
Introduction of animal physiology in vertebrates
S.B.P.G. COLLEGE BARAGAON VARANASI
 
PPTX
Pirimidinas_2025_Curso Ácidos nucleicos. Cinvestav
lalvarezmex
 
PPTX
Lesson 6 G10-Disaster Mitigation plan.pptx
HonlethRomblon
 
PPTX
Anatomy and physiology of digestive system.pptx
Ashwini I Chuncha
 
PPTX
Lamarckism is one of the earliest theories of evolution, proposed before Darw...
Laxman Khatal
 
PDF
crestacean parasitim non chordates notes
S.B.P.G. COLLEGE BARAGAON VARANASI
 
PDF
The role of the Lorentz force in sunspot equilibrium
Sérgio Sacani
 
PDF
WUCHERIA BANCROFTI-converted-compressed.pdf
S.B.P.G. COLLEGE BARAGAON VARANASI
 
PPTX
Vectors and applications of genetic engineering Pptx
Ashwini I Chuncha
 
PDF
Introduction of Animal Behaviour full notes.pdf
S.B.P.G. COLLEGE BARAGAON VARANASI
 
PPTX
parent teacher communication system.pptx
ronin9742
 
PDF
A young gas giant and hidden substructures in a protoplanetary disk
Sérgio Sacani
 
PDF
Pharmaceutical Microbiology (sem-3) UNIT IV.pdf
payalpilaji
 
PDF
Continuous Model-Based Engineering of Software-Intensive Systems: Approaches,...
Hugo Bruneliere
 
PDF
A proposed mechanism for the formation of protocell-like structures on Titan
Sérgio Sacani
 
PDF
The Rise of Autonomous Intelligence: How AI Agents Are Redefining Science, Ar...
Kamer Ali Yuksel
 
DOCX
Analytical methods in CleaningValidation.docx
Markus Janssen
 
PPTX
Structure and uses of DDT, Saccharin..pptx
harsimrankaur204
 
Polarized Multiwavelength Emission from Pulsar Wind—Accretion Disk Interactio...
Sérgio Sacani
 
Economics of Micropropagation in Sugarcane
Laxman Khatal
 
Introduction of animal physiology in vertebrates
S.B.P.G. COLLEGE BARAGAON VARANASI
 
Pirimidinas_2025_Curso Ácidos nucleicos. Cinvestav
lalvarezmex
 
Lesson 6 G10-Disaster Mitigation plan.pptx
HonlethRomblon
 
Anatomy and physiology of digestive system.pptx
Ashwini I Chuncha
 
Lamarckism is one of the earliest theories of evolution, proposed before Darw...
Laxman Khatal
 
crestacean parasitim non chordates notes
S.B.P.G. COLLEGE BARAGAON VARANASI
 
The role of the Lorentz force in sunspot equilibrium
Sérgio Sacani
 
WUCHERIA BANCROFTI-converted-compressed.pdf
S.B.P.G. COLLEGE BARAGAON VARANASI
 
Vectors and applications of genetic engineering Pptx
Ashwini I Chuncha
 
Introduction of Animal Behaviour full notes.pdf
S.B.P.G. COLLEGE BARAGAON VARANASI
 
parent teacher communication system.pptx
ronin9742
 
A young gas giant and hidden substructures in a protoplanetary disk
Sérgio Sacani
 
Pharmaceutical Microbiology (sem-3) UNIT IV.pdf
payalpilaji
 
Continuous Model-Based Engineering of Software-Intensive Systems: Approaches,...
Hugo Bruneliere
 
A proposed mechanism for the formation of protocell-like structures on Titan
Sérgio Sacani
 
The Rise of Autonomous Intelligence: How AI Agents Are Redefining Science, Ar...
Kamer Ali Yuksel
 
Analytical methods in CleaningValidation.docx
Markus Janssen
 
Structure and uses of DDT, Saccharin..pptx
harsimrankaur204
 

Application Server-less Web Applications - Serverless Toronto Meetup