lightning talk: erlang on xen - mikhail bortnyk

38
Erlang on Xen Mikhail Bortnyk, Amoniac OU

Upload: elixir-meetup

Post on 13-Apr-2017

58 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Erlang on XenMikhail Bortnyk, Amoniac OU

Page 2: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What to know• XEN

Page 3: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What to know• XEN - virtualization hypervisor, modified Linux

kernel, isolated domains, paravirtualization support

Page 4: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What to know• XEN - virtualization hypervisor, modified Linux

kernel, isolated domains, paravirtualization support

• Erlang - functional concurrent programming language (all you guys know about it, right?)

Page 5: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What to know• XEN - virtualization hypervisor, modified Linux

kernel, isolated domains, paravirtualization support

• Erlang - functional concurrent programming language (all you guys know about it, right?)

• Linux - Unix-like operating system created by Linus Torvalds

Page 6: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Typical application case

Bare metal

Page 7: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Typical application case

Bare metal

Operating system

Page 8: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Typical application case

Bare metal

Operating system

Your application

Page 9: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Wait, everything is about clouds currently!

Page 10: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Typical cloud application case

Bare metal

Page 11: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Typical cloud application case

Bare metal

Virtualization hypervisor HOST OS

Page 12: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Typical cloud application case

Bare metal

Virtualization hypervisor HOST OS

Guest OS Guest OS Guest OS

Page 13: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Typical cloud application case

Bare metal

Virtualization hypervisor HOST OS

Guest OS Guest OS Guest OS

Your application Your application Your application

Page 14: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Looks pretty familiar, huh?

Page 15: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

And anyone is sick on microservices now

Page 16: Lightning Talk: Erlang on Xen - Mikhail Bortnyk
Page 17: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What’s wrong with this?• Let’s imagine: our app is like, huh, 200 kilobytes

Page 18: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What’s wrong with this?• Let’s imagine: our app is like, huh, 200 KB

• It doesn’t matter - Linux kernel is ~10 MB

Page 19: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What’s wrong with this?• Let’s imagine: our app is like, huh, 200 KB

• It doesn’t matter - Linux kernel is ~10 MB

• Typical Linux image is ~ 400 MB

Page 20: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What’s wrong with this?• Let’s imagine: our app is like, huh, 200 KB

• It doesn’t matter - Linux kernel is ~10 MB

• Typical Linux image is ~ 400 MB

• Multiply this on amount of instances

Page 21: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What’s wrong with this?• Let’s imagine: our app is like, huh, 200 KB

• It doesn’t matter - Linux kernel is ~10 MB

• Typical Linux image is ~ 400 MB

• Multiply this on amount of instances

• More than 500MB overhead for 200 KB application

Page 22: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What’s wrong with this?• Let’s imagine: our app is like, huh, 200 KB

• It doesn’t matter - Linux kernel is ~10 MB

• Typical Linux image is ~ 400 MB

• Multiply this on amount of instances

• More than 500MB overhead for 200 KB application

• Overheating, war for resources, depression, death

Page 23: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

We all gonna die

Page 24: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Erlang on Xen to the rescue!

Page 25: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Erlang on XEN• Erlang VM running on XEN guest without operating

system

Page 26: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Erlang on XEN• Erlang VM running on XEN guest without operating

system

• Actually named LING

Page 27: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Erlang on XEN• Erlang VM running on XEN guest without operating

system

• Actually named LING

• Developed by Cloudozer

Page 28: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Erlang on XEN• Erlang VM running on XEN guest without operating

system

• Actually named LING

• Developed by Cloudozer

• Performed in C and Erlang

Page 29: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Erlang on XEN• Erlang VM running on XEN guest without operating

system

• Actually named LING

• Developed by Cloudozer

• Performed in C and Erlang

• Footprint is pretty small: 1.2 MB of low-level code + 2 MB of C stack + 2 MB of imported modules + 2 MB of network buffers = ~ 8 MB

Page 30: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Erlang on XEN• Erlang VM running on XEN guest without operating system

• Actually named LING

• Developed by Cloudozer

• Performed in C and Erlang

• Footprint is pretty small: 1.2 MB of low-level code + 2 MB of C stack + 2 MB of imported modules + 2 MB of network buffers = ~ 8 MB

• Minimal memory requirement to run: 20 MB per guest

Page 31: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Erlang on XEN• Erlang VM running on XEN guest without operating system

• Actually named LING

• Developed by Cloudozer

• Performed in C and Erlang

• Footprint is pretty small: 1.2 MB of low-level code + 2 MB of C stack + 2 MB of imported modules + 2 MB of network buffers = ~ 8 MB

• Minimal memory requirement to run: 20 MB per guest

• Spawns pretty fast - from 0.2 to 1 s

Page 32: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Some little demo (what can go wrong,

srsly?)

Page 33: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What to hack• Code is open-sourced (look into for license details)

Page 34: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What to hack• Code is open-sourced (look into for license details)

• Teach it to work with Elixir (actually, lingex)

Page 35: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What to hack• Code is open-sourced (look into for license details)

• Teach it to work with Elixir (actually, lingex)

• Make LING alive again! (last commit - Oct 2015)

Page 36: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

What to hack• Code is open-sourced (look into for license details)

• Teach it to work with Elixir (actually, lingex)

• Make LING alive again! (last commit - Oct 2015)

• Just have fun with some hacking and getting into internals of Erlang and BEAM

Page 37: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Thank you!

Page 38: Lightning Talk: Erlang on Xen - Mikhail Bortnyk

Questions?