Тестирование на масштабируемость в облачной среде

Тестирование на масштабируемость в облачной среде

Не так давно в Trend Micro задались целью выполнить тест масштабируемости одного из собственных продуктов (Trend Micro Deep Security). Скорый поверхностный расчет показал, что для выполнения этой задачи потребовалось бы 35 серверов Dell 710 с возможностью виртуализации. Найти столько доступных серверов – непростая задача для любой компании, а о том, чтобы купить столько серверов ради месячного тестирования, не могло быть и речи.



Поэтому было решено обратиться за помощью к облакам. Подходящим решением стала инфраструктура Amazon Web Services (AWS), с помощью которой удалось получить необходимое количество менее крупных ресурсов. (В данном случае небольшие экземпляры идеально подходили для моделирования крупной архитектуры «менеджер-агент», причем каждый экземпляр моделировал множество агентов).

Следует иметь в виду, что просто открыть учетную запись и сделать запрос на 1000 небольших экземпляров не удастся. Сотрудники Amazon связываются с клиентом по электронной почте, чтобы определить требуемое соотношение типов экземпляров, платформ, зон доступности и регионов, которые будут выгодны как вашему проекту, так и AWS. Сразу после определения конфигурации мы разработали необходимые инструменты быстрого увеличения или уменьшения масштаба нашей тестовой среды. К ним относились AMI (шаблоны) и инструменты, использовавшие интерфейсы прикладного программирования для обнаружения и мониторинга ресурсов.

Нас не миновали странности платформы AWS, такие как перекос временной диаграммы при активном использовании ресурсов ЦП, некорректная информация о ресурсах ЦП для небольших экземпляров в CloudWatch и неизбежные «войны цен» за точечные экземпляры. Из-за особого характера тестов не все шло по плану. Порой при увеличении масштаба возникали сообщения об ошибке от интерфейса прикладного программирования AWS с формулировкой «недостаточно ресурсов». Будет нелишним иметь запасные варианты на случай, когда нужный тип экземпляра или регион перегружены.

В процессе решения различных задач платформа AWS показала хорошие возможности поиска и быстрого решения проблем с масштабируемостью. Имея возможность быстро получить сотни виртуальных машин с одного AMI, мы могли увеличивать и уменьшать масштаб в зависимости от условий тестирования.

В итоге были достигнуты поставленные цели по масштабируемости и потрачено гораздо меньше средств.

Подпишитесь на новости

Я что-то сломал: Claude удалил 48 тысяч файлов вместо создания зеркала

Разработчик попросил Claude Code собрать зеркало проекта, а получил целый набор проблем. ИИ-агент создал скрипт очистки и за 103 секунды удалил 48 218 рабочих файлов, заодно уничтожив хранилище объектов Git. Полностью восстановить данные не удалось.

Об инциденте сообщило издание Cyber Security News со ссылкой на отчёт разработчика и публикацию на площадке Reddit.

После завершения операции Claude выдал лаконичное признание: «Я что-то сломал». Пост, собравший более 800 комментариев, позднее удалили с платформы.

Проблема возникла при пересоздании зеркала проекта в Windows. Агент решил сначала убрать старую копию и написал для этого Python-скрипт. Однако временный каталог содержал 614 junction-ссылок, ведущих обратно в рабочее дерево. Скрипт ошибочно принял связанные директории за обычные и отправился вычищать уже не зеркало, а оригинал.


Под раздачу попали не только файлы приложения, но и каталоги .git/objects, refs и logs. Индекс Git сохранил перечень из 7221 пути, однако сами объекты исчезли. Команда git log перестала видеть коммиты.

Вероятно, разрушительный сценарий стал возможен из-за запуска Claude Code в режиме bypassPermissions, который не спрашивает подтверждения перед выполнением команд.

Anthropic рекомендует использовать его только в изолированных контейнерах или виртуальных машинах. Контрольные точки тоже не гарантируют спасения: удаления, выполненные через Bash или PowerShell, могут не отслеживаться для последующего отката.

RSS: Новости на портале Anti-Malware.ru