Как вы управляете коммунальными службами на хероку?
Heroku отлично подходит для прототипирования идей и запуска простых веб-сервисов, я часто использую его для запуска веб-сервисов Python, таких как Flask и Django, и опробования идей. Однако я всегда пытался понять, как можно использовать инфраструктуру для запуска тех удивительно мощных служб поддержки или утилит, которые нужны каждому стартапу в его стеке. 4 примера услуг, без которых я не могу жить и рекомендовал бы любому запуск.
- Дженкинс
- Statsd
- графит
- Graylog
Как бы вы запустили их на Heroku? Было бы лучше всего просто получить выделенные коробки (Rackspace, e.t.c) с установленными этими службами поддержки.
Кто-нибудь запускал утилиту deamons (services) на Heroku?
2 ответа:
Есть два основных варианта. Первый - найти или создать аддон Heroku для выполнения задачи. Например, есть много решений для ведения журнала, которые можно использовать вместо Graylog; Rails on Fire или Travis можно использовать вместо Jenkins. Если подходящего аддона не существует, вы можете эффективно создать свой собственный, просто запустив сервис на экземпляре AWS EC2.
Другой альтернативой является превращение сервиса в 12фактор приложение, так что он может работать на Heroku, а также. Например, можно заглушить вызовы файловой системы
whisper
, чтобы они хранились в службе резервного копирования. Это часто довольно болезненно и хрупко, хотя, если вы не можете добиться, чтобы ваши изменения были приняты вышестоящими сопровождающими.
Вы также можете использовать другой бесплатный сервис в сочетании с ним. OpenShift имеет много связанных с Java сборочных служб и инструментов, которые могут быть добавлены.
Я использую смесь heroku, openshift, mongolab и моего собственного веб-хостинга. Бросьте в dropbox и box для некоторого пространства...