All Things Serverless: Kotlin, Kafka and Stream Processing

A presentation at Devoxx Poland in August 2021 in Kraków, Poland by Viktor Gamov

Slide 1

Slide 1

THE CLOUD CONNECTIVITY COMPANY Serverless Kotlin and Apache Ka ka® Viktor Gamov | @gamussa August 2021 f f THE CLOUD CONNECTIVITY COMPANY Kong Con idential

Slide 2

Slide 2

What’s Serverless OH: It’s just someone’s else computer © @gamussa | @thekonginc

Slide 3

Slide 3

@gamussa | @thekonginc

Slide 4

Slide 4

★gamov.dev/twitter ★gamov.dev/telegram ★gamov.dev/youtube @gamussa | @thekonginc

Slide 5

Slide 5

@gamussa | @thekonginc

Slide 6

Slide 6

★ka kainaction.org ★Use code ka kaa35 ★Release - Fall 2021 f f @gamussa | @thekonginc

Slide 7

Slide 7

Serverless = Demand-Driven Infrastructure @gamussa | @thekonginc

Slide 8

Slide 8

Serverless = Demand-Driven Infrastructure ● Operational Model for Cloud Native / 12 Factor @gamussa | @thekonginc

Slide 9

Slide 9

Serverless = Demand-Driven Infrastructure ● Operational Model for Cloud Native / 12 Factor ● Cloud: Pay for what you use @gamussa | @thekonginc

Slide 10

Slide 10

Serverless = Demand-Driven Infrastructure ● Operational Model for Cloud Native / 12 Factor ● Cloud: Pay for what you use ● On-Prem: Return unused resources to a “trough” for… @gamussa | @thekonginc

Slide 11

Slide 11

Portable Serverless @gamussa | @thekonginc

Slide 12

Slide 12

Portable Serverless ● Works on my machine and yours and CI (Testcontainers) @gamussa | @thekonginc

Slide 13

Slide 13

Portable Serverless ● Works on my machine and yours and CI (Testcontainers) ● Works on your own infrastructure (Kubernetes) @gamussa | @thekonginc

Slide 14

Slide 14

Portable Serverless ● Works on my machine and yours and CI (Testcontainers) ● Works on your own infrastructure (Kubernetes) ● Works on managed serverless clouds (Cloud Run, Con uent Cloud) fl @gamussa | @thekonginc

Slide 15

Slide 15

Goal: Stackover low Question Stream Processor Transform Question Stream stackoverflow-to-ws-x5ht4amjia-uc.a.run.app SUM(favorite_count) { COUNT(tag) “url”: URL, “title”: String, “body”: String, “favorite_count”: Int, “view_count”: Int, “tags”: Array<String> } f @gamussa | @thekonginc Stream Viewer

Slide 16

Slide 16

Slide 17

Slide 17

Tools we use • gcloud • ccloud • jq • Spring Boot @gamussa | @thekonginc

Slide 18

Slide 18

https://gamov.dev/serverless-kotkaf @gamussa | @thekonginc

Slide 19

Slide 19

https://gamov.dev/kong-krakow @gamussa | @thekonginc

Slide 20

Slide 20

As Always Have A Nice Day Viktor Gamov @gamussa | @thekonginc