Необходимо захостить админку и API, написанные на Go, а также настроить базу данных PostgreSQL. Проект использует Docker. Задача будет выполнена при доступности админки через браузер и корректной работе API с ответами на запросы.
Нужно поднять дев и стейджинг окружение, настроить CI/CD
ТЗ DevOps - dev/staging
- Верхнеуровневое описание работ:
- Работа должна быть выполнена используя подход Infrastructure as Code
- Работа должна быть задокументирована, например, разворачивая kubernetes кластер:
- Нужно описать последовательность выполнения действий и команд для развёртки кластера.
- Обязательные и необязательные environment variables, config files, config maps.
- Установленные в кластер CRDs, Operators, DaemonSets
- Интеграции сторонних SaaS поставщиков и их credentials важные для их работы.
- Описание соответствия High Availability сервисов которые мы деплоим или используем.(сервис А в 5 экземплярах на 3х хостах, БД имеет 3 хоста, 2 из которых standby реплики)
- Всё это должно быть явно прописано в readme или wiki проекта инфраструктуры.
- Провайдеры:
- Digital Ocean
- Kubernetes
- MySQL
- Redis
- Container Registry
- Hetzner Cloud - CI/CD Runner
- Backblaze B2 - S3
- Github & Github Actions
- Sentry - Errors and performance monitoring
- Datadog - Logs
- Digital Ocean
- Скоуп данного ТЗ:
- Development environment
- Kubernetes кластер с 2 нодами
- Loadbalancer
- Managed Mysql без реплик
- Managed Redis без реплик
- S3 хранилище для файлов
- Возможно использование PVC
- Интеграция Sentry
- Sentry Relay
- Интеграция Datadog
- Datadog agent
- Staging environment
- Kubernetes кластер с 2 нодами
- Loadbalancer
- Managed Mysql без реплик
- Managed Redis без реплик
- S3 хранилище для файлов
- Возможно использование PVC
- Интеграция Sentry
- Sentry Relay
- Интеграция Datadog
- Datadog Agent
- Наверное можно объединить development и staging окружения
- На данном этапе продакшн окружение не требуется.
- CI/CD:
- Github actions
- Dedicated CI/CD Runner на Hetzner cloud
- Сборка приложений бэкенда (PHP, Laravel + Octane RoadRunner)
- Сборка frontend приложений (VueJs и NuxtJs)
- Возможность деплоя отдельных веток приложений
- Managed Container Registry
- Документация
- Development environment
- Dev & staging envs
- Бюджет на дев+стейдж environment - 230$ в месяц
- Кластеры:
- Думаем использовать 2 кластера - dev и staging
В каждом по 2 ноды (2.5GB RAM, 2 shared vCPU)
- Можно объединить в 1 кластер, 2 ноды по 6GB RAM, 4 shared vCPU или 3 ноды по 2.5GB RAM, 2 shared vCPU
- В каждый кластер нужно будет развернуть:
- 2 инстанса бекенд приложений (api)
- PHP 8 + Laravel, запуск через Laravel Octane + Roadrunner
- 2 инстанса бекенд приложений (workers)
- PHP 8 + Laravel, демоны
- 2 инстанса фронтенд приложений
- NodeJs + Nuxt
- 2 инстанса фронтенд приложений
- Nginx+static JS
- На каждой ноде Sentry Relay
- На каждой ноде Datadog Agent
- 2 инстанса бекенд приложений (api)
- Балансеры и внешний трафик:
- SSL termination на балансере, LetsEncrypt
- Возможно потребуется 2 балансера, 1 для статики, другой для API
- Думаем использовать 2 кластера - dev и staging
- БД - Managed MySQL
- 4GB RAM + 2 vCPU без резервирования
- Кеш - Managed Redis
- 1.2GB RAM без резервирования
- S3 хранилище на Backblaze B2
- Container registry на Digital Ocean
- Self-hosted CI/CD Runner на Hetzner Cloud
- Автоматический деплой develop ветки
- Автоматический деплой staging ветки
- Возможность деплоя веток у которых название подходит к шаблону (например staging/*)
- Максимальное снижение трафика из Container registry
- Минимальный размер образов
- Кеширование зависимостей в CI/CD pipeline
- Запуск пайплайнов только при условии выкатки на dev/staging
- Логирование в Datadog
- Ошибки приложений и APM в Sentry
- Kubernetes:
- 3 nodes:
- 6GB RAM, 4 shared vCPU
- 3 nodes:
- MySQL:
- 4GB RAM, 2 vCPU
- 2 standby nodes
- Redis:
- 1.2GB RAM
- 1 standby node
Заявки фрилансеров
Похожие заказы
- Системное администрирование4 заявкиЗакрыт3 года назад
Требуется разработчик для создания игрового хостинга с возможностью постоянного сотрудничества. Также ищем спонсора для финансирования проекта. Опыт в сфере хостинга серверов – 6 лет.
Системное администрированиенет заявокЗакрыт4 года назадНеобходимо продлить SSL сертификат для основного домена и до 150 поддоменов. Требуется консультация по недорогим сервисам для выпуска сертификата, а также полная установка и настройка на сайте. Ожидается качественное выполнение задачи с учетом всех поддоменов.
Системное администрирование1 исполнительЗавершен3 года назадТребуется провести анализ состояния OLS сервера после сбоя CyberPanel, выявить причины падения БД у нескольких сайтов и восстановить их работоспособность. Необходимо разобраться с дисковым пространством и устранить все проблемы, чтобы сервер функционировал корректно.
Системное администрирование1 исполнительЗавершен4 года назадТребуется настроить Jira на cPanel сервере для работы по протоколу HTTPS. Сервер работает на CloudLinux 6 и CentOS 6. Необходима установка SSL-сертификата для обеспечения безопасности соединения.
Системное администрирование6 заявокЗакрыт3 года назадТребуется тонкая настройка и восстановление работы сервера на Nginx, который испытывает высокую нагрузку и выдает ошибки 504 и 502. Необходимо устранить проблемы с производительностью и кэшированием для стабильной работы.
Системное администрирование1 исполнительЗавершен4 года назадТребуется опытный специалист для внедрения и настройки JIRA в компании разработчика. Задачи включают администрирование, оптимизацию процессов, интеграцию и обучение пользователей. Ожидается участие в сборе требований, настройка плагинов, описание процессов и поддержка системы. Бюджет и условия сотрудничества обсуждаются.
Системное администрированиенет заявокЗакрыт4 года назадТребуется помощь в восстановлении скорости загрузки главной страницы сайта. Яндекс вебмастер зафиксировал длительное время ответа сервера, что затрудняет работу сайта. Необходимо определить причину долгого ответа, связанную с внешним ресурсом, и устранить проблему для улучшения производительности.
Системное администрирование1 исполнительЗавершен4 года назад