simplicity of built-in event integration, contribute to software development efficiencies. 2. Functions which don’t consume resources when idle can provide significant resource efficiencies. 3. Applying Serverless to distributed computing brings operational efficiencies based on automated event-based scheduling and self- scaling.
• Decouple the business logic from any specific runtime (HTTP, Message) • Support a uniform programming model across FaaS providers • Run standalone (locally or in a PaaS) • Enable Spring Boot features on FaaS providers Spring Cloud Function
Inc. and licensed under a Creative Commons Attribution- NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ what is riff? 20 riff provides developers with a service for executing Functions in response to Events. Features ★ event streaming ★ polyglot ★ Kubernetes-native Events f(x) f(x) f(x) Functions f(x) riff
Inc. and licensed under a Creative Commons Attribution- NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ functions are packaged as containers 21 Function Invoker Function Code Container Base Image Function Layer Container Registry Currently • Java • Node • Bash • Python are supported
Inc. and licensed under a Creative Commons Attribution- NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ sidecars connect functions with event brokers 22 Function Pod Function Container Sidecar Container Event Broker broker-specific API binder dispatcher invoker function HTTP gRPC stdio pipes
Inc. and licensed under a Creative Commons Attribution- NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 23 functions and topics are Kubernetes resources Function Controller Function YAML - name - input / output topics - artifact / params Topic YAML - name - params Kafka Http Gateway Topic Controller Sc Fn Pod Sc Fn Pod Sc Fn Pod k8s API
Inc. and licensed under a Creative Commons Attribution- NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ functions scale with events riff function controller ★ interacts with K8s API ★ scales functions 0-1 and 1-N ★ monitors event-lag in Kafka 24 Function Controller Event Broker f(x) f(x) f(x) k8s API
Inc. and licensed under a Creative Commons Attribution- NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 25 Immediate Instant-on Consistent Immutable Containers Efficient Scale to Zero Choice of Compromises: • Launch Function containers on demand => Slow start • Inject Function code into running containers => Breaks container immutability • Keep Function containers running => Pay for idle resources ICE Want serverless?... pick 2