Top Banner
@ivar_grimstad #serverless
47

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

Oct 30, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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