VM -> SERVERLESS MEETUP 2017-03-23
VM -> SERVERLESSMEETUP 2017-03-23
OF IT-INFRASTRUCTURECOMMODITISATION
COMMODITISATION
SHORT HISTORY OF COMPUTE
1960
2000
▸ Mainframes
▸ Minicomputers
▸ Unix Servers/Workstations
▸ Windows/Linux on x86
3
COMMODITISATION
SHORT HISTORY OF COMPUTE
1960
2000
▸ Mainframes
▸ Minicomputers
▸ Unix Servers/Workstations
▸ Windows/Linux on x86
1996 First x86 commodity Linux cluster
4
COMMODITISATION
SHORT HISTORY OF COMPUTE
1960
2000
▸ Mainframes
▸ Minicomputers
▸ Unix Servers/Workstations
▸ Windows/Linux on x86
5
COMMODITISATION
SHORT HISTORY OF COMPUTE
physicalvirtual
1960
2000
today
▸ Mainframes
▸ Minicomputers
▸ Unix Servers/Workstations
▸ Windows/Linux on x86
5
COMMODITISATION
SHORT HISTORY OF COMPUTE
physicalvirtual
1960
2000
today
▸ VMware on blades
▸ Public Cloud
▸ Containers
▸ Serverless
▸ Mainframes
▸ Minicomputers
▸ Unix Servers/Workstations
▸ Windows/Linux on x86
5
TCO
COMMODITISATION
SHORT HISTORY OF COMPUTE
physicalvirtual
1960
2000
today
▸ VMware on blades
▸ Public Cloud
▸ Containers
▸ Serverless
▸ Mainframes
▸ Minicomputers
▸ Unix Servers/Workstations
▸ Windows/Linux on x86
5
COMMODITISATION
COMMODITY ITEMS (SOFTWARE EATS THE WORLD) *
physicalvirtual
▸ Mainframes
▸ Minicomputers
▸ Unix Servers/Workstations
▸ Windows/Linux on x86
▸ VMware on blades
▸ Public Cloud
▸ Containers
▸ Serverless
1960
2000
today
HW SW
HW SW
HW SW
HW SW
SW
SW
* rough estimate
6
VIRTUALIZATION TECHNIQUES
THE RAISE OF VIRTUALIZATION
physicalvirtual
▸ VMware on blades
▸ Public Cloud
▸ Containers
▸ Serverless
1960
2000
today
▸ Mainframes
▸ Minicomputers
▸ Unix Servers/Workstations
▸ Windows/Linux on x86
7
VIRTUALIZATION TECHNIQUES
THE RAISE OF VIRTUALIZATION
physicalvirtual
▸ VMware on blades
▸ Public Cloud
▸ Containers
▸ Serverless
1960
2000
today
▸ Mainframes
▸ Minicomputers
▸ Unix Servers/Workstations
▸ Windows/Linux on x86
7
VIRTUALIZATION TECHNIQUES
TECHNIQUES USED
▸ Virtualization provides 1:n consolidation of machines
SERVER
HOSTKERNEL
HYPERVISORSERVICES
Userland(OS)
KERNEL KERNEL
Userland
SERVICES SERVICES
Traditional Virtualization
Userland
8
VIRTUALIZATION TECHNIQUES
TECHNIQUES USED
▸ Virtualization provides 1:n consolidation of machines
▸ Containerization provides OS-level virtualization
SERVER
HOSTKERNEL
HYPERVISORSERVICES
Userland(OS)
KERNEL KERNEL
Userland
SERVICES SERVICES
Traditional Virtualization
Userland
SERVER
HOSTKERNEL
Userland
App1 App2
Linux Container
UserlandUserland
SERVICES
8
userland
TEXT
hardwareTraditional Virtualization Containerization
application
hardware
userland
TEXT
hardware
userland
application
Traditional Virtualization Containerization
application libs
sys-calls
hardware
userland
TEXT
hardware
kernel
userland
application
Traditional Virtualization Containerization
application libs
sys-calls
hardware
hardware
userland
TEXT
hardware
kernel
userland
application
Traditional Virtualization Containerization
hypervisor
application libs
sys-calls
hardware
hardware
userland
TEXT
hardware
kernel
kernel
userland
application
Traditional Virtualization Containerization
hypervisor
application libs
sys-calls
hardware
hardware
userland
TEXT
hardware
kernel
kernel
userland
application
Traditional Virtualization Containerization
hypervisor
application libs
sys-calls
hardware
hype
r cal
ls
hardware
userland
TEXT
hardware
kernel
kernel
userland
application
Traditional Virtualization Containerization
hypervisor
application libs
sys-calls
hardware
hype
r cal
ls
hardware
virtualization magic (HVM, PV, SR-IOV,
PCI-passthrough, hyper-calls, …)
userland
TEXT
hardware
kernel
kernel
userland
application
Traditional Virtualization Containerization
hypervisor
kernel
application libs
sys-calls
hardware
hype
r cal
ls
hardware
virtualization magic (HVM, PV, SR-IOV,
PCI-passthrough, hyper-calls, …)
userland
TEXT
hardware
kernel
kernel
Container
userland
application
Traditional Virtualization Containerization
lightweight abstractionwith negligible overhead
hypervisor
kernel
application libs
sys-calls
hardware
hype
r cal
ls
hardware
virtualization magic (HVM, PV, SR-IOV,
PCI-passthrough, hyper-calls, …)
userland
TEXT
hardware
kernel
kernel
Container
userland
application
Traditional Virtualization Containerization
lightweight abstractionwith negligible overhead
hypervisor
kernel
application libs
sys-calls
hardware
102
hype
r cal
ls
hardware
virtualization magic (HVM, PV, SR-IOV,
PCI-passthrough, hyper-calls, …)
VIRTUALIZATION TECHNIQUES
TECHNIQUES USED
▸ Virtualization provides 1:n consolidation of machines
▸ Containerization provides OS-level virtualization
SERVER
HOSTKERNEL
HYPERVISORSERVICES
Userland(OS)
KERNEL KERNEL
Userland
SERVICES SERVICES
Traditional Virtualization
Userland
SERVER
HOSTKERNEL
Userland
App1 App2
Linux Container
UserlandUserland
SERVICES
10
VIRTUALIZATION TECHNIQUES
TECHNIQUES USED
▸ Virtualization provides 1:n consolidation of machines
▸ Containerization provides OS-level virtualization
▸ Uni-Kernels combine bin, libs and kernel
SERVER
HOSTKERNEL
HYPERVISORSERVICES
Userland(OS)
KERNEL KERNEL
Userland
SERVICES SERVICES
Traditional Virtualization
Userland
SERVER
HOSTKERNEL
Userland
App1 App2
Linux Container
UserlandUserland
SERVICESUNIKERNEL
SERVER
HOSTKERNEL
OS
Serverless
App1
10
VIRTUALIZATION TECHNIQUES
UNIKERNELS
▸ Extract what is really needed from the OS
▸ Kernel-parts, which the app (libs) uses
▸ No multi-process, multi-user setup
▸ creates a sealed, single-purpose image (VM or HW image)
11
userland
TEXT
hardware
kernel
kernel
Traditional Virtualization
hypervisor
application
hardwareUnikernel
kernel
userland
TEXT
hardware
kernel
kernel
Traditional Virtualization
hypervisor
application
hardwareUnikernel
libs
app
kernel
userland
TEXT
hardware
kernel
kernel
Traditional Virtualization
hypervisor
application
hardwareUnikernel
libs
app
NET
VFS
+ Network + VFS I/O — Multiuser— Multiprocess — All other FS — …
kernel
userland
TEXT
hardware
kernel
kernel
Traditional Virtualization
hypervisor
application
hardwareUnikernel
libs
app
NET
VFS
+ Network + VFS I/O — Multiuser— Multiprocess — All other FS — …
userland
TEXT
hardware
kernel
kernel
Traditional Virtualization
hypervisor
application
hardwareUnikernel
+ Network + VFS I/O — Multiuser— Multiprocess — All other FS — …Unikernel
DEMOUNIKERNELS
SOASOA TO SERVERLESS
SERVICE ORIENTED ARCHITECTURE
SERVICE ORIENTED AMBIGUITY
▸ SOA implies an architecture where applications disappear
▸ SOA is about allowing systems to communicate over standard structure
▸ SOA is all about using (mostly) asynchronous messaging
▸ SOA is about exposing software through web services
https://martinfowler.com/bliki/ServiceOrientedAmbiguity.html
15
MICROSERVICESSOA TO SERVERLESS
MICROSERVICES
SOA DONE RIGHT
▸ run services as distinct processes
▸ communicate over network (HTTP, JSON)
▸ composable pieces
IMG -> https://thenewstack.io/the-new-stack-podcast-show-2-the-rise-of-microservices-in-the-paas-world/
17
SERVERLESSSOA TO SERVERLESS
SERVERLESS
FROM SERVICE TO FUNCTION
▸ no service-loop
▸ each request is handled individually
▸ by incoming HTTP-call, network package
▸ no state within function itself (lambda)
!K7, Stateless (Album cover)
19
SERVERLESS
HOW TO IMPLEMENT?
▸ pre-staged
▸ Watchdog that loops binary (faas)
▸ Blocking binary run
▸ ad-hoc
▸ fire-up function when requests comes in
AWS Lambda
20
DEMOFAAS
SERVERLESS
HOW TO IMPLEMENT?
▸ Technology
▸ linux container
▸ Docker
▸ special purpose
▸ unikernels
AWS Lambda
22