Presentation: Building Functional Infrastructure with Mirage OS

The current state of the art in the security of networked system is an absolute disaster, with buffer overflows and logical flaws regularly exposing critical infrastructure to external attack. Mirage proposes a radically different way to deploy safer Internet applications. Rather than the traditional OS model where functionality is provided in layers, building up from a feature-rich kernel through userspace and language runtimes, Mirage progressively specialises application code written in OCaml, replacing traditional OS components such as the filesystem, network stack and scheduler, with type-safe libraries. This allows you to code using your usual tools, only making the final push to the cloud once you are happy your code works.

 

The end result is that your application becomes a “unikernel”: a sealed, fixed-purpose bootable image that runs directly on the Xen hypervisor without need for a guest OS such as Linux. As unikernels only link in the libraries explicitly required by the application code, rather than having to include all the functionality that might ever be requested by a running process, they are very compact: the complete self-hosting Mirage web server image is less than a megabyte in size!

 

In this talk, I’ll explain how the OCaml module system enables the construction of such large scale OS software, and also the resulting portability benefits: the talk will be given from a low-power ARM board running Mirage, and the same logic can also be compiled into JavaScript, kernel modules or Unix binaries. Finally, I’ll show off the open-source ecosystem that has built around Mirage, such as a clean-slate OCaml TLS stack and the Irmin branch-consistent Git-like datastore, and how you can start building your own unikernel appliances for critical infrastructural tasks.

Tracks

Covering innovative topics

Wednesday, 4 March

  • Architecture Improvements

    Next gen architecture, Arch over the full lifecycle, Bleeding edge tech in legacy, Cognitive biases in architecture, Evolving Architecture.

  • Big Data Frameworks, Architectures, and Data Science

    As big data tools and architectures continue to evolve, how do you architect and select technologies that work now but are also future-proof?

  • DevOps and Continuous Delivery: Code Beyond the Dev Team

    As infrastructure becomes as malleable as code, a unified approach from reqs to ops is needed to deliver promised breakthroughs.

  • Engineering Culture

    The best teams and companies talk about how to create amazing engineering cultures.

  • Java - Not Dead Yet

    Java is evolving to meet developer and business needs, from lambdas in Java 8 to built-in support for money types rumoured for Java 9.

  • Mind Matters at Work

    How theories from neuroscience and psychology can help us better understand IT professionals and discover what really motivates them.

Thursday, 5 March

  • Docker, containers and application portability

    People building stuff for and with containers showing why application portability is important, and what can be done with expanding ecosystems.

  • Evolving agile

    Reflecting on and learning from successes and failures in applying agile approaches since the creation of the Agile Manifesto and exploring ways of applying agile practices to increase business value.

  • HTML and JS Today

    The state of the art in web technologies. What is important to know and why?

  • Internet of Things

    What software devs need to know to design and build for instrumented environments and reactive things, what new issues and questions it raises.

  • Modern CS in the Real World

    How modern CS helps you tackle today's problems.

  • Reactive Architecture

    How to create reactive systems is more than simply learning a framework. Thinking in a reactive way helps you to design responsive architectures.

  • The Go Language

    The Go Language - Concurrency, Performance, Systems Programming.

Friday, 6 March

  • Architectures You've Always Wondered About

    Get a rare look behind the scenes and get to see the architectures of the most well-known sites with the least known architectures.

  • Low latency trading

    The 'race to zero' continues. Join us to learn about the latest tecniques being deployed to optimise order routing and execution.

  • Open source in finance

    Financial services have changed from OS as cost-saving to a competitive weapon. See open source projects that are disrupting the finance industry.

  • Product Mastery

    Come have fun with fellow PMs and BAs as you learn about Value Management. We'll even tell you dark tales of Snarks, Hippos and other obstacles.

  • Taming Microservices

    Tackling the challenges of microservices in practice.

  • Taming Mobile

    Mobile is no longer the Next Big Thing but a requirement for your business. Hear from those who have implemented successful mobile systems.

Conference for Professional Software Developers