Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The Big Cloud Native FaaS Lebowski

127 views

Published on

Java User Group Hessen Meetup, März 2020, Vortrag von Mario-Leander Reimer (@LeanderReimer, Technischer Geschäftsbereichsleiter bei QAware).

== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==

Vor nicht allzu langer Zeit war das Aufkommen von Mikroservice-Architekturen eine große Störung im Software-Engineering: Systeme wurden nun als autonome Dienste gebaut, komponiert und betrieben. Aber das ging nur zum Preis zusätzlichen Komplexität.

Serverless und FaaS scheinen die nächste Störung zu sein. Sie sind eine logische Weiterentwicklung, die der inhärenten technologischen Komplexität Rechnung trägt, mit der wir bei der Entwicklung nativer Cloud-Anwendungen konfrontiert sind.

FaaS-Frameworks und Plattformen schießen derzeit wie Pilze aus dem Boden: Knative, OpenFaaS, Fission oder Nuclio sind nur einige Beispiele.

Aber welches davon ist geeignet für dein nächstes Projekt? Und ist es eine Alles-oder-Nichts-Entscheidung oder auch für hybride Architekturen brauchbar? Lasst es uns herausfinden!

Ziel des Vortrags:
- ein gutes Verständnis der Serverless-Architektur und des FaaS-Programmiermodells
- ein Kriterienkatalog mit wesentlichen Merkmalen zur Auswahl einer geeigneten FaaS-Plattform
- ein Überblick über das Ökosystem der nativen FaaS-Plattform der Cloud
- mehrere Arbeitsvitrinen, die Sie mit nach Hause nehmen und mit sich selbst experimentieren können

Erforderliche Publikumserfahrung:
Grundlegende Programmierkenntnisse und Erfahrungen mit Microservices und nativer Cloud-Technologie sind von Vorteil.

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

The Big Cloud Native FaaS Lebowski

  1. 1. THE BIG CLOUD NATIVE FAAS LEBOW$KI// JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  2. 2. Mario-Leander Reimer Chief Software Architect #CloudNativeNerd QAware GmbH http://github.com/lreimer http://speakerdeck.com/lreimer @LeanderReimer
  3. 3. DISCLAIMER This presentation is meant to provide an overview of the current cloud native faas platform ecosystem. It is not my intention to discredit the great work of the people and developers behind these platforms. 3 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  4. 4. CLOUD NATIVE SOFTWARE DEVELOPMENT IS COMPLICATED.DOCKER, YAML, MICROSERVICES, KUBERNETES, ET.AL. 4 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  5. 5. TWO POSSIBLE WAYS TO IMPROVE YOUR CLOUD NATIVE DEVEX 5 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  6. 6. USE THE RIGHT TOOLS FOR THE JOB!DRAFT, BUILDPACKS, HELM, KUSTOMIZE, SKAFFOLD, TILT 6 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  7. 7. SERVERLESS IS THE NEXT LOGICAL EVOLUTIONIN CLOUD NATIVE SOFTWARE DEVELOPMENT. 7 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  8. 8. NO SERVER IS EASIER TO MANAGE THAN NO SERVER. 3 3 Werner Vogels, CTO, Amazon 8 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  9. 9. Serverless computing refers to a new model of cloud native computing, 9 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  10. 10. Serverless computing refers to a new model of cloud native computing, enabled by architectures that do not require server management to build and run applications. 10 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  11. 11. Serverless computing refers to a new model of cloud native computing, enabled by architectures that do not require server management to build and run applications. It leverages a finer-grained deployment model where applications, 11 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  12. 12. Serverless computing refers to a new model of cloud native computing, enabled by architectures that do not require server management to build and run applications. It leverages a finer-grained deployment model where applications, bundled as one or more functions, are uploaded to a platform 12 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  13. 13. Serverless computing refers to a new model of cloud native computing, enabled by architectures that do not require server management to build and run applications. It leverages 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. 1 1 https://landscape.cncf.io/ 13 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  14. 14. 14 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  15. 15. FUNCTIONSAS PREFERRED SERVERLESS APPLICATION PROGRAMMING MODEL.
  16. 16. EVENT-DRIVEN ARCHITECTURE ENABLES LOOSELY COUPLED REACTIVE SOFTWARE COMPONENTS AND SERVICES. 2 2 https://cloudevents.io 16 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  17. 17. 17 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  18. 18. MY USE CASE 1 HYBRID ARCHITECTURES > Combine Microservice Architecture with EDA > Leverage Function services for Event-driven use cases > Reduce resource consumption and costs via Scale 2 Zero > Integrate into existing Enterprise PaaS environment
  19. 19. MY USE CASE 2 EDGE AND FOG COMPUTING > Couch project: evaluate usage of FaaS for low power devices > Support for lightweight schedulers like Docker Swarm > Support for compiled language runtimes like Go, et.al.
  20. 20. MY CRITERIA TO CHOOSE THE IDEAL FAAS PLATFORM > Open Source - no initial $$$ and no vendor lock-in please > Maturity - good and active community, little issues, frequent releases > Use Cases - general purpose, enterprise, big data, AI, edge computing > Approachable - quick start and sufficient documentation > Language Runtimes - please more than JavaScript! > Developer Friendly - tools & frameworks, local runtime, testing, IDE support > Operability - easy setup, supported platforms, technology footprint > Integration - supported triggers, infrastructure, plugins, standards > Performance - good cold startup performance and throughput 20 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  21. 21. 21 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  22. 22. 22 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  23. 23. 23 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  24. 24. 24 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  25. 25. MY MAIN CONTENDERS > fission https://fission.io > Knative http://knative.dev > Kubeless https://kubeless.io > nuclio https://nuclio.io > OpenFaaS https://www.openfaas.com > Kyma http://kyma-project.io
  26. 26. License Use Cases Platforms Runtimes Triggers fission Apache-2.0 Enterprise k8s Go, Python, NodeJS, Java/ JVM cron, http, NATS, Azure Queue Storage, Kafka, Kubewatch Kubeless Apache-2.0 Enterprise K8s NodeJS, Java, Go, JVM, Python, PHP, Ruby, .NET Core, Ballerina, Vert.x cron, http, NATS, kinesis, Kafka OpenFaaS OpenFaaS Cloud MIT Enterprise, IoT K8s, Docker Go, C#, Java8, Java12, Dockerfile, Node.JS 8.x, Node.JS 12.x, PHP7, Ruby, Python 3 http, cron, Kafka, AWS SNS, S3, CloudEvents, IFTTT, Redis, MQTT, NATS nuclio Apache-2.0 Enterprise, AI Docker, K8s, AWS, GCP .NET Core, Go, Java, NodeJS, Python, Shell cron, eventhub, http, kafka, kinesis, nats, rabbitmq, mqtt Knative Apache-2.0 Enterprise K8s Language agnostic Cronjob, API Server, Github, GCP Pub/Sub, Kafka, AWS SQS, HTTP Kyma Apache-2.0 Enterprise K8s Java, Go, NodeJS, Python, Ruby http, NATS, Knative Eventing 26 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  27. 27. CLOUD NATIVE FAAS DEMOS
  28. 28. WELL DUDE, WHICH ONE SHOULD I CHOOSE?
  29. 29. IT DEPENDS ON YOUR USE CASE. 29 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  30. 30. FORK ME HTTPS://GITHUB.COM/LREIMER/THE-BIG-FAAS-LEBOWSKI HTTPS://GITHUB.COM/LREIMER/RASPI-SWARM-BOX 30 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }
  31. 31. THANK YOU! 31 — // JUG Hessen // The Big Cloud Native FaaS Lebowski -> { created with ❤ and ☕ by @LeanderReimer #CloudNativeNerd @qaware }

×