SlideShare uma empresa Scribd logo
1 de 37
© 2014
OSv: PROBABLY THE BEST OS FOR CLOUD
WORKLOADS YOU'VE NEVER HEARD OF
Roman Shaposhnik @rhatr, Pivotal Inc.
Why do we dig PaaS?
‘cuz its awesome!
No, but seriously?
myApp $ cf push …
service #N
service #1
…
service #Z
service #M
…
What about stateful?
HDFS
Zookeeper
HBase
region
server
…
I am alive
Who Am I?
What do I do?
HBase
region
server
And when it fails?
HDFS
Zookeeper
HBase
region
server
…
Node died
You, pitch in!
Aye, aye captain
μservice-based deployment
HDFS
Zookeeper
HBase
region
server
…
I am alive
Who Am I?
What do I do?
HBase
region
server
Lets zoom in
…
service #N
service #1
Anatomy of a μservice
Hardware
“Stuff”
[Java] Virtual Machine
μservice code
How are we doing it today?
Hardware
pkg1
[Java] Virtual Machine
μservice code
pkgN………….
“OS”Linux kernel
Puppet, Chef
Huge VM image
Is there a better way?
vHardware
Hardware
[Java] Virtual Machine
libFS, libC, libJVM
μservice code
Application-specific
static linking
Tiny VM image AKA
unikernel
Hardware-assisted virtualization
What the heck is a FOOkernel?
• What OS design courses have taught us?
– microkernels vs. monolithic kernels
• What did they left behind?
– exokernels, nano
• What they should’ve taught us instead:
– unikernels, anykernels
Unikernels
• “Unikernels: library operating systems for the
cloud” came out in 2013
• A “library” operating system
• A kernel that can only support one process
Anykernels
• Programming discipline for kernel code reuse
• “The Design and Implementation of the
Anykernel and Rump Kernels” by A. Kantee
• Capabilities
– NetBSD filesystems as Linux processes
– User-space TCP/IP stack
OSv from Cloudius Systems
• A unikernel for “POSIX” and memory managed
platforms (JVM, Go, Lua)
• Anykernel’ish
– E.g. ZFS
• Runs on top of KVM, Xen, VirtualBox, VMWare
• Looks like an app to the host OS
• Small, fast and easy to manage at scale
OSv manifesto
• Run existing Linux applications
• Run existing Linux applications faster
• Make boot time ~= exec time
• Explore APIs beyond POSIX
• Leverage memory managed platforms (JVM, Go)
• Stay open
What’s inside?
single address space in “kernel mode”
“kernel threads”
“user threads”
diskZFS virtioC++ kernel
code
dynamic linker
libjvm.soifconfig.so
TCP/IP
iface
Anything it can’t do?
• A 100% replacement for a Linux kernel
– No fork()ing
• No process isolation
• The least amount of device drivers ever
Virtualization vs. performance
• Network-intensive apps:
– unmodified: 25% gain in throughput
47% decrease in latency
– non-POSIX APIs use for Memcached:
290% increase in performance
• Compute-intensive apps:
– YMMV
Van Jacabson’s net channels
socket
TCP
IP
iface
socket
TCP
IP
iface
lock
lock
lock
Traditional TCP/IP stack
app thread kernel (IRQ)
send/recv
socket
TCP
IP
iface
channel
classifier
iface
lock
OSv TCP/IP stack
app thread kernel (IRQ)
send/recv
Memory management in UNIX
OS Memory
Process Memory
JVM Heap
Process Memory
JVM Heap
Memory management in OSv
OS Memory
Process Memory
JVM Heap
JVM balooning (no more -Xmx)
JVM Heap
OS object
Turbo charging JVM GC
object 1 object 2
Turbo charging JVM GC
object 1 object 2
Turbo charging JVM GC
object 1 object 2
CPU MMU assisted tracking table
But what about Docker?
Jailed FS, net, etc.
Hardware
[Java] Virtual Machine
libFS, libC, libJVM
μservice code
Application-specific
static linking
Docker image
Common, shared kernel
Docker != LXC
• $ docker run roman/PetClinic
• Socially-driven image sharing
Ubuntu 14.04
Canonical
Tomcat
Pivotal
Go
Google
PetClinic
Roman
PetClinic
service #N
service #1
$ docker run
Why should it work this time?
• Unikernels/exokernels back in ’90
• JVM-on-bare-metal (Azul, BEA, etc.) back in ‘00
• Things they didn’t have back then
– HW-assisted virtualization (KVM, XEN, etc.)
– Elastic infrastructure oriented architectures
– CloudFoundry
Elastic, next generation datacenter
• Commodity, rack-provisioned Hardware
• Commodity, JeOS to get to Docker++
– CoreOS, SmartOS
• Docker++ as a common backed
• OSv (really KVM, XEN)
• “GitHub” for μservies images
Finally killing DevOps
• Ops (IT) maintains the bare OS
• Devs maintain the images
Finally killing DevOps
• Ops (IT) maintains the bare OS
• Devs maintain the images
Guinea pigs so far
• Cloudius
– Memcached
– Apache Cassandra
– Redis
• Pivotal
– Hadoop ecosystem
Where do we need your help?
• All of the above ;-)
• CloudFoundry integration
– $ cf push roman/petclinic ?
– Docker registry as a backend for BuildPacks ?
– Two-level scheduling for Hadoop ecosystem
Questions?
By @cloud_opinion
Imagine no platforms
I wonder if you can
No need for PAAS or IAAS
A brotherhood of bare metal
Imagine there is no VM
It's easy if you try
No host below us
Above us only apps
Osv: Probably the Best OS for Cloud Workloads You've Never Heard Of (Cloud Foundry Summit 2014)

Mais conteúdo relacionado

Mais de VMware Tanzu

Mais de VMware Tanzu (20)

Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
 
SpringOne Tour: Doing Progressive Delivery with your Team
SpringOne Tour: Doing Progressive Delivery with your TeamSpringOne Tour: Doing Progressive Delivery with your Team
SpringOne Tour: Doing Progressive Delivery with your Team
 
SpringOne Tour: Make the Right Thing the Obvious Thing: The Journey to Intern...
SpringOne Tour: Make the Right Thing the Obvious Thing: The Journey to Intern...SpringOne Tour: Make the Right Thing the Obvious Thing: The Journey to Intern...
SpringOne Tour: Make the Right Thing the Obvious Thing: The Journey to Intern...
 
SpringOne Tour: An Introduction to Azure Spring Apps Enterprise
SpringOne Tour: An Introduction to Azure Spring Apps EnterpriseSpringOne Tour: An Introduction to Azure Spring Apps Enterprise
SpringOne Tour: An Introduction to Azure Spring Apps Enterprise
 
SpringOne Tour: 10 Practical Tips for Building Native and Serverless Spring A...
SpringOne Tour: 10 Practical Tips for Building Native and Serverless Spring A...SpringOne Tour: 10 Practical Tips for Building Native and Serverless Spring A...
SpringOne Tour: 10 Practical Tips for Building Native and Serverless Spring A...
 
SpringOne Tour: Spring Boot 3 and Beyond
SpringOne Tour: Spring Boot 3 and BeyondSpringOne Tour: Spring Boot 3 and Beyond
SpringOne Tour: Spring Boot 3 and Beyond
 
SpringOne Tour 2023: Let's Get Streaming! A Guide to Orchestrating Spring Clo...
SpringOne Tour 2023: Let's Get Streaming! A Guide to Orchestrating Spring Clo...SpringOne Tour 2023: Let's Get Streaming! A Guide to Orchestrating Spring Clo...
SpringOne Tour 2023: Let's Get Streaming! A Guide to Orchestrating Spring Clo...
 
Tanzu Developer Connect | Public Sector | March 29, 2023.pdf
Tanzu Developer Connect | Public Sector | March 29, 2023.pdfTanzu Developer Connect | Public Sector | March 29, 2023.pdf
Tanzu Developer Connect | Public Sector | March 29, 2023.pdf
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

Osv: Probably the Best OS for Cloud Workloads You've Never Heard Of (Cloud Foundry Summit 2014)

  • 2. OSv: PROBABLY THE BEST OS FOR CLOUD WORKLOADS YOU'VE NEVER HEARD OF Roman Shaposhnik @rhatr, Pivotal Inc.
  • 3. Why do we dig PaaS?
  • 5. No, but seriously? myApp $ cf push … service #N service #1 … service #Z service #M …
  • 6. What about stateful? HDFS Zookeeper HBase region server … I am alive Who Am I? What do I do? HBase region server
  • 7. And when it fails? HDFS Zookeeper HBase region server … Node died You, pitch in! Aye, aye captain
  • 8. μservice-based deployment HDFS Zookeeper HBase region server … I am alive Who Am I? What do I do? HBase region server
  • 9. Lets zoom in … service #N service #1
  • 10. Anatomy of a μservice Hardware “Stuff” [Java] Virtual Machine μservice code
  • 11. How are we doing it today? Hardware pkg1 [Java] Virtual Machine μservice code pkgN…………. “OS”Linux kernel Puppet, Chef Huge VM image
  • 12. Is there a better way? vHardware Hardware [Java] Virtual Machine libFS, libC, libJVM μservice code Application-specific static linking Tiny VM image AKA unikernel Hardware-assisted virtualization
  • 13. What the heck is a FOOkernel? • What OS design courses have taught us? – microkernels vs. monolithic kernels • What did they left behind? – exokernels, nano • What they should’ve taught us instead: – unikernels, anykernels
  • 14. Unikernels • “Unikernels: library operating systems for the cloud” came out in 2013 • A “library” operating system • A kernel that can only support one process
  • 15. Anykernels • Programming discipline for kernel code reuse • “The Design and Implementation of the Anykernel and Rump Kernels” by A. Kantee • Capabilities – NetBSD filesystems as Linux processes – User-space TCP/IP stack
  • 16. OSv from Cloudius Systems • A unikernel for “POSIX” and memory managed platforms (JVM, Go, Lua) • Anykernel’ish – E.g. ZFS • Runs on top of KVM, Xen, VirtualBox, VMWare • Looks like an app to the host OS • Small, fast and easy to manage at scale
  • 17. OSv manifesto • Run existing Linux applications • Run existing Linux applications faster • Make boot time ~= exec time • Explore APIs beyond POSIX • Leverage memory managed platforms (JVM, Go) • Stay open
  • 18. What’s inside? single address space in “kernel mode” “kernel threads” “user threads” diskZFS virtioC++ kernel code dynamic linker libjvm.soifconfig.so TCP/IP iface
  • 19. Anything it can’t do? • A 100% replacement for a Linux kernel – No fork()ing • No process isolation • The least amount of device drivers ever
  • 20. Virtualization vs. performance • Network-intensive apps: – unmodified: 25% gain in throughput 47% decrease in latency – non-POSIX APIs use for Memcached: 290% increase in performance • Compute-intensive apps: – YMMV
  • 21. Van Jacabson’s net channels socket TCP IP iface socket TCP IP iface lock lock lock Traditional TCP/IP stack app thread kernel (IRQ) send/recv socket TCP IP iface channel classifier iface lock OSv TCP/IP stack app thread kernel (IRQ) send/recv
  • 22. Memory management in UNIX OS Memory Process Memory JVM Heap Process Memory JVM Heap
  • 23. Memory management in OSv OS Memory Process Memory JVM Heap
  • 24. JVM balooning (no more -Xmx) JVM Heap OS object
  • 25. Turbo charging JVM GC object 1 object 2
  • 26. Turbo charging JVM GC object 1 object 2
  • 27. Turbo charging JVM GC object 1 object 2 CPU MMU assisted tracking table
  • 28. But what about Docker? Jailed FS, net, etc. Hardware [Java] Virtual Machine libFS, libC, libJVM μservice code Application-specific static linking Docker image Common, shared kernel
  • 29. Docker != LXC • $ docker run roman/PetClinic • Socially-driven image sharing Ubuntu 14.04 Canonical Tomcat Pivotal Go Google PetClinic Roman PetClinic service #N service #1 $ docker run
  • 30. Why should it work this time? • Unikernels/exokernels back in ’90 • JVM-on-bare-metal (Azul, BEA, etc.) back in ‘00 • Things they didn’t have back then – HW-assisted virtualization (KVM, XEN, etc.) – Elastic infrastructure oriented architectures – CloudFoundry
  • 31. Elastic, next generation datacenter • Commodity, rack-provisioned Hardware • Commodity, JeOS to get to Docker++ – CoreOS, SmartOS • Docker++ as a common backed • OSv (really KVM, XEN) • “GitHub” for μservies images
  • 32. Finally killing DevOps • Ops (IT) maintains the bare OS • Devs maintain the images
  • 33. Finally killing DevOps • Ops (IT) maintains the bare OS • Devs maintain the images
  • 34. Guinea pigs so far • Cloudius – Memcached – Apache Cassandra – Redis • Pivotal – Hadoop ecosystem
  • 35. Where do we need your help? • All of the above ;-) • CloudFoundry integration – $ cf push roman/petclinic ? – Docker registry as a backend for BuildPacks ? – Two-level scheduling for Hadoop ecosystem
  • 36. Questions? By @cloud_opinion Imagine no platforms I wonder if you can No need for PAAS or IAAS A brotherhood of bare metal Imagine there is no VM It's easy if you try No host below us Above us only apps