207просмотров
15 июля 2025 г.
statsScore: 228
#TechLeadConf2025 Какому коду можно доверять настолько, чтобы не глядя запустить его на своей рабочей машине или сервере? Правильный ответ - никакому)) А если запустить всё-таки нужно? Что ж, фокусы ложь, есть варианты, позволяющие варьировать: - уровень безопасности, - стоимость реализации, - производительность решения
в зависимости от изначальных целей и имеющихся ограничений. А теперь довольно слов, перейдем к практике) Первый вариант — это запуск ненадёжного кода внутри своего процесса, подобным образом поступают, например, IDE со своими плагинами. Такое решение получается самым дешёвым и самым производительным, но, увы, наименее безопасным. Наверное все хоть раз киляли зависший процесс IDE, плагины которой отожрали слишком много ресурсов и ушли в себя) Второй вариант — это запуск ненадёжного кода в отдельном процессе, за которым будет следить ОС, либо ещё один специально обученный отдельный процесс. Уже по описанию чувствуется, что такое решение стоит дороже, но при этом способно обеспечить более высокий уровень безопасности, по сравнению с предыдущим. Ложкой дёгтя здесь является то, что на обеспечение безопасности также тратятся ресурсы, поэтому, чем безопаснее решение, тем ниже его производительность. Третий вариант — это запуск ненадёжного кода на отдельной машине. В данном случае не физической, а виртуальной или вообще контейнере) Уровень безопасности при таком подходе по определению будет самым высоким среди всех рассмотренных вариантов. Увы, за него придётся заплатить, и не только стоимостью реализации, но и производительностью)) Кроме того, в процессе реализации начнут возникать нетривиальные технические вопросы: - можно ли переиспользовать старые машины или каждый раз создавать новые, - как управлять созданными машинами, - как распределять между ними нагрузку, - etc.
Да, тем, кто выберет этот вариант придётся далеко зайти в поисках ответов) Узнать больше подробностей и получить проверенные практикой ответы можно в докладе Саши Межова, запись которого доступна по ссылке. Подписаться | Чат