Для одного разработчика Git ( book ) лучше подходит для удобства.Вы можете очень легко «зафиксировать» локально и передать изменения на удаленный сервер, который может быть вашим экземпляром EC2, ему просто нужно SSH-соединение для работы.Но я бы, вероятно, выбрал хост-решение, такое как GitHub или любое другое решение для хостинга с SSH и возможностью установки Git.Я использую GitHub для моих публичных проектов и DreamHost для моих "частных" проектов.
Вы поместите все свои файлы в одну структуру каталогов, а затем развернете их , используя некоторый автоматизированный процесс.Для Python я бы предложил что-то стандартное для Python, например distutils или даже easy_install .В более сложных средах вы должны рассмотреть что-то вроде Chef , что будет чрезвычайно важно, если вы начнете масштабировать до более чем одного экземпляра EC2.Даже если многопользовательскому серверу не нужно что-то вроде Chef для повторяющихся автоматических развертываний, это то, что эффективный разработчик делает.
Просто не поддавайтесь искушению написать «быстрый и грязный» сценарий оболочки для развертываний, они хрупкие иочень необслуживаемый.Если вам не нравится повар, изучите альтернативы и найдите время, чтобы изучить их.Потраченное время будет восполнено.