SlideShare a Scribd company logo
MAKE NEXT POSSIBLE Ⓡ
Kenzan Providence Hack Nights
October 26th, 2017
Serverless Architectures in Modern
Applications
2
What Are Serverless Architectures?
They are not actually “serverless”...
Instead, serverless architectures remove the need for managing and handling
the servers where the application or services run.
Server management is handled by third parties for you!
3
What Are Serverless Architectures?
They are not actually “serverless”...
Instead, serverless architectures remove the need for managing and handling
the servers where the application or services run.
Server management is handled by third parties for you!
The Benefits of Serverless
Serverless architectures have a lot of upside, not least of which is $$ saved.
No Server Maintenance Flexible Scaling
High Availability No Idle Capacity
Lambda Costs vs EC2: https://www.trek10.com/blog/lambda-cost/
The Current Shortcomings of Serverless
Serverless architectures are still new, and there are some growing pains.
Limited Execution
Duration
Statelessness
Limited Run-Time
Support
Cold Start Time
Logging & Debugging
When Does a Serverless
API Make Sense?
A serverless API is a good choice when you
want low server maintenance and low cost, with
a microservice application of moderate security,
that is not exceptionally sensitive to latency.
How Do Serverless
Architectures Work?
Let’s go over the key components of a serverless
architecture, AWS style.
7
The Overall View
Route 53 is a DNS service that allows you to assign a
custom domain name to your web IP address.
This is an optional piece of the serverless configuration but
is commonly used.
API gateway assigns a default route to your API that can be
used without extra configuration.
We won’t be using this in our example today but it is an
important AWS service to know about.
Route 53
The Resource Router
AWS API Gateway is integral to designing a serverless web
API.
A series of configuration that handling API routing and
Lambda execution. Can be configured with a
swagger.yaml file.
The API Gateway performs a series of tasks:
- Authorizes incoming requests
- Routes incoming requests
- Formats responses into HTTP response format for
consumption by the client
- Handles errors responses from the Lambda functions
AWS API Gateway
The Gatekeeper/Router to the Microservices
Without access to your servers, you must secure your
resources through IAM policies both at the API Gateway
level and the Lambda level.
Many options to secure traffic including:
- JWT tokens
- IP Address
- Headers
- Cookies
API Gateway allows for custom, dynamically generated IAM
policies provided by custom authorizers.
AWS Identity Access Management (IAM)
The Security Around the Gateway
The basic component of Function-as-a-Service (F.a.a.S)
architecture.
Lambdas are the holding place and configuration for code
that will be executed in any one of many servers in the cloud.
Can be configured with unique IAM roles, environment
variables, memory, timeout, and more.
Currently support the following runtime environments :
- Node.js 6.10, Edge Node.js 4.3, Node.js 4.3
- C#
- Java 8
- Python 3.6 & 2.7
AWS Lambda Functions
The Serverless Functions Where the Code is Run
AWS DynamoDB is a No-SQL database that is commonly
paired with serverless frameworks because of it’s similar
benefits :
- Fast & Consistent Performance
- Highly Scalable
- Fully Managed
- Event Driven Programming (Integrates with Lambda
function to process DB events)
- Flexible
- Integrates with IAM for security and access control
We will not be using this in our example today but it is a
good technology to know about.
AWS DynamoDB
The Database Layer
DIY Serverless Framework
Let’s get started building our own serverless web
API!
14
15
Step 1: Download the Repository
This is going to be our client code, server code, and configuration. This is the jumping off point for
our serverless web API.
Repository URL
www.github.com/mschmidt712/serverless-counter
Repository Holder Username: mschmidt712
Repository Name: serverless-counter
16
Step 2: Install Dependencies and Run UI
Here we will get the UI for our application up and running. This is going to be a simple web
application that allows the user to increment and decrement a counter.
Install Dependencies
yarn install or npm install
Run UI
npm start
17
Step 3: Sign in to AWS Console
Immediately, the application is configured to run off of a pre-made serverless backend. Let’s start
the process of building our own to hook up to.
18
Step 4: Create the Lambda Functions
To speed up the process of building the backend, the code for each lambda function is located in the
serverless-counter repository under the server folder
19
Step 5: Create the API Gateway
The suggested route to configure the API gateway is using a swagger.yaml file. For this exercise
we will use the swaggerWithApiGatewayExtensions.yaml file to save some configuration time.
20
Step 6: Configure the API Gateway
As you will see, the API Gateway requires a large amount of configuration. We’ll walk through that
now.
21
Step 7: Deploy Your API
Once the configuration is done your API is ready to deploy!
22
Step 8: Connect Your API to Your Counter
Now that your API is deployed, you will be given a unique url to access it. Copy/Paste this url into the
appConfig.json file in the UI and watch your API go live.
23
Questions?
Resources
Introduction to Serverless Computing with AWS Lambda:
https://www.contino.io/files/Contino-Introduction-to-Serverless-
Computing-with-AWS-Lambda.pdf
Amazon Docs for Lambdas: https://aws.amazon.com/lambda/
Amazon Docs for API Gateway: https://aws.amazon.com/api-
gateway/
Serverless Framework: https://serverless.com/
How to Build a Serverless API with AWS API Gateway (python):
https://www.twilio.com/blog/2017/06/build-serverless-api-
amazon-web-services-api-gateway.html
Serverless Architectures (denser informational blog):
https://martinfowler.com/articles/serverless.html
24
Backup Slides
25
Step 4: Create the Lambda Functions
Uploading the Lambda Code.
26
Step 4: Create the Lambda Functions
Configuring the Lambda function.
27
Step 4: Create the Lambda Functions
Testing the Lambda function after creation.
28
Step 6: Configure the API Gateway
Configuration of the Method Request.
29
Step 6: Configure the API Gateway
Configuration of the Integration Request.
30
Step 6: Configure the API Gateway
Configuration of the Integration Response.
31
Step 6: Configure the API Gateway
Configuration of the Method Response.
32
Step 7: Deploy Your API
Creating the deployment stage for the API.

More Related Content

What's hot

Deep Dive on AWS Lambda
Deep Dive on AWS LambdaDeep Dive on AWS Lambda
Deep Dive on AWS Lambda
Amazon Web Services
 
AWS 101
AWS 101AWS 101
Serverless Architectures.pdf
Serverless Architectures.pdfServerless Architectures.pdf
Serverless Architectures.pdf
Amazon Web Services
 
Serverless Computing: build and run applications without thinking about servers
Serverless Computing: build and run applications without thinking about serversServerless Computing: build and run applications without thinking about servers
Serverless Computing: build and run applications without thinking about servers
Amazon Web Services
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
Nikolaus Graf
 
Serverless computing with AWS Lambda
Serverless computing with AWS Lambda Serverless computing with AWS Lambda
Serverless computing with AWS Lambda
Apigee | Google Cloud
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
Scott Leberknight
 
Serverless computing
Serverless computingServerless computing
Serverless computing
Om Vikram Thapa
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
Andrew Dixon
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
Amazon Web Services
 
An Introduction to the AWS Well Architected Framework - Webinar
An Introduction to the AWS Well Architected Framework - WebinarAn Introduction to the AWS Well Architected Framework - Webinar
An Introduction to the AWS Well Architected Framework - Webinar
Amazon Web Services
 
AWS Cloud Watch
AWS Cloud WatchAWS Cloud Watch
AWS Cloud Watch
zekeLabs Technologies
 
AWS basics
AWS basicsAWS basics
AWS basics
mbaric
 
AWS Monitoring & Logging
AWS Monitoring & LoggingAWS Monitoring & Logging
AWS Monitoring & Logging
Jason Poley
 
Introduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web ServicesIntroduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web Services
Amazon Web Services
 
Introduction to Cloud computing and AWS services
Introduction to Cloud computing and AWS servicesIntroduction to Cloud computing and AWS services
Introduction to Cloud computing and AWS services
Ahmed Alaa
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
Amazon Web Services
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
Amazon Web Services
 
Introduction to AWS Cost Management
Introduction to AWS Cost ManagementIntroduction to AWS Cost Management
Introduction to AWS Cost Management
Amazon Web Services
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
Amazon Web Services
 

What's hot (20)

Deep Dive on AWS Lambda
Deep Dive on AWS LambdaDeep Dive on AWS Lambda
Deep Dive on AWS Lambda
 
AWS 101
AWS 101AWS 101
AWS 101
 
Serverless Architectures.pdf
Serverless Architectures.pdfServerless Architectures.pdf
Serverless Architectures.pdf
 
Serverless Computing: build and run applications without thinking about servers
Serverless Computing: build and run applications without thinking about serversServerless Computing: build and run applications without thinking about servers
Serverless Computing: build and run applications without thinking about servers
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
Serverless computing with AWS Lambda
Serverless computing with AWS Lambda Serverless computing with AWS Lambda
Serverless computing with AWS Lambda
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
Serverless computing
Serverless computingServerless computing
Serverless computing
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
An Introduction to the AWS Well Architected Framework - Webinar
An Introduction to the AWS Well Architected Framework - WebinarAn Introduction to the AWS Well Architected Framework - Webinar
An Introduction to the AWS Well Architected Framework - Webinar
 
AWS Cloud Watch
AWS Cloud WatchAWS Cloud Watch
AWS Cloud Watch
 
AWS basics
AWS basicsAWS basics
AWS basics
 
AWS Monitoring & Logging
AWS Monitoring & LoggingAWS Monitoring & Logging
AWS Monitoring & Logging
 
Introduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web ServicesIntroduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web Services
 
Introduction to Cloud computing and AWS services
Introduction to Cloud computing and AWS servicesIntroduction to Cloud computing and AWS services
Introduction to Cloud computing and AWS services
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
Introduction to AWS Cost Management
Introduction to AWS Cost ManagementIntroduction to AWS Cost Management
Introduction to AWS Cost Management
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
 

Similar to Serverless Architecture

Primeros pasos con arquitecturas serverless
Primeros pasos con arquitecturas serverlessPrimeros pasos con arquitecturas serverless
Primeros pasos con arquitecturas serverless
Amazon Web Services
 
AWS Lambda Documentation
AWS Lambda DocumentationAWS Lambda Documentation
AWS Lambda Documentation
Whizlabs
 
AWS Serverless Development
AWS Serverless DevelopmentAWS Serverless Development
AWS Serverless Development
Amazon Web Services
 
Raleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applicationsRaleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applications
Amazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
Amazon Web Services
 
Serverless Computing, AWS Way by SourceFuse Technologies
Serverless Computing, AWS Way by SourceFuse Technologies Serverless Computing, AWS Way by SourceFuse Technologies
Serverless Computing, AWS Way by SourceFuse Technologies
SourceFuse
 
Serverless Computing, AWS Way: SourceFuse Technologies
Serverless Computing, AWS Way: SourceFuse Technologies Serverless Computing, AWS Way: SourceFuse Technologies
Serverless Computing, AWS Way: SourceFuse Technologies
Sarmishtha Sinha
 
Auto Retweets Using AWS Lambda
Auto Retweets Using AWS LambdaAuto Retweets Using AWS Lambda
Auto Retweets Using AWS Lambda
CodeOps Technologies LLP
 
Scheduled Retweets Using AWS Lambda
Scheduled Retweets Using AWS LambdaScheduled Retweets Using AWS Lambda
Scheduled Retweets Using AWS Lambda
Srushith Repakula
 
Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...
Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...
Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...
Amazon Web Services
 
Serverless architectures-with-aws-lambda
Serverless architectures-with-aws-lambdaServerless architectures-with-aws-lambda
Serverless architectures-with-aws-lambda
saifam
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
Amazon Web Services
 
SRV203 Getting Started with AWS Lambda and the Serverless Cloud
SRV203 Getting Started with AWS Lambda and the Serverless CloudSRV203 Getting Started with AWS Lambda and the Serverless Cloud
SRV203 Getting Started with AWS Lambda and the Serverless Cloud
Amazon Web Services
 
AWS Serverless Introduction (Lambda)
AWS Serverless Introduction (Lambda)AWS Serverless Introduction (Lambda)
AWS Serverless Introduction (Lambda)
Ashish Kushwaha
 
AWS March 2016 Webinar Series Getting Started with Serverless Architectures
AWS March 2016 Webinar Series   Getting Started with Serverless ArchitecturesAWS March 2016 Webinar Series   Getting Started with Serverless Architectures
AWS March 2016 Webinar Series Getting Started with Serverless Architectures
Amazon Web Services
 
SMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsSMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless Applications
Amazon Web Services
 
When to use serverless computing.pdf
When to use serverless computing.pdfWhen to use serverless computing.pdf
When to use serverless computing.pdf
SGBSeo
 
Let's set the record straight on the term serverless and what it’s not
Let's set the record straight on the term serverless and what it’s notLet's set the record straight on the term serverless and what it’s not
Let's set the record straight on the term serverless and what it’s not
Jeshan Babooa
 
20180111 we bde-bs - serverless url shortener
20180111   we bde-bs - serverless url shortener20180111   we bde-bs - serverless url shortener
20180111 we bde-bs - serverless url shortener
Luca Bianchi
 

Similar to Serverless Architecture (20)

Primeros pasos con arquitecturas serverless
Primeros pasos con arquitecturas serverlessPrimeros pasos con arquitecturas serverless
Primeros pasos con arquitecturas serverless
 
AWS Lambda Documentation
AWS Lambda DocumentationAWS Lambda Documentation
AWS Lambda Documentation
 
AWS Serverless Development
AWS Serverless DevelopmentAWS Serverless Development
AWS Serverless Development
 
Raleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applicationsRaleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applications
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Serverless Computing, AWS Way by SourceFuse Technologies
Serverless Computing, AWS Way by SourceFuse Technologies Serverless Computing, AWS Way by SourceFuse Technologies
Serverless Computing, AWS Way by SourceFuse Technologies
 
Serverless Computing, AWS Way: SourceFuse Technologies
Serverless Computing, AWS Way: SourceFuse Technologies Serverless Computing, AWS Way: SourceFuse Technologies
Serverless Computing, AWS Way: SourceFuse Technologies
 
Auto Retweets Using AWS Lambda
Auto Retweets Using AWS LambdaAuto Retweets Using AWS Lambda
Auto Retweets Using AWS Lambda
 
Scheduled Retweets Using AWS Lambda
Scheduled Retweets Using AWS LambdaScheduled Retweets Using AWS Lambda
Scheduled Retweets Using AWS Lambda
 
Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...
Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...
Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...
 
Serverless architectures-with-aws-lambda
Serverless architectures-with-aws-lambdaServerless architectures-with-aws-lambda
Serverless architectures-with-aws-lambda
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
 
SRV203 Getting Started with AWS Lambda and the Serverless Cloud
SRV203 Getting Started with AWS Lambda and the Serverless CloudSRV203 Getting Started with AWS Lambda and the Serverless Cloud
SRV203 Getting Started with AWS Lambda and the Serverless Cloud
 
AWS Serverless Introduction (Lambda)
AWS Serverless Introduction (Lambda)AWS Serverless Introduction (Lambda)
AWS Serverless Introduction (Lambda)
 
AWS March 2016 Webinar Series Getting Started with Serverless Architectures
AWS March 2016 Webinar Series   Getting Started with Serverless ArchitecturesAWS March 2016 Webinar Series   Getting Started with Serverless Architectures
AWS March 2016 Webinar Series Getting Started with Serverless Architectures
 
SMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsSMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless Applications
 
When to use serverless computing.pdf
When to use serverless computing.pdfWhen to use serverless computing.pdf
When to use serverless computing.pdf
 
Let's set the record straight on the term serverless and what it’s not
Let's set the record straight on the term serverless and what it’s notLet's set the record straight on the term serverless and what it’s not
Let's set the record straight on the term serverless and what it’s not
 
20180111 we bde-bs - serverless url shortener
20180111   we bde-bs - serverless url shortener20180111   we bde-bs - serverless url shortener
20180111 we bde-bs - serverless url shortener
 
Serverless: State Of the Union
Serverless: State Of the UnionServerless: State Of the Union
Serverless: State Of the Union
 

Recently uploaded

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

Serverless Architecture

  • 1. MAKE NEXT POSSIBLE Ⓡ Kenzan Providence Hack Nights October 26th, 2017 Serverless Architectures in Modern Applications
  • 2. 2 What Are Serverless Architectures? They are not actually “serverless”... Instead, serverless architectures remove the need for managing and handling the servers where the application or services run. Server management is handled by third parties for you!
  • 3. 3 What Are Serverless Architectures? They are not actually “serverless”... Instead, serverless architectures remove the need for managing and handling the servers where the application or services run. Server management is handled by third parties for you!
  • 4. The Benefits of Serverless Serverless architectures have a lot of upside, not least of which is $$ saved. No Server Maintenance Flexible Scaling High Availability No Idle Capacity Lambda Costs vs EC2: https://www.trek10.com/blog/lambda-cost/
  • 5. The Current Shortcomings of Serverless Serverless architectures are still new, and there are some growing pains. Limited Execution Duration Statelessness Limited Run-Time Support Cold Start Time Logging & Debugging
  • 6. When Does a Serverless API Make Sense? A serverless API is a good choice when you want low server maintenance and low cost, with a microservice application of moderate security, that is not exceptionally sensitive to latency.
  • 7. How Do Serverless Architectures Work? Let’s go over the key components of a serverless architecture, AWS style. 7
  • 9. Route 53 is a DNS service that allows you to assign a custom domain name to your web IP address. This is an optional piece of the serverless configuration but is commonly used. API gateway assigns a default route to your API that can be used without extra configuration. We won’t be using this in our example today but it is an important AWS service to know about. Route 53 The Resource Router
  • 10. AWS API Gateway is integral to designing a serverless web API. A series of configuration that handling API routing and Lambda execution. Can be configured with a swagger.yaml file. The API Gateway performs a series of tasks: - Authorizes incoming requests - Routes incoming requests - Formats responses into HTTP response format for consumption by the client - Handles errors responses from the Lambda functions AWS API Gateway The Gatekeeper/Router to the Microservices
  • 11. Without access to your servers, you must secure your resources through IAM policies both at the API Gateway level and the Lambda level. Many options to secure traffic including: - JWT tokens - IP Address - Headers - Cookies API Gateway allows for custom, dynamically generated IAM policies provided by custom authorizers. AWS Identity Access Management (IAM) The Security Around the Gateway
  • 12. The basic component of Function-as-a-Service (F.a.a.S) architecture. Lambdas are the holding place and configuration for code that will be executed in any one of many servers in the cloud. Can be configured with unique IAM roles, environment variables, memory, timeout, and more. Currently support the following runtime environments : - Node.js 6.10, Edge Node.js 4.3, Node.js 4.3 - C# - Java 8 - Python 3.6 & 2.7 AWS Lambda Functions The Serverless Functions Where the Code is Run
  • 13. AWS DynamoDB is a No-SQL database that is commonly paired with serverless frameworks because of it’s similar benefits : - Fast & Consistent Performance - Highly Scalable - Fully Managed - Event Driven Programming (Integrates with Lambda function to process DB events) - Flexible - Integrates with IAM for security and access control We will not be using this in our example today but it is a good technology to know about. AWS DynamoDB The Database Layer
  • 14. DIY Serverless Framework Let’s get started building our own serverless web API! 14
  • 15. 15 Step 1: Download the Repository This is going to be our client code, server code, and configuration. This is the jumping off point for our serverless web API. Repository URL www.github.com/mschmidt712/serverless-counter Repository Holder Username: mschmidt712 Repository Name: serverless-counter
  • 16. 16 Step 2: Install Dependencies and Run UI Here we will get the UI for our application up and running. This is going to be a simple web application that allows the user to increment and decrement a counter. Install Dependencies yarn install or npm install Run UI npm start
  • 17. 17 Step 3: Sign in to AWS Console Immediately, the application is configured to run off of a pre-made serverless backend. Let’s start the process of building our own to hook up to.
  • 18. 18 Step 4: Create the Lambda Functions To speed up the process of building the backend, the code for each lambda function is located in the serverless-counter repository under the server folder
  • 19. 19 Step 5: Create the API Gateway The suggested route to configure the API gateway is using a swagger.yaml file. For this exercise we will use the swaggerWithApiGatewayExtensions.yaml file to save some configuration time.
  • 20. 20 Step 6: Configure the API Gateway As you will see, the API Gateway requires a large amount of configuration. We’ll walk through that now.
  • 21. 21 Step 7: Deploy Your API Once the configuration is done your API is ready to deploy!
  • 22. 22 Step 8: Connect Your API to Your Counter Now that your API is deployed, you will be given a unique url to access it. Copy/Paste this url into the appConfig.json file in the UI and watch your API go live.
  • 23. 23 Questions? Resources Introduction to Serverless Computing with AWS Lambda: https://www.contino.io/files/Contino-Introduction-to-Serverless- Computing-with-AWS-Lambda.pdf Amazon Docs for Lambdas: https://aws.amazon.com/lambda/ Amazon Docs for API Gateway: https://aws.amazon.com/api- gateway/ Serverless Framework: https://serverless.com/ How to Build a Serverless API with AWS API Gateway (python): https://www.twilio.com/blog/2017/06/build-serverless-api- amazon-web-services-api-gateway.html Serverless Architectures (denser informational blog): https://martinfowler.com/articles/serverless.html
  • 25. 25 Step 4: Create the Lambda Functions Uploading the Lambda Code.
  • 26. 26 Step 4: Create the Lambda Functions Configuring the Lambda function.
  • 27. 27 Step 4: Create the Lambda Functions Testing the Lambda function after creation.
  • 28. 28 Step 6: Configure the API Gateway Configuration of the Method Request.
  • 29. 29 Step 6: Configure the API Gateway Configuration of the Integration Request.
  • 30. 30 Step 6: Configure the API Gateway Configuration of the Integration Response.
  • 31. 31 Step 6: Configure the API Gateway Configuration of the Method Response.
  • 32. 32 Step 7: Deploy Your API Creating the deployment stage for the API.