Я никогда ранее вопросами хостинга не задавался, а тут решил сделать небольшую наколенную поделку на Go. Названий на слуху много: AWS, Google App Engine, DigitalOcean, Heroku. Хочу иметь возможность использовать произвольные пакеты и иметь доступ к базе данных типа MySQL (не принципиально, какой).
Из бесплатных
- если готовы работать с проприетарными технологиями Google App Engine
- если Вs приверженец классики: SSH доступ, стандартные базы данных, возможность открывать порты и возможность в случае необходимости переехать на VPS без перестройки всего хозяйства, то я например для себя выбрал RedHat OpenShift
heroku вполне себе годный хостинг. Поддержка Go полноценна, проверено. По мне у openshift меньше проприетарных ограничений, поэтому я его выбрал для прототипов. Скажем последний раз, когда я смотрел heroku не поддерживал стандартный websocket, а поддерживал проприетарный велосипед. По мощности бесплатные машины равноценны, бенчмаркано.
И да, если вас раздражают корявые имена посмотрите на домен Токелау .tk Они dot.tk раздают имена бесплатно. Легко переадресуется на openshift. Как решаются DNS вопросы на heroku честно говоря просто не знаю.
Понекропощу немного, судя из того что вы выбрали опеншифт, может вы мне ответите. Я пытался его использовать, и все работало шикарно пока весь код в одном файле, иначе приходилось весь отдельный код выносить в пакеты и заливать отедльно. Вы как-то устраивали деплой на опеншифт если проект состоит более чем из одного файла? Как все это происходило?
Привет. Go код я кросскомпилировал на своей локальной машине и это всегда один бинарник, у Go статическая компиляция без зависимостей. Статические ресурсы вроде HTML, CSS, JS я паковал в один файл с бинарником при помощи github.com/carbocation/gotogether Таких паковальщиков можно несколько нагуглить. Я так делал для легкой миграции между локальной машиной, openshift и боевым VPS. Однако не вижу препятствий для деплоя на openshift проекта из нескольких файлов. Кажется openshift поддерживает классическую файловую систему, то есть вы можете 'rsync -e ssh /home/projcktdir/ yuoropenshiftIP:port/projcktdir' c домашней машины на openshift.