Slide 1

Slide 1 text

Kubernetes and the BEAM Verónica López @maria_fibonacci CodeBeam V September 2020

Slide 2

Slide 2 text

Kubernetes or BEAM Tooling, versions, goals Deployment, Testing, Fault Tolerance Introduction Use Cases Current Status Conclusion Table of Contents 01 02 03 04

Slide 3

Slide 3 text

Introduction Kubernetes or a BEAM language?

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

1. Does it make sense to use both? They seem to overlap a lot. 2. Why would you use Elixir if we already have agnostic tools like Kubernetes, that let me use any language I want? 3. Why would I want to use Kubernetes? Aren’t people reinventing the wheel if these solutions were proposed over 15 years ago? Common Questions

Slide 6

Slide 6 text

Truth is that if we used every tool for the purpose it was created for to begin with, all these questions would be irrelevant. Common Questions

Slide 7

Slide 7 text

Current Status How does the Cloud Native ecosystem looks like nowadays?

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Too much tooling, actually

Slide 10

Slide 10 text

Not for technical reasons Everyone wants a chunk of the cake. And who can blame them (us)?

Slide 11

Slide 11 text

Deployment Databases Messaging Service Meshes App Definition Image building Scheduling & Orchestration

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

BEAM and Kubernetes BEAM VM 1. Application/language level 2. Distributed Erlang, but has to be configured manually 3. Hot swap Things in Common 1. Fault Tolerance 2. Service Discovery 3. Live code changes Kubernetes 1. Cluster level 2. Built-in/Service mesh 3. Rolling updates

Slide 14

Slide 14 text

Use Cases 1 3 2 1. Deployment & Orchestration Hybrid strategy 3. Fault Tolerance or Reliability Strategy Depending on the layer 2. Testing Containers approach

Slide 15

Slide 15 text

Deployment & Orchestration 1. Describe app’s lifecycle 2. Cluster’s workload 3. Release Engineeing ● Special case: autoscaling 01

Slide 16

Slide 16 text

Testing Recurring scripts and tests can be packaged in containers, and ran as part of the build pipeline. 02

Slide 17

Slide 17 text

Fault Tolerance/Reliability Strategy 03

Slide 18

Slide 18 text

Conclusion

Slide 19

Slide 19 text

Thanks!