2016 Unikernels and More: Cloud Innovators Forum Session Information
EVENT CONCLUDED: The following sessions were presented at 2016 Unikernels and More: Cloud Innovators Forum on Friday January 22, 2016 at Southern California Linux Expo (SCALE) 14X:
Building the Superfluid Cloud with Unikernels
The confluence of a number of relatively recent trends including the development of virtualization technologies, the deployment of micro datacenters at PoPs, and the availability of microservers, opens up the possibility of evolving the cloud, and the network it is connected to, towards a superfluid cloud: a model where parties other than infrastructure owners can quickly deploy and migrate virtualized services throughout the network (in the core, at aggregation points and at the edge), enabling a number of novel use cases including virtualized CPEs and on-the-fly services, among others. Towards this goal, we identify a number of required mechanisms and present early evaluation results of their implementation.
On an inexpensive commodity server, we are able to concurrently run up to 10,000 specialized virtual machines (based on unikernels), instantiate a VM in as little as 10 milliseconds, and migrate it in under 100 milliseconds.
Speaker: Simon Kuenzer, NEC Europe
Simon Kuenzer received his degree in Computer Science at the University of Karlsruhe and is working as a research scientist at the European research lab of NEC in Heidelberg, Germany. He is interested in systems work, and in particular performance optimizations of packet I/O, operating systems, and virtualization technologies.
Knock, Knock: Unikernels Calling!
The lightweight and secure nature of Unikernels means that a prime use-case is to customise network behaviour. At the same time, the high-level languages that many are written in means that this sort of low-level coding is opened up to those who might not traditionally consider themselves "systems developers".
MirageOS is a particular unikernel platform built in the OCaml functional programming language. Able to seamlessly target a range of environments, from a local (POSIX) development environment to Xen virtual machines running on the cloud, it is a prime example of the ways that unikernels open up low-level development.
I will briefly introduce MirageOS before walking through an example developing and then running on Xen a simple network proxy using MirageOS. This proxy will implement a basic form of port-knocking, requiring a sequence of TCP connections (SYNs) to be made to the proxy to indicate a target, before permitting an outgoing connection to that target to be made.
Thanks to Thomas Gazagnaire for the material used in the walkthrough!
30 minutes
Speaker: Richard Mortier, Cambridge University
Richard Mortier is a University Lecturer in the Systems Research Group at the Cambridge University Computer Lab. He has previously worked in roles from platform architect to developer in a broad range of companies, including startups and corporates in both the US and UK. Past research includes Internet routing, distributed system performance analysis, network management, aesthetic designable machine-readable codes, and home networking. He now works in the intersection of systems and networking with human-computer interaction, and is currently focused on how to build user-centric systems infrastructure that uses unikernels to enable Human-Data Interaction so that people can better support themselves in a ubiquitous computing world.
Rethinking Foundations for Zero-devops Clouds
The unikernel approach should not be limited to cloud workloads. The cloud infrastructure itself must be built around the same principles. Our goal is to be able to unroll a private cloud on a hundred of servers within an hour. The resultant cloud infrastructure should not require any maintenance afterwards. The talk discusses the current progress of Cloudozer in making this vision a reality.
45 minutes
Speaker: Maxim Kharchenko, Cloudozer CTO
Maxim has two decades of technical and business development experience at large IT companies. Maxim founded a series software product and services companies, championed the first commercial research institute in Russia. He holds MSE in Technology Management from University of Pennsylvania. Maxim is the original author of Erlang on Xen.
Running Go on Rumprun
This talk will explore working with the Go language on top of the Rumprun unikernel allowing the end user to deploy a small Go flavored unikernel directly on top of the Xen Project Hypervisor or other hypervisors.
We'll start off with explaining the motivation behind this and why we think unikernels are the future of infrastructure. We'll also describe why we thought Go would make a great fit not withstanding it's obvious architectural differences such as virtual memory.
Finally, we'll show real live demos of Go running on top of the Rumprun unikernel.
30 minutes
Speaker: Ian Eyberg, DeferPanic Founder
Ian Eyberg is a founder @ DeferPanic and lives in SF. He previously gave talks at both GopherCon and HighLoad++ last year. He is a heavy Go user. He was given his first Slackware floppies over 20 years ago but believes that the cloud of the future will not be based on the monolith but the unikernel.
Solo5: Building a Unikernel Base From Scratch
Unikernels offer a exciting opportunity to rethink kernel design choices and experiment with new low-level features that may affect the performance and security of applications in the cloud and ultimately change the way they are used. This talk is about my experience building Solo5, an open-source kernel library that runs directly on virtual hardware, at the lowest layer of a unikernel. The goal of Solo5 is to better understand the effect of the lowest layer of a unikernel on its behavior (e.g., performance), bring MirageOS to more hypervisors, and also provide a platform for further experimentation with unikernel architectures.
Many of the most popular Unikernels (including MirageOS and ClickOS) rely on Xen Project's Mini-OS as a thin kernel library between the (para)virtual hardware and the rest of the unikernel. These unikernels are reported to have impressive performance, especially boot time (~20ms), which challenges traditional notions of the cost of virtualization. With Solo5, we first ask the question: what role does Mini-OS (or paravirtualization) play in achieving this performance?
Like Mini-OS, Solo5 is a thin kernel library. Unlike Mini-OS, Solo5 runs on fully virtualized hardware rather than paravirtualized hardware. In particular, Solo5 runs on KVM/QEMU (or other x86_64 virtualization environments that expose virtio devices). It currently supports MirageOS unikernels and therefore can can be thought of as an alternative to Xen Project's Mini-OS that runs underneath OCaml in a typical MirageOS stack.
Solo5 is very much a work in progress. I will describe some of the interesting directions going forward, show a demo of a MirageOS/Solo5 unikernel running on KVM/QEMU, and detail the steps for others to get involved and try it out!
30 minutes
Speaker: Dan Williams, IBM
Dan Williams is a Research Staff Member in the cloud platforms and services group at T.J. Watson Research Center in Yorktown Heights, NY, He's thrilled to be working on unikernels, especially low-level kernel issues. Before IBM, he received a Ph.D. in computer science at Cornell University, where he worked on virtualization and operating systems.
Tor in Haskell, or How To Write Programs For Unikernels
You did what, in what, why? In this talk, we’ll talk about Tor, Haskell, and unikernels, and why the technologies make for such a great combination. We’ll then look a little deeper, and walk through the design and construction process of such a project. Why is the first step in building a unikernel to not build a unikernel? Why is resource measurement so important? How the heck to you debug these things? Throughout, we’ll use our Tor implementation as our running example, providing some grounding for the proceedings. Code will be shown, and the pitfalls described. And, in the end, we’ll show how building unikernels isn’t actually all that much different from building anything else … if you take some simple precautions, don’t assume too much, and remember to do things the right way.
45 minutes
Speaker: Adam Wick, Galois Inc.
Adam Wick leads the systems software group at Galois, Inc., an R&D company in Portland, OR. Galois does research in formal methods, programming language development, operating systems, compiler engineering, and security. Dr. Wick has worked in a variety of fields at all level of the software stack, from hardware synthesis to web applications, but has recently focused on network and operating system security.. Amongst his current jobs, he is also the maintainer of the Haskell Lightweight Virtual Machine and oversees Galois' projects using this technology. You can tweet at him at @acwpdx, or shoot him an email at awick@galois.com
Unikernel.org
As word about unikernels spreads, more people are trying to learn about this new approach to programming the cloud and embedded devices. Since information is spread across multiple sites, it can be tricky to know where to get an overview and how to get started quickly. So to help with this, there's a new community website at unikernel.org!
The unikernel.org community site aims to collate information about the various projects and provide a focal point for early adopters to understand more about the technology and become involved in the projects themselves.
Over time, it will also become a gathering place for common infrastructure to form and be shared across projects. Early examples of this include the scripts for booting on Amazon EC2, which began with MirageOS contributors but were used and improved by Rump Kernel contributors. Continuing to work together to make such advances will ease the process of bringing in new users and contributors across all the projects.
In this talk, I will:
- Give examples of how cross-collaboration has advanced different projects
- Discuss infrastructure and tooling needs that will help all projects
- Encourage everyone to contribute!
30 minutes
Speaker: Amir Chaudhry, Unikernel Systems
Amir works at Unikernel Systems and was previously Programme Manager in the OCaml Labs group at the Cambridge Computer Laboratory. Most of his time is spent on open source efforts and he's a big fan of automation (testing, deployment, etc). He's previously been involved in a number of startups and has a diverse academic background with an MSci in Physics and a PhD in Neuroscience.
Unikernels, Meet Docker! Containing Unikernels
Unikernels are a burgeoning technology, ripe for deployment in a range of situations, from cloud-hosted microservices to Internet-of-Things platforms. By compiling and linking only the required code, they offer a range of benefits over traditional OS-hosted deployments, notably efficiency and, through smaller attack surfaces, security. While increasing in maturity, to date they have remained something of a technologists' choice: technically compelling but requiring considerable effort to build, deploy and use.
To address this, some in the community have spent time trying to integrate unikernel management with the popular Docker container management stack. By enabling unikernels to be managed using the standard Docker command line tools, we bring all the ease-of-use and common understandings of that toolchain to bear on this exciting technology.
After giving some context to the challenges faced, we will demonstrate building and running a simple LAMP-like stack using Docker to build and manage Rumprun and MirageOS Unikernels.
Thanks to Amir Chaudhry, Justin Cormack, Martin Lucina, Mindy Preston and Jeremy Yallop for assistance in building this demo!
30 minutes
Speakers: Richard Mortier, Anil Madhavapeddy
Richard Mortier is a University Lecturer in the Systems Research Group at the Cambridge University Computer Lab. He has previously worked in roles from platform architect to developer in a broad range of companies, including startups and corporates in both the US and UK. Past research includes Internet routing, distributed system performance analysis, network management, aesthetic designable machine-readable codes, and home networking. He now works in the intersection of systems and networking with human-computer interaction, and is currently focused on how to build user-centric systems infrastructure that uses unikernels to enable Human-Data Interaction so that people can better support themselves in a ubiquitous computing world.
Anil Madhavapeddy is faculty at the University of Cambridge, based in the Systems Research Group. He was on the original team that developed the Xen hypervisor, and helped develop an industry-leading cloud management toolstack written entirely in OCaml. This XenServer product has been deployed on hundreds of thousands of physical hosts, and drives critical infrastructure for many Fortune 500 companies. Prior to obtaining his PhD in 2006 from the University of Cambridge, Anil had a diverse background in industry at Network Appliance, NASA and Internet Vision. In addition to professional and academic activities, he is an active member of the open-source development community with the OpenBSD operating system, is co-chair of the Commercial Uses of Functional Programming workshop, and serves on the boards of startup companies such as Ashima Arts where OCaml is extensively used.
Unikernels Meet NFVs: Architecture, Performance and Challenges
In this talk, we describe our ongoing initiative to re-architect “network function virtualization (NFVs)” using the Unikernel concept as the main building block. A quick look at current telco and IT markets trends reveals two main intertwined technologies. On one side, and in order to reduce complexities and drawbacks inherited from creating multiple instances of the operating system, there is a strong desire to migrate from virtual machines towards micro-services enablers, namely containers (e.g., Docker). On the other side, it is becoming evident that none of these virtualization techniques would be viable in a real world deployment without an efficient “stitching” technique which would enable intelligent traffic steering between different VMs and/or containers. For this particular purpose, SDN technology is considered as leading candidate to address the “services chaining” problem.
There are multiple advantages behind adopting containers in terms of memory footprint resulting in higher density, single operating system, faster start/shutdown, etc. However, security concerns (e.g., ever- growing kernel complexities, apps isolation, etc), OS limitation (i.e., apps confined to one host should all run on a particular kernel), distributed storage, underlying networking infrastructure have been frequently cited as hurdles towards wide adoption.
Our proposed architecture departs from current market trends as it explores using Unikernel concept as the building block for NFVs and also, embedding “traffic steering” capabilities underlying the designated set of NFVs. Leveraging unikernel features enable operators to provide more granular, highly secure, on- demand services (e.g., per user and/or per device and/or per service) and a better use of their datacenter infrastructure. In our talk, we discuss challenges, performance and ways forward to speed up unikernel adoption.
30 minutes
Speakers: Wassim Haddad, Heikki Mahkonen & Ravi Manghirmalani, Ericsson
Wassim Haddad (wassim.haddad@ericsson.com) is a principal architect within the Distributed Cloud and Applications Platform incubation group at Ericsson Silicon Valley. He is involved in network virtualization and distributed cloud computing activities. Wassim holds a Master’s degree in Mobile Networks and Services from Ecole Nationale Superieure des Telecommunications de Bretagne (France) and a Master’s degree in Computer Science from St Joseph University in Beirut (Lebanon)
Heikki Mahkonen (heikki.mahkonen@ericsson.com) is a senior researcher in IP and Transport group at Ericsson Research. He joined Ericsson Research in 2000. During his 14 years in Ericsson Research he has been involved in many different research projects ranging from video coding and IP routing and mobility to M2M networking and from 3GPP network technologies to cognitive network management technologies. He holds a Master’s degree in Networking and Software Technologies from Helsinki University of Technology. His current research interests include Software Define Networking, cloud and virtualization technologies.
Ravi Manghirmalani (ravi.manghirmalani@ericsson.com) is a senior researcher in IP and Transport group at Ericsson Research. He has a Master’s degree in Computer Science and Engineering. His current research interests include Software Defined Networking, cloud and virtualization technologies.
Unikernels: The Past, the Present, the Future
This talk will give an overview of Unikernel technology: what they are, why they are important, and what challenges and innovations are likely to appear in the future. We will discuss the nature of the Unikernel, what capabilities it brings to the table, and how it changes the nature of the cloud as we know it.
30 minutes
Speaker: Russell Pavlicek, Xen Project Evangelist
Russell has spent two decades evangelizing Open Source. Since his introduction to Linux in 1995, he has relentlessly promoted the concept of Open Source to anyone who would listen. Until recently an employee of Citrix, Russell is currently looking for a new job opportunity.
He has over 150 pieces published, including columns for Infoworld and Processor magazines and one book. He has spoken at over 100 Open Source conferences, including most of the biggest Linux conferences in North America. A former panelist on The Linux Show weekly webcast, he also has many years of experience employing Open Source software in solutions for clients.
The Latest from Xen Project
An important facilitator of Unikernel development, Xen Project continues to develop new and interesting technologies to support the needs of the next generation datacenter. Potentially game-changing technologies like Unikernels will never reach their full potential unless the hypervisor they rely on can handle a large number of potentially tiny VMs effectively and efficiently.
In this talk, Xen Project Advisory Board Chairman Lars Kurth will discuss some of the major advances in the hypervisor produced in last year's releases (4.5 and 4.6). He will also discuss some of the work in development which could appear in upcoming releases.
30 minutes
Speaker: Lars Kurth, Chairman of Xen Project Advisory Board
Lars Kurth had his first contact with the open source community in 1997 when he worked on various parts of the ARM toolchain. This experience led Lars to become a passionate open source enthusiast who worked with and for many open source communities over the past 19 years. Lars contributed to projects such as GCC, Eclipse, Symbian and Xen and became the open source community manager for Xen.org in 2011 and later chairman of the Xen Project Advisory Board.