Я использую такие инструменты, как Chef и Puppet, для загрузки новых экземпляров EC2. Для автомасштабирования я стараюсь максимально сократить время установки. Для чего-то вроде Ruby я скомпилировал его на одном компьютере, затем архивировал двоичные файлы и распространил их на новые экземпляры через Amazon S3 для быстрой установки. Я хотел бы сделать то же самое для Erlang, поскольку для компиляции Erlang требуется довольно много времени, а для меня, чтобы автоматизировать масштабирование серверов приложений, мне нужно поддерживать запуск до нескольких минут максимум. Проблема в том, что Erlang распространяет двоичные файлы и другие файлы во множестве мест в файловой системе. Мне интересно, есть ли тривиальный способ упаковать его, чтобы я мог просто получить tar-шар со всеми необходимыми файлами и удалить их на машине с той же ОС / архитектурой?
Вы должны использовать механизм упаковки вашего дистрибутива, чтобы упаковать сам Erlang; ваше приложение может быть развернуто любым способом, который вы выберете, но следование принципам OTP дает вам одно дерево файлов, которое можно легко скопировать на место, без суеты.