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.
with Apache OpenWhisk, an open source, distributed Serverless platform
Upkar Lidder
Developer Advocate, IBM
> ulidder@us.ibm.com
> @lidderupk
> upkar.dev
https://slides.com/upkar/women-who-code-serverless
@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
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
https://github.com/cncf/landscape#serverless
@lidderupk
IBM Developer
Amazon Lambda
•Node.js, Python, Java, C# and Go
IBM Cloud Functions
•Node.js 8, Node.js 6, Python 3.6.4, Python 3.6.1, PHP 7.1, PHP 7.2, and Swift 4, Swift 3.1.1, Ruby 2.5, Docker
•Recent change – 2GB max memory and 10 minutes run limit.
Microsoft Azure
•C#, F#, Node.js (in GA), Java, Python, PHP, TypeScript, Bash, PowerShell (experimental mode)
Google Cloud Function
•Node.js, Python
This space is constantly changing !
@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
Leverages existing opensource solutions
@lidderupk
IBM Developer
Leverages existing opensource solutions
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
Entry point
Dictionary
Dictionary
@lidderupk
IBM Developer
@lidderupk
IBM Cloud - http://bit.ly/wwc-openwhisk
1user registers
2tail logs
3SMS
4email
@lidderupk
IBM Developer
https://github.com/lidderupk/openwhisk-registration/tree/master/javascript
@lidderupk
IBM Developer
CONDITION Action Name
Code
THEN Action Name
Code
ELSE Action Name
Code
@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
Entry point
Object In
Object Out
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
wsk action create helloJava target/hello-world-java.jar --main com.example.FunctionApp
@lidderupk
IBM Developer
wsk action invoke --result helloJava --param name World
@lidderupk
IBM Developer
@lidderupk
IBM Developer
Entry point
JsonObject In
JsonObject Out
@lidderupk
IBM Developer
JsonObject In
Fat JAR
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
1
2
3
4
@lidderupk
IBM Developer
@lidderupk
IBM Developer
1
2
3
4
5
@lidderupk
IBM Developer
@lidderupk
IBM Developer
@lidderupk
IBM Developer
Upkar Lidder, IBM
@lidderupk
https://github.com/lidderupk/
ulidder@us.ibm.com
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.