days
-1
-2
hours
-1
-2
minutes
-4
-9
seconds
-1
-4
search
Small and mighty powerful

IncludeOS unikernel runs in the cloud with a tiny memory footprint

Sarah Schlothauer
unikernel
© Shutterstock / Landshark1

IncludeOS is is a minimal, unikernel operating system. It runs C++ services in the cloud and has a tiny memory footprint. What are unikernels? Are they right for you?

Cloud technology is constantly growing, and developers are always creating new ways to utilize the cloud.

Today we are looking at IncludeOS: a minimal, resource-efficient unikernel for cloud services. 

Understanding unikernels

What is a unikernel? An article by TechBeacon refers to them as “Containers 2.0.”

A unikernel allows for development in the cloud instead of a typical operating system. It is a specialized, low-memory machine and uses only a fraction of resources that a typical full OS would. The small size allows for fast boot times and increased performance, allowing for apps to be started and stopped on the dime.

Unikernels also boost security. The low memory reduces the attack surface that hackers use when looking for a weak spot. Operating systems can usually be reconfigured, which is a big security flaw (that is often unnecessary) and allows for hackers to modify the device’s behavior. With a unikernel, there isn’t any extraneous parts to do so. Smaller code also means fewer bugs and less unused code in your image.

SEE ALSO: Kubernetes 101: How to get started with container orchestration

With all these positives of using a unikernel, there are also bound to be some downsides. Bryan CantrillCTO at Joyent wrote a blog post titled “Unikernels are unfit for production“, where he unveiled some arguments against the technology. It is worth a read, even for the biggest fans of unikernels, to see both sides of the story and understand that they are not a magic bullet. However, why not decide for yourself is unikernels are right for you?

Without further ado, let’s see what IncludeOS has to offer.

IncludeOS key features

According to its website, “IncludeOS allows you to run your application in the cloud without an operating system. IncludeOS adds operating system functionality to your application allowing you to create performant, secure and resource efficient virtual machines.”

When starting a program, IncludeOS will include a minimal OS into your system. “We provide a bootloader, standard libraries and the build – and deployment system. You just provide the service.”

IncludeOS has all the aforementioned features of unikernels and then some:

  • Applications boot in milliseconds and require only a few megabytes of memory
  • Base virtual image start at 1 megabyte
  • KVM, VirtualBox, and VMWare support with full virtualization
  • The build system will “link your service with the necessary OS objects into a single binary”
  • C++11/14 support and standard C library
  • Runs on any x86 hardware
  • Modular TCP/IP-stack
  • Fast installation – on Linux or macOS, IncludeOS takes ten minutes to install

SEE ALSO: Meet GraalVM, Oracle’s polyglot virtual machine

Get started!

Sound interesting? Checking out the getting started guide will be your first course of action.

You will need a few libraries and a compiler, however the guide has everything you need to get IncludeOS running.

Have questions? They might be answered in the FAQ. New features will be added in the future, so keep an eye out. (Previous updates have including a new routing firewall, and the ability to upgrade apps without downtime).

Currently, IncludeOS is in its testing phase, so the API is not yet considered secure. Any potential bugs or security issues should be brought to the developers!

    DevOpsCon Whitepaper 2018

    Free: BRAND NEW DevOps Whitepaper 2018

    Learn about Containers,Continuous Delivery, DevOps Culture, Cloud Platforms & Security with articles by experts like Michiel Rook, Christoph Engelbert, Scott Sanders and many more.

asap

Author
Sarah Schlothauer

Sarah Schlothauer

All Posts by Sarah Schlothauer

Sarah Schlothauer is an assistant editor for JAXenter.com. She received her Bachelor's degree from Monmouth University in Long Branch, New Jersey and is currently enrolled at Goethe University in Frankfurt, Germany where she is working on her Masters. She lives in Frankfurt with her husband and cat.

Leave a Reply

Be the First to Comment!

avatar
400
  Subscribe  
Notify of