Skip to main content

AWS Firecracker


Firecracker is a light-weight virtualization technology that has been open-sourced by Amazon Web Services. Developers can use Firecracker to create and operate micro virtual machines (micro VMs) that host multi-tenant containers and run in conjunction with AWS serverless technologies.

Firecracker allows developers to combine the efficiency and high performance of containers with the security and isolation of traditional VMs and hardware-based virtualization. Firecracker also implements a virtual machine monitor (VMM).

As of this writing, Firecracker cannot be used with Kubernetes, Docker or Kata containers, but AWS says it does have plans to extend Firecracker to other major container ecosystems.

Firecracker specifications

Firecracker is written in the Rust programming language and can currently run on Intel processors, with AMD and ARM processor support expected in 2019. Firecracker is available under the Apache version 2.0 open source license.

Firecracker uses the KVM hypervisor architecture for Linux. AWS developed the virtualization technology with minimal elements to increase boot speeds, reduce attack surface and maximize server utilization. To further optimize performance, a user is only able to boot recent Linux kernels, and Firecracker doesn't support graphics, accelerators or most legacy devices.

In addition, each micro VM created with Firecracker has a memory overhead of less than 5 MiB, which enables a higher density of isolated containers that can run on a single server.

A user can launch micro VMs in as little as 125 milliseconds, and create as many as 150 micro VMs per second per host, according to AWS.

Firecracker and serverless

AWS open sourced Firecracker, which it already used internally to improve resource utilization and user experience for services such as AWS Lambda and AWS Fargate.

With Fargate, for example, Firecracker accelerates the deployment of Fargate Tasks. Previously, those Tasks would consist of one or multiple Docker containers that run inside an Amazon EC2 VM to remain isolated. Now, Fargate Tasks can run on Firecracker micro VMs, which enables faster provisioning times on EC2 bare metal instances.


Comments

Popular posts from this blog

Ghosting

Ghosting is to cease communications without notification. The use of the word "ghost" as a verb originated in social media in reference to dating, but the term is now used by employers to describe employees and potential employees who suddenly disappear. Typically, ghosting is used to describe: Job candidates who suddenly stop responding to messages. New hires who fail to show up for their first day of work. Employees who do not show up for a shift. Employees who leave work in the middle of the day and never come back. Some analysts blame ghosting on millennial entitlement. The reasoning is that members of the millennial generation have been brought up to feel they are special -- so special, in fact, that they do not need to follow conventional rules of behavior. Other analysts, however, maintain that ghosting behavior stems from changes in the job market and the phenomenon is simply a reflection of the laws of supply and demand in a healthy jo...

Data deduplication

Data deduplication -- often called intelligent compression or single-instance storage -- is a process that eliminates redundant copies of data and reduces storage overhead. Data deduplication techniques ensure that only one unique instance of data is retained on storage media, such as disk, flash or tape. Redundant data blocks are replaced with a pointer to the unique data copy. In that way, data deduplication closely aligns with incremental backup, which copies only the data that has changed since the previous backup. For example, a typical email system might contain 100 instances of the same 1 megabyte (MB) file attachment. If the email platform is backed up or archived, all 100 instances are saved, requiring 100 MB of storage space. With data deduplication, only one instance of the attachment is stored; each subsequent instance is referenced back to the one saved copy. In this example, a 100 MB storage demand drops to 1 MB. Target vs. source deduplication Data deduplica...

A Graphics Processing Unit (GPU)

A graphics processing unit (GPU) is a computer chip that performs rapid mathematical calculations, primarily for the purpose of rendering images. A GPU may be found integrated with a central processing unit (CPU) on the same circuit, on a graphics card or in the motherboard of a personal computer or server. In the early days of computing, the CPU performed these calculations. As more graphics-intensive applications such as AutoCAD were developed; however, their demands put strain on the CPU and degraded performance. GPUs came about as a way to offload those tasks from CPUs, freeing up their processing power. NVIDIA, AMD, Intel and ARM are some of the major players in the GPU market. GPU vs. CPU A graphics processing unit is able to render images more quickly than a central processing unit because of its parallel processing architecture, which allows it to perform multiple calculations at the same time. A single CPU does not have this capability, although multi...