Регистрация  |  Вход

Amazon Firecracker

Попался на глаза интересный доклад про интересный продукт

Amazon Firecracker

Это про виртуализацию ваших сервисов. Немного предыстории почему зацепился глазом. Работаю с одним проектом который вдоль и поперек проповедуется как Multi-Tenant сервис. Простыми словами это когда все клиенты в одну кучу. Я сильно против такой архитектуры, но все хорошее уже было придумано до меня, и мне остается жить с тем что есть. Так вот Multi-Tenant это конечно хорошо с точки зрения поддержки - один сервер, одна глобальная аппа (вернее несколько по типу использования Production, Staging, ...) но надо это умело варить а не просто валить все в кучу. Сейчас наблюдается что процесс работающий по обработке данных одного клиента может повлиять на работу другого, а неправильно отловленный эксепшен или таймаут тупо положит весь сервис и убьет процессы всех клиентов. Конечно моем проекте это не сильно критично, но мы же не хотим пилить говносервисы в будущем Поэтому в арсенал неплохо бы поиметь тул как Firecracker. Как я вижу его использование по уму - клиентские процессы запускаем в виртуальном окружении чем обеспечиваем изоляцию как кода, так и ресурсов машины. Если даже процесс и ляжет, то другим клиентам не будет так обидно. Плюс еще убивается один параноик - изолированное дисковое пространство - штука не критичная, но мне как клиенту какого-то сервиса не хотелось бы чтобы процесс обработки данных по какой-то случайности получил доступ к данным другого клиента и вернул мне что-то левое или мои данные (которые забыли случайно подтереть в файловой системе) случайно уплыли. А так отработал код в виртуальном окружении, проапдейтил базу и умер унеся с собой все промежуточные данные.

Вот тут еще немного текстовой информации

https://habr.com/ru/company/flant/blog/431192/

Попался на глаза интересный доклад про интересный продукт

Amazon Firecracker

[img]https://firecracker-microvm.github.io/img/firecracker-logo@3x.png[/img]

Это про виртуализацию ваших сервисов. Немного предыстории почему зацепился глазом. Работаю с одним проектом который вдоль и поперек проповедуется как Multi-Tenant сервис. Простыми словами это когда все клиенты в одну кучу. Я сильно против такой архитектуры, но все хорошее уже было придумано до меня, и мне остается жить с тем что есть. Так вот Multi-Tenant это конечно хорошо с точки зрения поддержки - один сервер, одна глобальная аппа (вернее несколько по типу использования Production, Staging, ...) но надо это умело варить а не просто валить все в кучу. Сейчас наблюдается что процесс работающий по обработке данных одного клиента может повлиять на работу другого, а неправильно отловленный эксепшен или таймаут тупо положит весь сервис и убьет процессы всех клиентов. Конечно моем проекте это не сильно критично, но мы же не хотим пилить говносервисы в будущем :) Поэтому в арсенал неплохо бы поиметь тул как Firecracker. Как я вижу его использование по уму - клиентские процессы запускаем в виртуальном окружении чем обеспечиваем изоляцию как кода, так и ресурсов машины. Если даже процесс и ляжет, то другим клиентам не будет так обидно. Плюс еще убивается один параноик - изолированное дисковое пространство - штука не критичная, но мне как клиенту какого-то сервиса не хотелось бы чтобы процесс обработки данных по какой-то случайности получил доступ к данным другого клиента и вернул мне что-то левое или мои данные (которые забыли случайно подтереть в файловой системе) случайно уплыли. А так отработал код в виртуальном окружении, проапдейтил базу и умер унеся с собой все промежуточные данные.

[youtube]https://www.youtube.com/watch?v=cfsICOzt6Do[/youtube]

Вот тут еще немного текстовой информации

https://habr.com/ru/company/flant/blog/431192/