Firecracker, một màn hình máy ảo từ Amazon

Amazon công bố phát hành Firecracker 1.0, đó là một màn hình máy ảo (VMM, Virtual Machine Monitor), được thiết kế để chạy các máy ảo với chi phí tối thiểu. Firecracker là một ngã ba của dự án CrosVM được Google sử dụng để chạy các ứng dụng Linux và Android trên ChromeOS.

Amazon Web Services đang phát triển Firecracker để cải thiện hiệu suất và hiệu quả của các nền tảng AWS Lambda và AWS Fargate.

Giới thiệu về Firecracker

Đối với những người chưa biết về Firecracker, bạn nên biết rằng điều này cung cấp các máy ảo nhẹ được gọi là microVM. Sự cô lập hoàn toàn của microVM sử dụng công nghệ ảo hóa phần cứng dựa trên KVM hypervisor, đồng thời duy trì hiệu suất và tính linh hoạt của các thùng chứa thông thường.

Hệ thống có sẵn cho kiến ​​trúc x86_64 và ARM64 và đã được thử nghiệm trên các dòng CPU Intel Skylake, Intel Cascade Lake, AMD Zen2 và ARM64 Neoverse N1, cộng với các công cụ được cung cấp để tích hợp Firecracker vào thời gian chạy của hệ thống cách ly vùng chứa như Kata Containers, Weaveworks Ignite và containerd (do firecracker- cung cấp thời gian chạy containerd).

Môi trường phần mềm chạy bên trong các máy ảo đã bị cắt bớt và chỉ chứa một số thành phần tối thiểu. Để tiết kiệm bộ nhớ, giảm thời gian khởi động và cải thiện bảo mật trong các môi trường, một hạt nhân Linux đơn giản được phát hành (trong đó các nhân 4.14 và 5.10 được hỗ trợ), từ đó mọi thứ không cần thiết đều bị loại trừ, bao gồm giảm chức năng và hỗ trợ cho các thiết bị đã xóa.

Khi chạy với một nhân bị cắt ngắn, mức tiêu thụ bộ nhớ bổ sung so với một vùng chứa là ít hơn 5MB. Độ trễ từ khi bắt đầu microVM đến khi bắt đầu thực thi ứng dụng được đặt thành từ 6 đến 60 mili giây (trung bình 12ms), cho phép tạo ra các máy ảo mới với tốc độ lên đến 180 môi trường mỗi giây trên một máy chủ có 36 lõi.

Để quản lý môi trường ảo của không gian người dùng, chạy quy trình nền Trình quản lý máy ảo, cung cấp API RESTful thực hiện các chức năng như định cấu hình, khởi động và dừng microVM, chọn mẫu CPU (C3 hoặc T2), xác định số lượng bộ xử lý ảo (vCPU) và kích thước bộ nhớ, thêm giao diện mạng và phân vùng đĩa, đặt giới hạn về băng thông và cường độ của hoạt động, cung cấp thêm bộ nhớ và sức mạnh cho CPU trong trường hợp thiếu tài nguyên.

Firecracker được sử dụng bởi / tích hợp với: appfleet, containerd qua firecracker-containerd, Fly.io, Kata Containers, Koyeb, Northflank, OpenNebula, Qovery, UniK và Weave FireKube.

Cũng như được sử dụng như một lớp cách nhiệt sâu hơn cho các thùng chứa, Firecracker cũng thích hợp để cung cấp hệ thống FaaS (Chức năng như một Dịch vụ), cung cấp mô hình máy tính không máy chủ, trong đó việc phát triển được thực hiện ở cấp độ chuẩn bị của một tập hợp các chức năng riêng lẻ nhỏ, mỗi chức năng cung cấp việc xử lý một sự kiện nhất định và nó được thiết kế để hoạt động độc lập mà không cần tham chiếu đến môi trường (không trạng thái, kết quả không phụ thuộc vào trạng thái trước đó và nội dung của hệ thống tệp).

Các hàm chỉ chạy khi cần thiết và ngay sau khi sự kiện được xử lý, chúng sẽ hoàn thành công việc của mình. Bản thân nền tảng FaaS lưu trữ các chức năng được cung cấp, điều phối việc quản lý và cung cấp khả năng mở rộng của các môi trường cần thiết để chạy các chức năng được cung cấp.

Làm cách nào để biên dịch firecracker trên Linux?

Để Lnhững người quan tâm đến việc có thể thử pháo trên hệ thống của họ, họ có thể tự biên dịch nó.

Đối với điều này chỉ cần mở một thiết bị đầu cuối và Điều đầu tiên họ phải làm là lấy mã nguồn để có thể biên dịch, điều này có thể làm bằng cách gõ:

git clone https://github.com/firecracker-microvm/firecracker

Khi việc này được thực hiện xong, chúng ta có thể nhập thư mục firecracker với:
pháo cd

Và chúng tôi tiến hành biên dịch với:

tools/devtool build
toolchain="$(uname -m)-unknown-linux-musl"

Cuối cùng nếu bạn muốn biết thêm về nó Về Firecracker, bạn có thể xem thông tin chi tiết tại liên kết sau.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.