У нас много веб-приложений / сайтов. Некоторые из них довольно сложные, но многие из них представляют собой простые веб-сайты. В настоящее время мы размещаем около 10 сайтов на одном выделенном сервере, используя nginx
и uwsgi
. Хотя это очень рентабельно и требует меньше времени на обслуживание (поскольку нам нужно поддерживать 1 сервер на 10 сайтов), у него есть некоторые проблемы, которые мне не нравятся, в том числе:
virtualenv
может позволить мне выполнить обновление, не затрагивая остальную систему, я не уверен в зависимостях, отличных от Python.Поэтому я думаю о том, как обойти эти проблемы. Несколько вариантов рассматриваю.
AWS - запускайте сложные приложения на отдельных экземплярах, используйте RDS для баз данных. Таким образом, мы также могли масштабировать приложения по отдельности, не беспокоясь о других приложениях. Простые сайты могут размещаться на EC2 или любом другом сервере, поскольку они просты и не требуют регулярных обновлений.
Используйте Docker для размещения этих приложений / сайтов на текущем выделенном сервере, чтобы избежать вышеупомянутых проблем. Я новичок в докере, поэтому не совсем уверен, решит ли он вышеуказанные проблемы.
Каков ваш опыт работы с AWS и / или Docker, на которых размещены веб-приложения Python? Как вы размещаете большое количество приложений / сайтов (я считаю, типичный случай для агентств и фрилансеров)?
AWS - правильный ответ в этом случае!
Вы можете запустить небольшой экземпляр EC2 для простых веб-сайтов / приложений в одном экземпляре, если считаете, что они будут обновляться одновременно.
И более крупный экземпляр для каждого из более сложных веб-сайтов / приложений, требующих отдельного обслуживания / обновлений.