SlideShare a Scribd company logo
1 of 35
Download to read offline
Building APIs the Serverless
Way
by Tessa Mero
Nov 6th, 2019 - Serverless Computing, London
The content of this presentation is proprietary information of Cloudinary. It is not intended to be distributed to any third party without the written
consent of Cloudinary. © 2019 Cloudinary inc.
@tessamero
Oh hai
● Developer Advocate at
Cloudinary
● Developer, Teacher, Advocate
● Community Leader
○ Past: Joomla, PHP
○ Current: API, Vue.js, JAMStack,
DevRel
● Gamer + Mom
● Cooking (<3 Korean food!)
@tessamero
Topics
● What is Serverless?
● Using Serverless
technologies to create an
API - End Result?
● Technologies Used
● Demo
● Resources
@tessamero
What are we building?
End Result!
● Can we get a 200 OK???
Make an API call to your own API! 200 OK!
What do you
need?
● We have an API!
● Prerequisites
Do I need anything installed?
● Node.js
○ v10.16.3
○ Version check: node -v
○ Nodejs.org
● AWS Account and credentials
○ for IAM, DynamoDB, and API Gateway
○ aws.amazon.com (Click Services)
● Serverless Framework
○ v1.53.0
○ Version check: serverless --version
○ serverless.com
● Postman
○ getpostman.com
What is Serverless?
What is
Serverless?
● No Servers!
● Cost
● Scale
● Time
Is there really no servers?
Technologies Used
Technologies
Used
● Serverless
Serverless Framework -First original serverless
framework. The most popular on Github with 30k stars
https://serverless.com
Technologies
Used
● Serverless
● IAM
Identity and Access Management (IAM) - Amazon Web
Service to securely control your resources using
permissions for users.
Technologies
Used
● Serverless
● IAM
● DynamoDB
DynamoDB -Amazon Web Service’s non-relational
database.
Technologies
Used
● Serverless
● IAM
● DynamoDB
● API Gateway
API Gateway -Amazon Web Service’s API Gateway is for
creating, publishing, maintaining, monitoring, and security
REST and WebSocket APIs at any scale.
Technologies
Used
● Serverless
● IAM
● DynamoDB
● API Gateway
● Postman
Postman - Postman is a collaboration platform for API development.
Postman's features simplify each step of building an API and streamline
collaboration so you can create better APIs—faster.
https://www.getpostman.com/
Demo
Install Serverless Framework
and Login
npm i -g serverless
serverless login
@tessamero
Create an AWS Access Key
Search for IAM in Amazon’s AWS and Set up a User
https://serverless.com/framework/docs/providers/aws/guide/credentials/
Quick Instructions:
IAM -> Users -> Add User -> Enable Programmatic Access -> Next ->
Create User
@tessamero
Add AWS Creds to Serverless
serverless config credentials
--provider aws --key
ABCDEFGHIJKLMNOP12345 --secret
abcdefg/aBcdefG12345aBcdefg
@tessamero
Install the repo’s code and cd!
serverless install -u
https://github.com/serverless/ex
amples/tree/master/aws-node-rest
-api-with-dynamodb/ -n
api-project
@tessamero
Install Node
npm install
@tessamero
open serverless.yml
service: api-project
app: aws-serverlessapi (app name in
serverless.com)
tenant: tessamero (username in
serverless.com)
@tessamero
Deploy!
serverless deploy
@tessamero
Copy the POST request URL to test @tessamero
Test with Postman! @tessamero
Looking into the Code
Looking into
the Code
● File Structure
File Structure - node_modules and json
files, and serverless.yml. Then you have the
todos folder that we will take a look at.
Looking into
the Code
● File Structure
● Serverless.yml file
serverless.yml - the file that describes the
entire application architecture
Looking into
the Code
● File Structure
● Serverless.yml file
● todos folder
todos folder - create.js, delete.js, get.js,
list.js, and update.js for each method for
your API calls.
Looking into
the Code
● File Structure
● Serverless.yml file
● todos folder
● create.js file
create.js - a peek into create function
Looking into
the Code
● File Structure
● Serverless.yml file
● todos folder
● create.js file
● delete.js file
delete.js - a peek into delete function
Looking into
the Code
● File Structure
● Serverless.yml file
● todos folder
● create.js file
● delete.js file
● get.js
get.js - a peek into get function
Looking into
the Code
● File Structure
● Serverless.yml file
● todos folder
● create.js file
● delete.js file
● get.js
● list.js
list.js - a peek into list function
Looking into
the Code
● File Structure
● Serverless.yml file
● todos folder
● create.js file
● delete.js file
● get.js
● list.js
● update.js
update.js - a peek into update function
Resources:
The Serverless Revolution: Why and How The Movement Will Allow Teams to
Deploy with More Velocity and Confidence, by Ravi Lachhman
Serverless’s Sample Integration with AWS, Serverless GitHub
Anatomy of a Serverless Yaml file, by Richard Keller
List of Resources on Serverless and JAMstack, by css-tricks.com
Ready for the next level of this talk? David Reno’s talk at 2:55 PM in this room for
more goodies!
<< end
● Twitter: https://twitter.com/tessamero
● Email.: tessa.mero@cloudinary.com
● Slides: https://slideshare.net/tessa99
THANK YOU!
@tessamero

More Related Content

What's hot

What's hot (17)

2018 05-24 CopenhagenJS meetup - Titanium Alloy
2018 05-24 CopenhagenJS meetup - Titanium Alloy2018 05-24 CopenhagenJS meetup - Titanium Alloy
2018 05-24 CopenhagenJS meetup - Titanium Alloy
 
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
 
A Real ADF Experience
A Real ADF ExperienceA Real ADF Experience
A Real ADF Experience
 
Menggunakan WordPress sebagai Headless CMS
Menggunakan WordPress sebagai Headless CMSMenggunakan WordPress sebagai Headless CMS
Menggunakan WordPress sebagai Headless CMS
 
Developing ASP.NET MVC Applications Quicker With Kendo UI
Developing ASP.NET MVC Applications Quicker With Kendo UIDeveloping ASP.NET MVC Applications Quicker With Kendo UI
Developing ASP.NET MVC Applications Quicker With Kendo UI
 
Creating Custom HTML Helpers in ASP.NET MVC
Creating Custom HTML Helpers in ASP.NET MVCCreating Custom HTML Helpers in ASP.NET MVC
Creating Custom HTML Helpers in ASP.NET MVC
 
Menggunakan S3 dan CloudFront untuk Menjalankan WordPress Static
Menggunakan S3 dan CloudFront untuk Menjalankan WordPress StaticMenggunakan S3 dan CloudFront untuk Menjalankan WordPress Static
Menggunakan S3 dan CloudFront untuk Menjalankan WordPress Static
 
Novmeber 2015 WordPress News 'n' Stuff
Novmeber 2015 WordPress News 'n' StuffNovmeber 2015 WordPress News 'n' Stuff
Novmeber 2015 WordPress News 'n' Stuff
 
Building SPA with Kendo UI
Building SPA with Kendo UIBuilding SPA with Kendo UI
Building SPA with Kendo UI
 
ASP.NET MVC 4
ASP.NET MVC 4ASP.NET MVC 4
ASP.NET MVC 4
 
Building ext js apps with ES2015 using sencha visual studio code plugin
Building ext js apps with ES2015 using sencha visual studio code pluginBuilding ext js apps with ES2015 using sencha visual studio code plugin
Building ext js apps with ES2015 using sencha visual studio code plugin
 
Introduction to CocosSharp
Introduction to CocosSharpIntroduction to CocosSharp
Introduction to CocosSharp
 
Domain and hostion
Domain and hostionDomain and hostion
Domain and hostion
 
10 Must-Have WordPress Plugins
10 Must-Have WordPress Plugins10 Must-Have WordPress Plugins
10 Must-Have WordPress Plugins
 
Web App Infrastructure
Web App InfrastructureWeb App Infrastructure
Web App Infrastructure
 
ASP.NET MVC 4 Overview
ASP.NET MVC 4 OverviewASP.NET MVC 4 Overview
ASP.NET MVC 4 Overview
 
Integrate Videos & Photos With Ease in ASP.NET
Integrate Videos & Photos With Ease in ASP.NETIntegrate Videos & Photos With Ease in ASP.NET
Integrate Videos & Photos With Ease in ASP.NET
 

Similar to Building APIs the serverless way

CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
Amazon Web Services
 

Similar to Building APIs the serverless way (20)

Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
 
Developing Serverless Application on AWS
Developing Serverless Application on AWSDeveloping Serverless Application on AWS
Developing Serverless Application on AWS
 
GPSTEC314-GPS From Monolithic to Serverless - Why and How to Move
GPSTEC314-GPS From Monolithic to Serverless - Why and How to MoveGPSTEC314-GPS From Monolithic to Serverless - Why and How to Move
GPSTEC314-GPS From Monolithic to Serverless - Why and How to Move
 
Build a Serverless Backend for Requesting a Ride
Build a Serverless Backend for Requesting a RideBuild a Serverless Backend for Requesting a Ride
Build a Serverless Backend for Requesting a Ride
 
Build a Serverless Backend for Requesting a Ride
Build a Serverless Backend for Requesting a RideBuild a Serverless Backend for Requesting a Ride
Build a Serverless Backend for Requesting a Ride
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day Israel
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
 
AWS Serverless Development
AWS Serverless DevelopmentAWS Serverless Development
AWS Serverless Development
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
 
Building API Driven Microservices
Building API Driven MicroservicesBuilding API Driven Microservices
Building API Driven Microservices
 
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
 
API Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentestersAPI Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentesters
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
Crio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassCrio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS Masterclass
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
 

More from Tessa Mero

5 ways to simply add media accessibility (m16y) to your jamstack app
5 ways to simply add media accessibility (m16y) to your jamstack app5 ways to simply add media accessibility (m16y) to your jamstack app
5 ways to simply add media accessibility (m16y) to your jamstack app
Tessa Mero
 
Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018
Tessa Mero
 

More from Tessa Mero (20)

Developer relations KPIs
Developer relations KPIsDeveloper relations KPIs
Developer relations KPIs
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
5 ways to simply add media accessibility (m16y) to your jamstack app
5 ways to simply add media accessibility (m16y) to your jamstack app5 ways to simply add media accessibility (m16y) to your jamstack app
5 ways to simply add media accessibility (m16y) to your jamstack app
 
I'm Graduating Soon. Help! How Do I Get into the Tech Field?
I'm Graduating Soon. Help! How Do I Get into the Tech Field?I'm Graduating Soon. Help! How Do I Get into the Tech Field?
I'm Graduating Soon. Help! How Do I Get into the Tech Field?
 
Optimize media performance in wordpress with cloudinary
Optimize media performance in wordpress with cloudinaryOptimize media performance in wordpress with cloudinary
Optimize media performance in wordpress with cloudinary
 
Joining a developer experts program to leverage your career
Joining a developer experts program to leverage your careerJoining a developer experts program to leverage your career
Joining a developer experts program to leverage your career
 
Finding the Jelly in the JAMstack
Finding the Jelly in the JAMstackFinding the Jelly in the JAMstack
Finding the Jelly in the JAMstack
 
Finding the jelly in the jam stack
Finding the jelly in the jam stackFinding the jelly in the jam stack
Finding the jelly in the jam stack
 
Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018
 
ChatOps Workshop
ChatOps WorkshopChatOps Workshop
ChatOps Workshop
 
Cisco CMX Location Services
Cisco CMX Location ServicesCisco CMX Location Services
Cisco CMX Location Services
 
DeveloperWeek2018 - Let's Build a Chatbot
DeveloperWeek2018 - Let's Build a ChatbotDeveloperWeek2018 - Let's Build a Chatbot
DeveloperWeek2018 - Let's Build a Chatbot
 
Learn to Code with JavaScript - Choose Your Own Adventures
Learn to Code with JavaScript - Choose Your Own AdventuresLearn to Code with JavaScript - Choose Your Own Adventures
Learn to Code with JavaScript - Choose Your Own Adventures
 
Revolutionize Your Workflow with ChatOps
Revolutionize Your Workflow with ChatOpsRevolutionize Your Workflow with ChatOps
Revolutionize Your Workflow with ChatOps
 
Let's Build a Chatbot
Let's Build a ChatbotLet's Build a Chatbot
Let's Build a Chatbot
 
DevNet 1056 WIT Spark API and Chat Bot Workshop
DevNet 1056 WIT Spark API and Chat Bot WorkshopDevNet 1056 WIT Spark API and Chat Bot Workshop
DevNet 1056 WIT Spark API and Chat Bot Workshop
 
Chatbots
ChatbotsChatbots
Chatbots
 
Building Chatbots
Building ChatbotsBuilding Chatbots
Building Chatbots
 
Understanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsUnderstanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple Steps
 
Nom Nom: Consuming REST APIs
Nom Nom: Consuming REST APIsNom Nom: Consuming REST APIs
Nom Nom: Consuming REST APIs
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 

Building APIs the serverless way

  • 1. Building APIs the Serverless Way by Tessa Mero Nov 6th, 2019 - Serverless Computing, London The content of this presentation is proprietary information of Cloudinary. It is not intended to be distributed to any third party without the written consent of Cloudinary. © 2019 Cloudinary inc. @tessamero
  • 2. Oh hai ● Developer Advocate at Cloudinary ● Developer, Teacher, Advocate ● Community Leader ○ Past: Joomla, PHP ○ Current: API, Vue.js, JAMStack, DevRel ● Gamer + Mom ● Cooking (<3 Korean food!) @tessamero
  • 3. Topics ● What is Serverless? ● Using Serverless technologies to create an API - End Result? ● Technologies Used ● Demo ● Resources @tessamero
  • 4. What are we building?
  • 5. End Result! ● Can we get a 200 OK??? Make an API call to your own API! 200 OK!
  • 6. What do you need? ● We have an API! ● Prerequisites Do I need anything installed? ● Node.js ○ v10.16.3 ○ Version check: node -v ○ Nodejs.org ● AWS Account and credentials ○ for IAM, DynamoDB, and API Gateway ○ aws.amazon.com (Click Services) ● Serverless Framework ○ v1.53.0 ○ Version check: serverless --version ○ serverless.com ● Postman ○ getpostman.com
  • 8. What is Serverless? ● No Servers! ● Cost ● Scale ● Time Is there really no servers?
  • 10. Technologies Used ● Serverless Serverless Framework -First original serverless framework. The most popular on Github with 30k stars https://serverless.com
  • 11. Technologies Used ● Serverless ● IAM Identity and Access Management (IAM) - Amazon Web Service to securely control your resources using permissions for users.
  • 12. Technologies Used ● Serverless ● IAM ● DynamoDB DynamoDB -Amazon Web Service’s non-relational database.
  • 13. Technologies Used ● Serverless ● IAM ● DynamoDB ● API Gateway API Gateway -Amazon Web Service’s API Gateway is for creating, publishing, maintaining, monitoring, and security REST and WebSocket APIs at any scale.
  • 14. Technologies Used ● Serverless ● IAM ● DynamoDB ● API Gateway ● Postman Postman - Postman is a collaboration platform for API development. Postman's features simplify each step of building an API and streamline collaboration so you can create better APIs—faster. https://www.getpostman.com/
  • 15. Demo
  • 16. Install Serverless Framework and Login npm i -g serverless serverless login @tessamero
  • 17. Create an AWS Access Key Search for IAM in Amazon’s AWS and Set up a User https://serverless.com/framework/docs/providers/aws/guide/credentials/ Quick Instructions: IAM -> Users -> Add User -> Enable Programmatic Access -> Next -> Create User @tessamero
  • 18. Add AWS Creds to Serverless serverless config credentials --provider aws --key ABCDEFGHIJKLMNOP12345 --secret abcdefg/aBcdefG12345aBcdefg @tessamero
  • 19. Install the repo’s code and cd! serverless install -u https://github.com/serverless/ex amples/tree/master/aws-node-rest -api-with-dynamodb/ -n api-project @tessamero
  • 21. open serverless.yml service: api-project app: aws-serverlessapi (app name in serverless.com) tenant: tessamero (username in serverless.com) @tessamero
  • 23. Copy the POST request URL to test @tessamero
  • 24. Test with Postman! @tessamero
  • 26. Looking into the Code ● File Structure File Structure - node_modules and json files, and serverless.yml. Then you have the todos folder that we will take a look at.
  • 27. Looking into the Code ● File Structure ● Serverless.yml file serverless.yml - the file that describes the entire application architecture
  • 28. Looking into the Code ● File Structure ● Serverless.yml file ● todos folder todos folder - create.js, delete.js, get.js, list.js, and update.js for each method for your API calls.
  • 29. Looking into the Code ● File Structure ● Serverless.yml file ● todos folder ● create.js file create.js - a peek into create function
  • 30. Looking into the Code ● File Structure ● Serverless.yml file ● todos folder ● create.js file ● delete.js file delete.js - a peek into delete function
  • 31. Looking into the Code ● File Structure ● Serverless.yml file ● todos folder ● create.js file ● delete.js file ● get.js get.js - a peek into get function
  • 32. Looking into the Code ● File Structure ● Serverless.yml file ● todos folder ● create.js file ● delete.js file ● get.js ● list.js list.js - a peek into list function
  • 33. Looking into the Code ● File Structure ● Serverless.yml file ● todos folder ● create.js file ● delete.js file ● get.js ● list.js ● update.js update.js - a peek into update function
  • 34. Resources: The Serverless Revolution: Why and How The Movement Will Allow Teams to Deploy with More Velocity and Confidence, by Ravi Lachhman Serverless’s Sample Integration with AWS, Serverless GitHub Anatomy of a Serverless Yaml file, by Richard Keller List of Resources on Serverless and JAMstack, by css-tricks.com Ready for the next level of this talk? David Reno’s talk at 2:55 PM in this room for more goodies!
  • 35. << end ● Twitter: https://twitter.com/tessamero ● Email.: tessa.mero@cloudinary.com ● Slides: https://slideshare.net/tessa99 THANK YOU! @tessamero