Хостинг Go в России
Деплой Go-приложения из Git: сборка по go.mod, реплики, домен с SSL. Оплата в рублях.
Go — самый удобный гость на платформе: сборка даёт один бинарник, образ получается маленьким, а старт занимает доли секунды. Именно поэтому scale-to-zero для Go почти незаметен: приложение может спокойно гаснуть в простое, и первый запрос после паузы не заставит посетителя ждать.
Что Татнет делает с проектом на Go
Определяется по go.mod
Файл в корне репозитория — достаточный признак. Сборщик подберёт версию Go и соберёт бинарник без Dockerfile.
Быстрый холодный старт
Маленький образ и мгновенный запуск делают ноль реплик рабочим режимом даже для сервисов, к которым обращаются нерегулярно.
Порт из окружения
Слушайте адрес :$PORT — платформа передаёт номер порта приложению и ждёт, пока сервер начнёт отвечать, прежде чем пускать трафик.
Ещё и serverless
Go — один из рантаймов serverless-функций Татнет. Если задача сводится к обработчику HTTP, функция обойдётся дешевле постоянного приложения.
Настройки сборки
- Фреймворк в панели
go- Сборка
- По вашему Dockerfile, по готовому образу из реестра или автоматически — по репозиторию
- Как работает в проде
- Контейнер в микро-VM Firecracker, реплики и scale-to-zero
Go-проект можно развернуть и как serverless-функцию: тогда код собирается в бинарник с HTTP-обёрткой и живёт по адресу на fn.tatnet.cloud, а не как постоянное приложение.
Как задеплоить Go
Подключите репозиторий
GitHub App, GitLab OAuth или наш Gitea. Платформа прочитает конфиги и определит фреймворк — в вашем случае Go.
Укажите запуск и реплики
Команда запуска определяется автоматически, но её можно задать явно. Там же выбирается число реплик и подключение к VPC.
Деплой
Сборка идёт в одноразовой микро-VM, готовый образ запускается репликами. Приложение доступно на поддомене *.tatnet.app или вашем домене.
Возможности Go на Татнет
Автоопределение при подключении репозитория
GitHub, GitLab и Gitea
Кастомный домен и бесплатный SSL
Переменные окружения и секреты
Preview для Pull Request
Логи сборки и рантайма в панели
Монорепозиторий (Root Directory)
Реплики (от 0 до 10) и постепенная выкатка
Подключение к приватной сети VPC
Сборка по go.mod
Свой Dockerfile
Go как serverless-функция
Подключение к VPC
gRPC наружу
Частые вопросы про Go
Нужно ли писать Dockerfile?
Нет: сборщик увидит go.mod, соберёт бинарник и упакует его сам. Dockerfile нужен, если требуются системные зависимости или своя многослойная сборка.
Что выбрать — приложение или serverless-функцию?
Функцию — если это один HTTP-обработчик и вызовы редкие: платить за простой не придётся. Приложение — если нужны своё состояние в памяти, долгие соединения или фоновые горутины.
Какой адрес слушать?
http.ListenAndServe(":"+os.Getenv("PORT"), nil). Порт приходит из окружения; localhost указывать не нужно.
Работают ли фоновые горутины?
Да, пока экземпляр жив. При нуле реплик он гаснет в простое, поэтому для постоянной фоновой работы поставьте не меньше одной реплики.
Другие фреймворки в категории «Бэкенд»
Полный список — каталог фреймворков.
Задеплойте Go на Татнет
Подключите репозиторий — платформа определит фреймворк и соберёт проект. Регистрация без карты.