Xvqw4lvwdbguvohoehzb
SkillsCast

My other operating system is a Mirage

14th March 2014 in London at Skills Matter

There are 10 other SkillsCasts available from Functional Programming eXchange 2014

Please log in to watch this conference skillscast.

467754598 640

In this talk Anil introduces a different approach to building networked services which cleanly separates policy and mechanisms, an approach which results in an extremely efficient deployment model that outputs standalone kernels straight from OCaml source code

We are now used too being roused out of bed by news of the latest serious Internet security alert or major data leak. The software services we now use are tremendously complex, and mash together a complex spectrum of policy and mechanisms. I'll talk about a different approach to building networked services in this talk that cleanly separates both of these, and results in an extremely efficient deployment model that outputs standalone kernels straight from OCaml source code.

Hypervisors such as Xen or VMWare provide a flexible platform to host applications as a set of appliances, e.g., web servers or databases. Each appliance usually contains an OS kernel and userspace processes, within which applications access resources via APIs such as POSIX. It's on top of this layer that you typically write code in your functional programming language of choice.

Our Mirage operating system implements a radically different way of building these applications. Mirage supports the progressive specialisation of OCaml source code, and gradually replaces traditional OS components with type-safe libraries. This ultimately results in "unikernels": sealed, fixed-purpose images that run directly on the hypervisor without an intervening guest OS such as Linux.

Developers no longer need to become sysadmins, expert in the configuration of all manner of system components, to use cloud resources. At the same time, they can develop their code using their usual tools, only making the final push to the cloud once they are satisfied their code works. As they explicitly link in components that would normally be provided by the host OS, the resulting unikernels are also highly compact: facilities that are not used are simply not included in the resulting unikernel.

For example, the self-hosting Mirage web server image is less than a megabyte in size...

YOU MAY ALSO LIKE:

Thanks to our sponsors

My other operating system is a Mirage

Anil Madhavapeddy

Anil is a Horizon Research Fellow at the University of Cambridge. He has worked in a variety of senior architecture, engineering, product management, sales and "whatever it takes" roles in industry

SkillsCast

Please log in to watch this conference skillscast.

467754598 640

In this talk Anil introduces a different approach to building networked services which cleanly separates policy and mechanisms, an approach which results in an extremely efficient deployment model that outputs standalone kernels straight from OCaml source code

We are now used too being roused out of bed by news of the latest serious Internet security alert or major data leak. The software services we now use are tremendously complex, and mash together a complex spectrum of policy and mechanisms. I'll talk about a different approach to building networked services in this talk that cleanly separates both of these, and results in an extremely efficient deployment model that outputs standalone kernels straight from OCaml source code.

Hypervisors such as Xen or VMWare provide a flexible platform to host applications as a set of appliances, e.g., web servers or databases. Each appliance usually contains an OS kernel and userspace processes, within which applications access resources via APIs such as POSIX. It's on top of this layer that you typically write code in your functional programming language of choice.

Our Mirage operating system implements a radically different way of building these applications. Mirage supports the progressive specialisation of OCaml source code, and gradually replaces traditional OS components with type-safe libraries. This ultimately results in "unikernels": sealed, fixed-purpose images that run directly on the hypervisor without an intervening guest OS such as Linux.

Developers no longer need to become sysadmins, expert in the configuration of all manner of system components, to use cloud resources. At the same time, they can develop their code using their usual tools, only making the final push to the cloud once they are satisfied their code works. As they explicitly link in components that would normally be provided by the host OS, the resulting unikernels are also highly compact: facilities that are not used are simply not included in the resulting unikernel.

For example, the self-hosting Mirage web server image is less than a megabyte in size...

YOU MAY ALSO LIKE:

Thanks to our sponsors

About the Speaker

My other operating system is a Mirage

Anil Madhavapeddy

Anil is a Horizon Research Fellow at the University of Cambridge. He has worked in a variety of senior architecture, engineering, product management, sales and "whatever it takes" roles in industry