of 24 /24
clda.co/faaskubernetes 2/23/2017 "Onpremises" FaaS on Kubernetes

"On-premises" FaaS on Kubernetes

Embed Size (px)

Citation preview

Page 1: "On-premises" FaaS on Kubernetes

clda.co/faas-­‐kubernetes2/23/2017

"On-­‐premises"  FaaS  on  Kubernetes

Page 2: "On-premises" FaaS on Kubernetes

About  Me

@alex_casalboni

clda.co/faas-­‐kubernetes

Bachelor  in  Computer  Science

Master  in  Sound  &  Music  Engineering

SoBware  Engineer  &  Web  Developer

Cloud  Evangelist  @  Cloud  Academy

Page 3: "On-premises" FaaS on Kubernetes

Agenda

clda.co/faas-­‐kubernetes

What  does  FaaS  mean?

FaaS  in  the  Open-­‐source  World

FaaS  frameworks  for  Kubernetes

Pros  &  Cons  of  “On-­‐premises”  FaaS

Page 4: "On-premises" FaaS on Kubernetes

clda.co/faas-­‐kubernetes

What  does  FaaS  mean?

Page 5: "On-premises" FaaS on Kubernetes

Func;on  as  a  Service

clda.co/faas-­‐kubernetes

h"ps://en.wikipedia.org/wiki/Func5on_as_a_Service

Core  component  of  Serverless  

No  infrastructure  management

Microservices  approach

FuncOon  as  the  unit  of  delivery

MulO-­‐language  support  (BYOC)

Transparent  scaling  (PAYG)

Page 6: "On-premises" FaaS on Kubernetes

How  do  you  FaaS?

clda.co/faas-­‐kubernetes

Independent  FuncOons

Versioning  &  Staging

Cross-­‐team  CollaboraOon

Triggers/Events

Local  unit  tesOng

IntegraOon  tests

Automated  Workflow CI/CD

Page 7: "On-premises" FaaS on Kubernetes

clda.co/faas-­‐kubernetes

FaaS  in  the  Open-­‐source  World

Page 8: "On-premises" FaaS on Kubernetes

Open-­‐source  FaaS

clda.co/faas-­‐kubernetes

openwhisk.org open.iron.iogithub.com/bfirsh/funker

Apache OpenWhisk Funker IronFunctions

Page 9: "On-premises" FaaS on Kubernetes

Open-­‐source  FaaS  -­‐  OpenWhisk

clda.co/faas-­‐kubernetes

openwhisk.org

Apache OpenWhisk

github.com/openwhisk/openwhisk/issues/1402

IniOally  developed  by  IBM

FaaS  component  of  IBM  Bluemix

Doesn’t  run  on  Kubernetes  yet  (open  issue)

cloudacademy.com/blog/ibm-bluemix

Page 10: "On-premises" FaaS on Kubernetes

github.com/bfirsh/funker

Open-­‐source  FaaS  -­‐  Funker

clda.co/faas-­‐kubernetes

FunkerDeveloped  by  @bfirsh

Based  on  Docker  Swarm

Support  for  Node,  Python  and  Go

cloudacademy.com/blog/docker

Page 11: "On-premises" FaaS on Kubernetes

Open-­‐source  FaaS  -­‐  IronFunc;ons

clda.co/faas-­‐kubernetes

git.io/ironfunctions-kubernetes

FaaS  component  of  Iron.io

Runs  on  Docker

Runs  on  Kubernetesopen.iron.io

IronFunctions

git.io/ironfunctions-docker

Page 12: "On-premises" FaaS on Kubernetes

clda.co/faas-­‐kubernetes

FaaS  frameworks  for  Kubernetes

Page 13: "On-premises" FaaS on Kubernetes

FaaS  on  Kubernetes

clda.co/faas-­‐kubernetes

Kubeless  by  Skippbox

FunkOon  by  Fabric8

Fission  by  Pla_orm9

Page 14: "On-premises" FaaS on Kubernetes

Kubeless

clda.co/faas-­‐kubernetes

“Only”  a  POC  (wriaen  in  Go)

Both  HTTP  and  PubSub

Based  on  Zookeeper  and  Kada+

Page 15: "On-premises" FaaS on Kubernetes

Kubeless  Example

clda.co/faas-­‐kubernetes

Page 16: "On-premises" FaaS on Kubernetes

Funk;on

clda.co/faas-­‐kubernetes

@funk;onio

funktion.fabric8.io

Backed  by  Red  Hat  (wriaen  in  Go)

Integrated  with  fabric8’s  Developer  Pla_orm

Only  Python  is  supported

Based  on  connectors  (200+)

camel.apache.org/components

Page 17: "On-premises" FaaS on Kubernetes

Funk;on  Example

clda.co/faas-­‐kubernetes

Page 18: "On-premises" FaaS on Kubernetes

Fission

clda.co/faas-­‐kubernetes

@fissionio

fission.io

Extensible  and  Fast  by  design  (wriaen  in  Go)

Reduced  cold  starts  (warm  pool)

Only  HTTP  triggers  for  now,  but…

Only  Node  and  Python  for  now,  but…

Page 19: "On-premises" FaaS on Kubernetes

Fission  Example

clda.co/faas-­‐kubernetes

Page 20: "On-premises" FaaS on Kubernetes

clda.co/faas-­‐kubernetes

Pros  &  Cons  of  “On-­‐premises”  FaaS

Page 21: "On-premises" FaaS on Kubernetes

Pros  of  “On-­‐premises”  FaaS

clda.co/faas-­‐kubernetes

Kubernetes  abstracOon  for  devs

Open-­‐source  soluOon

Fewer  non-­‐funcOonal  limitaOons

More  control  over  infrastructure

Might  be  cheaper  overall

Might  be  faster  (dedicated  cluster)

Page 22: "On-premises" FaaS on Kubernetes

Cons  of  “On-­‐premises”  FaaS

clda.co/faas-­‐kubernetes

Many  missing  features

Versioning,  staging,  env.  vars,  Omeouts

TesOng,  monitoring,  logging

Responsibility  &  Ownership

Provisioning  &  configuraOon

UpOme  &  monitoringPermissions  &  auth,  orchestraOon

More  naOve  triggers  (storage,  db,  streams) OperaOonal  complexity

Page 23: "On-premises" FaaS on Kubernetes

Addi;onal  Resources

clda.co/faas-­‐kubernetes

cloudacademy.com/webinars/kubernetes-38

Webinar:  Hands  on  Kubernetes  (Part  1)

cloudacademy.com/webinars/kubernetes-41

Webinar:  Ecosystem  &  ProducOon  OperaOons  (Kubernetes  Part  2)

cloudacademy.com/webinars/docker-31

Webinar:  Docker  -­‐  From  Dev  to  ProducOon

cloudacademy.com/webinars/docker-34

Webinar:  Docker  -­‐  ProducOon  &  Beyond

by  Adam  Hawkins  (@adman65)

Page 24: "On-premises" FaaS on Kubernetes

Thank  you!                

2/23/2017 clda.co/faas-­‐kubernetes

Q  &  A