
Мне тут в комментах написали, что я дескать зря бочку качу, что Тимсити (Джава веб-приложение в своем собственном Томкате) - стартует, в зависимости от настроения, от 1 до 15 минут. При том что написано не случайными людьми а самими Джет Брейнами.
Я вот тут задумался - а справедливый ли это тезис? В смысле, действительно ли билд-сервер промышленного уровня нельзя написать так, чтобы он быстро стартовал?
Давайте разбираться. Что такое билд-сервер? Ведь на самом деле, билд-сервер - это концептуально не очель сложное приложение. Его архитектуру можно представить, как некий центральный элемент - базу данных конфигураций билдов с веб-интерфейсом, плюс - множество разных примочек, плагинов и т.п.
Но важный момент заключается в том, что эти допольнительные модули - действительно можно реализовать вполне отдельно от основной, центральной части. Так что бы они подгружались лишь тогда когда они нужны.
Центральная часть билд-сервера - база конфигураций билдов. Размер базы заведомо небольшой. Ну, скажем, 100 конфигураций билдов, каждая конфигурация это, грубо говоря, JSON весом, ну допустим, менее 20 килобайт (хотя я не знаю, зачем даже и 20 килобайт на конфигурацию билда, но ладно, допустим). Извините, но общий размер базы тогда - 2 мегабайта.
В реальной жизни, база конфигурации часто будет состоять из 30 конфигураций каждый весом в 1кб (имя билда, пути к скриптам, пути к артефактам, расписание запуска и т.п.). То есть - вообще МИЗЕР.
Далее, количество пользователей такого веб-сервера тоже небольшое. Это вам не сайт Би-Би-Си и не Джи-мейл. Это внутрикорпоративный сервер, его кроме пользуют весьма ограниченное количество людей.
Я вот реально не понимаю, почему веб-сервер для ничтожной аудитории с базой ничтожного размера не может стартовать менее чем за 3 секунды.
Обьясните мне, пожалуйста, где моя ошибка.