#serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk Node.js, Swift, Java,...

47
@ivar_grimstad #serverless

Transcript of #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk Node.js, Swift, Java,...

Page 1: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#serverless

Page 2: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad

https://github.com/ivargrimstad

https://www.linkedin.com/in/ivargrimstad

Page 3: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Page 4: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#microservices

Serverless

Implementations + Demos

Summary

Page 5: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

What is Serverless?

Page 6: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

A Very Bad Name!

Page 7: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

There are Still Servers!

Page 8: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

…just…

Page 9: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Someone Else’s Server

Page 10: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

What it Really is…

Page 11: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

No Server Management

Page 12: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Scale Automatically

Page 13: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Pay only while your code runs

Page 14: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Runs code in response to Events

Page 15: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Open and Familiar

Page 16: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Serverless is also known as…

Page 17: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Functions as a Service Cloud Functions

Page 18: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Infrastructure

Platform

Containers

Applications

Functions

Page 19: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Applications

Functions

Someone Else’s Job

Page 20: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

What aboutArchitecture?

Page 21: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Choreography over Orchestration

Page 22: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

What’s in it for theDevelopers

Page 23: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Easier Faster

Cheaper Powerful

Page 24: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

What’s in it for theBusiness

Page 25: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Agility Innovation

Cost Reduction

Page 26: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Java Functions?

Page 27: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Page 28: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

https://quarkus.io/

Page 29: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

What aboutFrameworks?

Page 30: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

FaaS Implementations

Page 31: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Open FaaS https://www.openfaas.com/ Python, Node.js, Go, C#, …

Page 32: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Apache OpenWhisk https://openwhisk.apache.org

Node.js, Swift, Java, Go, Python, PHP, Ruby

Page 33: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Google Cloud Functions https://cloud.google.com/functions

Node.js, Python

Page 34: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Knative https://cloud.google.com/knative/ Go, C#, Java, Kotlin, Rust, Python, Dart, …

Page 35: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

AWS Lambda https://aws.amazon.com/lambda

Java, Node.js, C#, Python, …

Page 36: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Demo

Page 37: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

IBM Cloud Functions https://www.ibm.com/cloud/functions

Node.js, Swift, Java, Go, Python, PHP, Ruby

Page 38: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Demo

Page 39: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Azure Functions https://docs.microsoft.com/en-us/azure/azure-functions/

C#, F#, JavaScript, Java, …

Page 40: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

https://azure.microsoft.com/en-us/updates/azure-functions-java-support-ga/

Page 41: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Demo

Page 42: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Fn Project https://fnproject.io/

Node.js, Java, Go, Ruby, Python

Page 43: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Demo

Page 44: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Summary

Page 45: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

f(x)

Page 46: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

Samples https://github.com/ivargrimstad/function-duke

FaaS Implementations (covered here) https://www.openfaas.com https://openwhisk.apache.org https://cloud.google.com/functions https://aws.amazon.com/lambda https://www.ibm.com/cloud/functions https://docs.microsoft.com/en-us/azure/azure-functions https://fnproject.io

Page 47: #serverless @ivar grimstad file#Serverless @ivar_grimstad Apache OpenWhisk  Node.js, Swift, Java, Go, Python, PHP, Ruby

@ivar_grimstad#Serverless

cybercom.com