← Назад на почетну

Ваш сервис без оперативног система

Unikernel је један самосталан програм који се покреће директно на виртуелном серверу (KVM), без Linux-а, љуске и процеса. Прилагодимо ваш сервис таквој основи, а ви га покренете са једне слике диска. Основу смо сами развили и проверили на сопственом производу, MQTT брокеру urMQTT.

Предности

Мала површина за напад

Једна статички повезана слика без оперативног система, љуске и корисничких процеса; отвара се само оно што сервис треба. Компоненте којима се не може потпуно веровати (нпр. библиотека у C-у) могу радити изоловано, у засебном адресном простору без приступа језгру.

Мање одржавања

Нема оперативног система који треба крпити и надограђивати: нова верзија је нова слика. Слика је велика само неколико мегабајта.

Мање делова, мање изненађења

Понашање одређује један програм и његова конфигурација; нема позадинских сервиса, пакета ни ствари које се покрећу саме.

Конфигурација је податак

Подешавања и сертификати пакују се у проверену конфигурацију која се проверава при сваком покретању; слика исписује отисак конфигурације, па се може проверити да је то она коју сте наручили.

Безбедност је уграђена у основу

TLS 1.3 са узајамном аутентикацијом, заштита од преплављивања мреже, ограничења ресурса и чувар времена спречавају да један лош клијент заустави остале; складиштење је испробано прекидом напајања при сваком запису, уз могуће шифровање диска.

Проверљиво и без везаности

Поновљиве изградње, потписана издања, списак састојака (SBOM), основа отвореног кода и ревизијски пакет који наводи и познате слабости.

Погодно за мала и велика окружења

Исти код ради на виртуелним серверима aarch64 и x86_64.

Шта нудимо

Цена за све: на упит

Процена изводљивости

Прегледамо ваш сервис (језик, зависности, потребе за мрежом и диском) и кажемо шта је могуће, шта треба преправити и колико је то посла, пре него што уговорите било шта друго.

Прилагођавање сервиса unikernel-у

Сервис (најлакше у Rust-у; C библиотеке у изолованом радном програму) прилагодимо нашој основи: мрежа, TLS, складиштење, конфигурација и евидентирање догађаја.

Пилот на вашем серверу

Покренемо сервис на вашој инфраструктури (KVM), испробамо са вашим саобраћајем и предамо извештај о перформансама.

Подршка и одржавање

Надоградње слике, обрада пријављених рањивости и обука вашег тима.

urMQTT као готов производ

Ако вам треба MQTT брокер: конфигурисана, потписана слика са вашим сертификатима.

Добар кандидат и слабији кандидат

Добар: сервис са једном наменом који прима мрежне везе: протоколски сервер, мрежни пролаз (gateway), прикупљач података, TLS крајња тачка, ивични уређај. Слабији: програм који треба Linux екосистем, датотечни систем, много процеса или велик број одлазних веза. Данашња основа прихвата везе (TCP сервер), не отвара одлазне TCP везе и подржава само IPv4; проширења процењујемо по пројекту.

Платформе и језици: шта данас подржавамо

Платформе и језици: шта данас подржавамо
ПлатформаСтање
KVM виртуелни сервери, aarch64Проверено (Apple HVF и TCG)
KVM виртуелни сервери, x86_64 (UEFI и BIOS)Покренуто на правом KVM VPS-у (AMD EPYC), уз тестове у емулатору; на физичком хардверу није пробано
Виртуелни уређајиvirtio (мрежа, диск, SCSI, случајни бројеви)
МрежаIPv4; TCP као сервер (прима везе, не отвара одлазне)
Физички сервери (bare metal), VMware, Hyper-V, XenНе подржавамо (још)
Језик сервиса
Језик сервисаСтање
RustПриродан избор: цела основа је у Rust-у
CСамо као изоловани програм уз наш мали libc слој (тако ради SQLite); није POSIX
C++Могуће као C, без доказа; процењује се по пројекту
Go, Java, Python, Node.js, .NET, PHPНе подржавамо: траже оперативни систем. Сервис се у том случају преписује у Rust-у, или остаје на Linux-у уз unikernel пролаз на ободу

Шта треба знати одмах

Основа је у раној фази (верзија пре 1.0). Циља виртуелне сервере под KVM-ом; x86_64 је покренут на правом KVM VPS-у и у емулатору, али не на физичком хардверу; сигурно покретање (Secure Boot) је делимично, а независна безбедносна ревизија још није урађена. Зато нудимо пилот уз подршку, а не сертификован производ.

Пример: urMQTT

MQTT брокер на тој основи: TLS 1.3 са узајамном аутентикацијом, опозив сертификата без нове слике, изолована SQLite база, шифровање диска по жељи. Погледајте изворни код на GitHub-у или нам се јавите.