SlideShare a Scribd company logo
1 of 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)

More Related Content

More from VMware Tanzu

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.pdfVMware Tanzu
 
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 2023VMware Tanzu
 
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 2023VMware Tanzu
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptxVMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchVMware Tanzu
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishVMware Tanzu
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVMware Tanzu
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - FrenchVMware Tanzu
 
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 2023VMware Tanzu
 
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 BootVMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerVMware Tanzu
 
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 PracticeVMware Tanzu
 
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 SolutionsVMware Tanzu
 
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 TeamVMware Tanzu
 
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...VMware Tanzu
 
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 EnterpriseVMware Tanzu
 
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...VMware Tanzu
 
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 BeyondVMware Tanzu
 
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...VMware Tanzu
 
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.pdfVMware Tanzu
 

More from 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
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 

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