serverless world: the good parts ......serverless use cases on-demand functionality: batch...
TRANSCRIPT
![Page 1: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/1.jpg)
INTEGRATION PATTERNS IN A SERVERLESS WORLD: THE GOOD PARTSBilgin IbryamPrincipal Architect
Claus IbsenSenior Principal Software Engineer
May 7th 2019
![Page 2: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/2.jpg)
About us
Claus Ibsen
● Senior Principal Software Engineer at Red Hat
● ASF Member & Java Champion● Camel tech lead● Author of Camel in Action books● Based in Denmark
Bilgin Ibryam
● Principal Architect at Red Hat● ASF Member● Camel committer● Author of Camel Design Patterns &
Kubernetes Patterns books● Based in the UK
![Page 3: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/3.jpg)
Agenda
● Integration Evolution● Workload Types● What is Serverless● What is Camel K● Camel K & Knative● Quarkus● Summary ● Q & A
![Page 4: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/4.jpg)
Integration Evolution
![Page 5: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/5.jpg)
Integration architectures
![Page 6: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/6.jpg)
Service management unit - PodDeployment guarantees Lifecycle guarantees
![Page 7: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/7.jpg)
Stateful applications
StatefulSet guarantees:● Dedicated storage● Stable networking identity● Persistent instance identity● Instance ordinality
![Page 8: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/8.jpg)
Singleton behaviourIn-application locking Out-of-application locking
“At least” or “At most” semantics
![Page 9: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/9.jpg)
Batch and recurring jobs
Characteristics● Run until completion● Idempotent operations● Resource intensive● Run as background tasks● Typically executed on schedule
![Page 10: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/10.jpg)
Stateless services
Characteristics● The classic 12-factor applications● Long running processes● Horizontally (auto) scalable● Healthcheck and recovery
![Page 11: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/11.jpg)
Istio service meshHigh level capabilities● Traffic routing: A/B tests, staged rollouts● Resilience: retries, circuit breakers,
connection limits, health checks● Security: authentication, authorization,
encryption (mTLS)● Observability: metrics, tracing● Testing: fault Injection, traffic mirroring● Platform-independent, polyglot, allows
runtime configuration
![Page 12: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/12.jpg)
Service mesh & Integration
![Page 13: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/13.jpg)
Service mesh & API manager
![Page 14: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/14.jpg)
Serverless
![Page 15: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/15.jpg)
What is serverless?“Serverless computing refers to the concept of building and running applications that don’t require server management. It describes a finer-grained deployment model where applications, bundled as one or more functions, are uploaded to a platform and executed, scaled, billed in response to the exact demand needed”
https://github.com/cncf/wg-serverless
Serverless personas:
● Developer: writes code for, and benefits from the serverless platform.
● Provider: manages the serverless platform.
![Page 16: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/16.jpg)
Serverless use cases● On-demand functionality: batch processing, stream processing,
extract-transform-load (ETL).● Task scheduling: divisible work performed for a short time, such as batch jobs.● Event-driven architecture: executing logic in response to data source changes.● Handling non-uniform traffic: occasional inconsistent traffic that doesn’t happen
often, traffic with unpredictable load.● General purpose “glue” code in operations.● Continuous integration pipelines: provision on-demand resources for build jobs.● Automate operational tasks: when a known incident happens actions will be
triggered to fix the problem or notify a person on call.
![Page 17: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/17.jpg)
Serverless requirements
For the platform
● Scaling to zero
● Rapid scaling up and down
● Eventing mechanism
● Routing and networking
For the application runtime
● Fast startup
● Fast first response
● Low on memory and CPU
● Small size on disk
K
![Page 18: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/18.jpg)
Camel K
![Page 19: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/19.jpg)
A lightweight integration platform, based on Apache Camel,born on Kubernetes, with serverless superpowers.
What is Apache Camel K ?
Runs on “vanilla” Kubernetes (1), Openshift (2) and gives its best on a Knative-powered cluster (3)!
K
1.
K
2.
K
3.
![Page 20: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/20.jpg)
How?
from(“telegram:bots/bot-id”) .transform()... .to(“kafka:topic”);
from(“kafka:topic”) .to(“http:my-host/api/path”);
1. Create a integration file (Java, Groovy, Kotlin, JS, XML…)
Camel DSL, based on EIPs...
3. Runs on Openshift or Kubernetes
$ kamel run integration.groovy
2. Run it
![Page 21: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/21.jpg)
Architecture of Camel KDev Environment Remote Cloud
kamel CLI
Camel K Operator
“Integration” Custom
Resource
Running Pod
Live updates!
Fast redeploy!Less than 1 second!Tailored for cloud-native development experience
![Page 22: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/22.jpg)
Fast Deployment of Camel KTime to run a integration using different strategies (in seconds)
Lower is better 😃
F-m-p is the “fabric8-maven-plugin” (http://maven.fabric8.io/) deploying a average spring-boot based integration on Minishift vs. a remote OpenShift cluster (accounting time to upload the fat Jar). Source S2I build has been measured in Red Hat Fuse Online.
![Page 23: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/23.jpg)
Quick Camel K Demo
![Page 25: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/25.jpg)
Camel K&
Knative
![Page 26: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/26.jpg)
What is Knative ?
![Page 27: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/27.jpg)
Build A pluggable model for
building artifacts, like jar files, zips or containers
from source code.
Knative Overview - Components
Serving An event-driven model
that serves the container with your application and
can "scale to zero".
Eventing Common infrastructure for consuming and producing events that will stimulate
applications.
Kubernetes-based platform to build, deploy, and manage modern serverless workloads
![Page 28: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/28.jpg)
What about Camel K & Knative ?
K
![Page 29: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/29.jpg)
Camel K and Knative
<<custom-resource>>
Build
Knative components relevance to Camel
<<custom-resource>>
...<<custom-resource>>
...<<custom-resource>>
...
Knative Build
<<custom-resource>>
Service
<<custom-resource>>
...<<custom-resource>>
...<<custom-resource>>
...
Knative Serving
<<custom-resource>>
...<<custom-resource>>
...<<custom-resource>>
...
Knative Eventing
Standardize buildingcontainer images
Auto-scaling and scale-to-zero Messaging for event-based applications
<<custom-resource>>
Channel
![Page 30: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/30.jpg)
Camel K and Knative
<<custom-resource>>
Build
Knative components relevance to Camel
<<custom-resource>>
...<<custom-resource>>
...<<custom-resource>>
...
Knative Build
<<custom-resource>>
Service
<<custom-resource>>
...<<custom-resource>>
...<<custom-resource>>
...
Knative Serving
<<custom-resource>>
...<<custom-resource>>
...<<custom-resource>>
...
Knative Eventing
Standardize buildingcontainer images
Auto-scaling and scale-to-zero Messaging for event-based applications
<<custom-resource>>
Channel
![Page 31: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/31.jpg)
Camel K and Knative Serving
Kubernetes Namespace
There’s no container if no one needs it!
rest().post(“/path”) .to(“xx:system1”) .to(“xx:system2”)
300+ components!
System 1
System 2
Knative Service
![Page 32: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/32.jpg)
Camel K and Knative Serving
Kubernetes Namespace
A container is created only when needed!
rest().post(“/path”) .to(“xx:system1”) .to(“xx:system2”)
300+ components!
System 1
System 2
Knative Service
Request Pod
![Page 33: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/33.jpg)
Camel K and Knative Serving
Kubernetes Namespacerest().post(“/path”) .to(“xx:system1”) .to(“xx:system2”)
300+ components!
System 1
System 2
Knative Service
Multiple containers under high load!
Request Pod
Request
Request
Pod
Pod
![Page 34: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/34.jpg)
Camel K and Knative
<<custom-resource>>
Build
Knative components relevance to Camel
<<custom-resource>>
...<<custom-resource>>
...<<custom-resource>>
...
Knative Build
<<custom-resource>>
Service
<<custom-resource>>
...<<custom-resource>>
...<<custom-resource>>
...
Knative Serving
<<custom-resource>>
...<<custom-resource>>
...<<custom-resource>>
...
Knative Eventing
Standardize buildingcontainer images
Auto-scaling and scale-to-zero Messaging for event-based applications
<<custom-resource>>
Channel
![Page 35: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/35.jpg)
Kubernetes Namespace
Camel K and Knative Eventing
from(“knative:channel/a”) .to(“xx:system1”) .to(“xx:system2”)
300+ components!
System 1
System 2
Knative Service
Knative Subscription
PodCloud Event
https://cloudevents.io/
Channel a
Persisted byKafka, in-memory
(pluggable)
![Page 36: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/36.jpg)
Camel K: same model for different purposes
Camel K and Knative Eventing
Channel
Channel
Channel
Ext System
Event Source (Sink)
EnterpriseIntegration Patterns(Routing)
Function(Integration)
300+ components!
300+ components!
65+ patterns
![Page 37: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/37.jpg)
Knative Eventing includes Camel
![Page 38: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/38.jpg)
Quarkus
![Page 39: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/39.jpg)
![Page 40: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/40.jpg)
Java Density Problem
CONTAINER ORCHESTRATION
Node Node Node
Traditional Cloud-Native Java Stack
Traditional Cloud-Native Java Stack
Traditional Cloud-Native Java Stack
Traditional Cloud-Native Java Stack
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
Go Go Go
Go Go Go
Go Go Go
Go Go Go
Go Go Go
Go Go Go
Go Go Go
https://developers.redhat.com/blog/2017/03/14/java-inside-docker/
![Page 41: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/41.jpg)
SCALE-UP SCALE-DOWN SCALE-TO-ZERO
Java Fast Scaling Problem
![Page 42: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/42.jpg)
What is Quarkus ?
A Kubernetes Native Java stack tailored for GraalVM & OpenJDK HotSpot, crafted from the
best of breed Java libraries and standards
https://quarkus.io
![Page 43: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/43.jpg)
Minimal Footprint● Minimal footprint Java applications
○ Native vs Quarkus+OpenJDK JVM vs Traditional JVM
![Page 44: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/44.jpg)
Apache Camel and Quarkus runs blazingly fast 🚀 with native compiled binaries.Startup is 7 msec, 28mb binary file, and 15mb RSS memory used.
![Page 45: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/45.jpg)
Summary
![Page 46: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/46.jpg)
Application trends (Java)Characteristic Monolithic/SOA Microservies/CNA Functions/Serverless
Packaging Ear/War/Jar Fat-jar Native executable
Startup procedure XML scanning Annotation scanning Instant (AOT compilation)
Memory/binary size 1000s MBs 100s MBs 10s of MBs
Startup/first response Minutes Seconds Milliseconds
Process lifecycle Long Running Managed (w/ restarts) Executes when invoked
Data ownership Shared data Owns data Does not own data
Operations Multiple unrelated operations Domain related operations Single operation
Focus area Multiple business domains Single business domain Single task
![Page 47: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/47.jpg)
Platform trends (Kubernetes)
![Page 48: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/48.jpg)
Book SigningRed Hat Dev Zone
Thursday May 9th1:30pm - 2:30pm
Thursday May 9th11:30am - 12:30pm
https://www.manning.com/books/camel-in-action-second-editionhttps://k8spatterns.io
![Page 49: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/49.jpg)
More Material● Apache Camel K
https://github.com/apache/camel-k● Quick Camel K demo
https://www.youtube.com/watch?v=I-g2xt-Qcb8● Camel K Introduction Blog
https://www.nicolaferraro.me/2018/10/15/introducing-camel-k● Kubernetes enterprise integration patterns with Camel K video
https://www.youtube.com/watch?v=51x9BewGCYA● Camel K and Knative video
https://www.youtube.com/watch?v=btf_e2GniXM● Quarkus Camel Demo
https://github.com/quarkusio/quarkus-quickstarts/tree/master/camel-java
![Page 50: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/50.jpg)
Any Questions ?
Follow us on Twitter@bibryam@davsclaus@ApacheCamelhttps://github.com/apache/camel-k
A ⭐ star on github is appreciated
![Page 51: SERVERLESS WORLD: THE GOOD PARTS ......Serverless use cases On-demand functionality: batch processing, stream processing, extract-transform-load (ETL). Task scheduling: divisible work](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecd60c26bdd3c0b8b5a9640/html5/thumbnails/51.jpg)