VII. Port binding

Экспорт сервисов через порты

Никаких контейнеров веб-сервера извне

Приложение двенадцати факторов полностью самодостаточно — не полагается на инъекцию веб-сервера из среды выполнения. Приложение само привязывается к порту и слушает запросы.

В разработке: http://localhost:5000. В production: слой маршрутизации направляет запросы к порту приложения. Это реализуется через библиотеку веб-сервера внутри самого приложения: Tornado (Python), Thin (Ruby), Jetty (Java).

HTTP — не единственный протокол. Почти любой серверный софт может работать через порт: ejabberd (XMPP), Redis (Redis protocol). Одно приложение может выступать backing service для другого через URL в конфигурации.