2016 Unikernels and More: Cloud Innovators Forum Session Information
- 1 Building the Superfluid Cloud with Unikernels
- 2 Rethinking Foundations for Zero-devops Clouds
- 3 Running Go on Rumprun
- 4 Solo5: Building a Unikernel Base From Scratch
- 5 Tor in Haskell, or How To Write Programs For Unikernels
- 6 Unikernel.org
- 7 Unikernels, Meet Docker! Containing Unikernels
- 8 Unikernels Meet NFVs: Architecture, Performance and Challenges
- 9 Unikernels: The Past, the Present, the Future
- 10 Xen Project Update
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.
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.
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.
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!
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.
Speaker: Adam Wick, Galois
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 firstname.lastname@example.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!
Speaker: Amir Chaudry, 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!
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.
Speakers: Wassim Haddad, Heikki Mahkonen & Ravi Manghirmalani, Ericsson
Wassim Haddad (email@example.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 (firstname.lastname@example.org) 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 (email@example.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.
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.
He has over 150 pieces published, including columns for Infoworld and Processor magazines and one book. He has spoken at over 75 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.