Upkar Lidder
Upkar Lidder is a Full Stack Developer and Data Wrangler with a decade of development experience in a variety of roles. He can be seen speaking at various conferences and participating in local tech groups and meetups.
Upkar Lidder Lisa Jung > ulidder@us.ibm.com > @lidderupk > upkar.dev
@lidderupk
IBM Developer
1. Create IBM Cloud Account using THIS URL
3. If you already have an account, use the above URL to sign into your IBM Cloud account.
2. Check your email and activate your account. Once activated, log back into your IBM Cloud account using the link above.
4. OPTIONAL - Download Postman to test the API - https://www.getpostman.com/
@lidderupk
IBM Developer
Create an API using OpenWhisk, and CouchDB.
Optionally, add authentication with API Gateway.
@lidderupk
IBM Developer
Serverless computing refers to the concept of building and running applications that do not require server management.
It describes a finer-grained deployment model where applications, bundled as one or more functions, are uploaded to a platform and then executed, scaled, and billed in response to the exact demand needed at the moment.
It refers to the idea that consumers of serverless computing no longer need to spend time and resources on server provisioning, maintenance, updates, scaling, and capacity planning. Instead, all of these tasks and capabilities are handled by a serverless platform and are completely abstracted away from the developers.
Cloud Native Computing Foundation
https://github.com/cncf/wg-serverless/tree/master/whitepapers/serverless-overview
@lidderupk
IBM Developer
@lidderupk
IBM Developer
https://github.com/cncf/landscape#serverless
@lidderupk
IBM Developer
Apache OpenWhisk is an open source, distributed Serverless platform that supports a programming model in which developers write functional logic (called Actions), in any supported programming language, that can be dynamically scheduled and run (with Rules) in response to associated events (via Triggers) from external sources ( Feeds) or from HTTP requests.
@lidderupk
IBM Developer
Packages
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
Apache CouchDB is a JSON document database
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
http://nosql-database.org/
https://en.wikipedia.org/wiki/NoSQL
@lidderupk
IBM Developer
Create an API using OpenWhisk, and CouchDB.
Optionally, add authentication with API Gateway.
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
https://github.com/lidderupk/ibm-cloud-functions-serverless-apis/blob/master/actions/cat-post-action/index.js
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
https://github.com/lidderupk/ibm-cloud-functions-serverless-apis/blob/master/actions/cat-get-action/index.js
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
https://github.com/lidderupk/ibm-cloud-functions-serverless-apis/blob/master/actions/cat-delete-action/index.js
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
https://github.com/lidderupk/ibm-cloud-functions-serverless-apis/blob/master/actions/cat-put-action/index.js
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
[9:02:07] ulidder:serverless git:(master*) $ curl --request GET \
--url https://bd17e6ce.us-south.apiconnect.appdomain.cloud/cats-api/cat \
--header 'accept: application/json' \
--header 'x-ibm-client-id: Client ID'
{"status":401,"message":"Error: Unauthorized"}
[10:35:13] ulidder:serverless git:(master*) $ curl --request GET \
--url https://bd17e6ce.us-south.apiconnect.appdomain.cloud/cats-api/cat \
--header 'accept: application/json' \
--header 'x-ibm-client-id: 819c401d-5d86-4c79-996c-e76ea229cefa'
{
"body": {
"_id": "c4d98db9ebd692116472ed00fc007847",
"_rev": "1-14f0009b0af8d840b9d57ac17dc1e394",
"color": "black",
"name": "kitty"
},
"headers": {
"Content-Type": "application/json"
},
"statusCode": 200
}
Without Authentication
With Authentication
[9:02:07] ulidder:serverless git:(master*) $ curl --request GET \
--url https://bd17e6ce.us-south.apiconnect.appdomain.cloud/cats-api/cat \
--header 'accept: application/json' \
--header 'x-ibm-client-id: Client ID'
{"status":401,"message":"Error: Unauthorized"}
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
Upkar Lidder, IBM
@lidderupk
https://github.com/lidderupk/
ulidder@us.ibm.com
@lidderupk
IBM Developer
By Upkar Lidder
Upkar Lidder is a Full Stack Developer and Data Wrangler with a decade of development experience in a variety of roles. He can be seen speaking at various conferences and participating in local tech groups and meetups.