i2kit: A Tool for Immutable Infrastructure Deployments based on Lightweight Virtual Machines specialized to run Containers

02/28/2018
by   Pablo Chico de Guzman, et al.
0

Container technologies, like Docker, are becoming increasingly popular. Containers provide exceptional developer experience because containers offer lightweight isolation and ease of software distribution. Containers are also widely used in production environments, where a different set of challenges arise such as security, networking, service discovery and load balancing. Container cluster management tools, such as Kubernetes, attempt to solve these problems by introducing a new control layer with the container as the unit of deployment. However, adding a new control layer is an extra configuration step and an additional potential source of runtime errors. The virtual machine technology offered by cloud providers is more mature and proven in terms of security, networking, service discovery and load balancing. However, virtual machines are heavier than containers for local development, are less flexible for resource allocation, and suffer longer boot times. This paper presents an alternative to containers that enjoy the best features of both approaches: (1) the use of mature, proven cloud vendor technology; (2) no need for a new control layer; and (3) as lightweight as containers. Our solution is i2kit, a deployment tool based on the immutable infrastructure pattern, where the virtual machine is the unit of deployment. The i2kit tool accepts a simplified format of Kubernetes Deployment Manifests in order to reuse Kubernetes' most successful principles, but it creates a lightweight virtual machine for each Pod using Linuxkit. Linuxkit alleviates the drawback in size that using virtual machines would otherwise entail, because the footprint of Linuxkit is approximately 60MB. Finally, the attack surface of the system is reduced since Linuxkit only installs the minimum set of OS dependencies to run containers, and different Pods are isolated by hypervisor technology.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/26/2020

Study of Firecracker MicroVM

Firecracker is a virtualization technology that makes use of Kernel Virt...
research
11/14/2019

A Security Perspective on Unikernels

Cloud-based infrastructures have grown in popularity over the last decad...
research
03/17/2021

Sliceable Monolith: Monolith First, Microservices Later

We propose Sliceable Monolith, a new methodology for developing microser...
research
04/18/2023

Multitenant Containers as a Service (CaaS) for Clouds and Edge Clouds

Cloud computing, offering on-demand access to computing resources throug...
research
08/11/2020

Scheduling Methods to Reduce Response Latency of Function as a Service

Function as a Service (FaaS) permits cloud customers to deploy to cloud ...
research
08/17/2018

Comparative Study of Virtual Machines and Containers for DevOps Developers

In this work, we plan to develop a system to compare virtual machines wi...
research
09/03/2021

FedApp: a Research Sandbox for Application Orchestration in Federated Clouds using OpenStack

Multi-cluster federation is envisioned to be the next-generation cloud i...

Please sign up or login with your details

Forgot password? Click here to reset