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

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 AlloyRene Pot
 
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 2017Matt Raible
 
A Real ADF Experience
A Real ADF ExperienceA Real ADF Experience
A Real ADF ExperienceMano Swerts
 
Menggunakan WordPress sebagai Headless CMS
Menggunakan WordPress sebagai Headless CMSMenggunakan WordPress sebagai Headless CMS
Menggunakan WordPress sebagai Headless CMSRio Astamal
 
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 UILohith Goudagere Nagaraj
 
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 MVCLohith Goudagere Nagaraj
 
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 StaticRio Astamal
 
Novmeber 2015 WordPress News 'n' Stuff
Novmeber 2015 WordPress News 'n' StuffNovmeber 2015 WordPress News 'n' Stuff
Novmeber 2015 WordPress News 'n' StuffWordPress Sydney
 
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 pluginSandeep Adwankar
 
Introduction to CocosSharp
Introduction to CocosSharpIntroduction to CocosSharp
Introduction to CocosSharpJames Montemagno
 
10 Must-Have WordPress Plugins
10 Must-Have WordPress Plugins10 Must-Have WordPress Plugins
10 Must-Have WordPress PluginsMarcie Hill, M.S.
 
ASP.NET MVC 4 Overview
ASP.NET MVC 4 OverviewASP.NET MVC 4 Overview
ASP.NET MVC 4 OverviewGunnar Peipman
 
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.NETLohith Goudagere Nagaraj
 

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

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 2017Amazon Web Services
 
Developing Serverless Application on AWS
Developing Serverless Application on AWSDeveloping Serverless Application on AWS
Developing Serverless Application on AWSAmazon Web Services
 
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 MoveAmazon Web Services
 
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 RideAmazon Web Services
 
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 RideAmazon Web Services
 
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 APIsApigee | Google Cloud
 
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 IsraelAmazon Web Services
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep DiveAmazon Web Services
 
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 2018Amazon Web Services
 
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_SingaporeAmazon Web Services
 
Building API Driven Microservices
Building API Driven MicroservicesBuilding API Driven Microservices
Building API Driven MicroservicesChris Munns
 
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 2018Bhuvaneswari Subramani
 
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 pentestersInon Shkedy
 
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 ToolsAmazon Web Services
 
Crio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassCrio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassDhaval Nagar
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )senthil0809
 
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 FargateAmazon 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

Developer relations KPIs
Developer relations KPIsDeveloper relations KPIs
Developer relations KPIsTessa Mero
 
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 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 appTessa Mero
 
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?Tessa Mero
 
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 cloudinaryTessa Mero
 
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 careerTessa Mero
 
Finding the Jelly in the JAMstack
Finding the Jelly in the JAMstackFinding the Jelly in the JAMstack
Finding the Jelly in the JAMstackTessa Mero
 
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 stackTessa 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 2018Tessa Mero
 
ChatOps Workshop
ChatOps WorkshopChatOps Workshop
ChatOps WorkshopTessa Mero
 
Cisco CMX Location Services
Cisco CMX Location ServicesCisco CMX Location Services
Cisco CMX Location ServicesTessa Mero
 
DeveloperWeek2018 - Let's Build a Chatbot
DeveloperWeek2018 - Let's Build a ChatbotDeveloperWeek2018 - Let's Build a Chatbot
DeveloperWeek2018 - Let's Build a ChatbotTessa Mero
 
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 AdventuresTessa Mero
 
Revolutionize Your Workflow with ChatOps
Revolutionize Your Workflow with ChatOpsRevolutionize Your Workflow with ChatOps
Revolutionize Your Workflow with ChatOpsTessa Mero
 
Let's Build a Chatbot
Let's Build a ChatbotLet's Build a Chatbot
Let's Build a ChatbotTessa Mero
 
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 WorkshopTessa Mero
 
Building Chatbots
Building ChatbotsBuilding Chatbots
Building ChatbotsTessa Mero
 
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 StepsTessa Mero
 
Nom Nom: Consuming REST APIs
Nom Nom: Consuming REST APIsNom Nom: Consuming REST APIs
Nom Nom: Consuming REST APIsTessa 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

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Recently uploaded (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

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