Нужно поднять дев и стейджинг окружение, настроить 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
Скоуп данного ТЗ:
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
Документация
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
Балансеры и внешний трафик:
SSL termination на балансере, LetsEncrypt
Возможно потребуется 2 балансера, 1 для статики, другой для API
БД - Managed MySQL
4GB RAM + 2 vCPU без резервирования
Кеш - Managed Redis
1.2GB RAM без резервирования
S3 хранилище на Backblaze B2
CI/CD:
Container registry на Digital Ocean
Self-hosted CI/CD Runner на Hetzner Cloud
Автоматический деплой develop ветки
Автоматический деплой staging ветки
Возможность деплоя веток у которых название подходит к шаблону (например staging/*)
Максимальное снижение трафика из Container registry
Минимальный размер образов
Кеширование зависимостей в CI/CD pipeline
Запуск пайплайнов только при условии выкатки на dev/staging
Интеграции
Логирование в Datadog
Ошибки приложений и APM в Sentry
Планируемый production
Kubernetes:
3 nodes:
6GB RAM, 4 shared vCPU
MySQL:
4GB RAM, 2 vCPU
2 standby nodes
Redis:
1.2GB RAM
1 standby node
Актуальні фриланс-проєкти в категорії DevOps
Потрібен Python Django розробник |
Допомога з докером wordpress+nginx proxy manager
500 UAH
Добрий день , потрібна допомога в налаштуванні + публікації wordpress + nginx proxy manager на сервері. Ми зв'яжемося за Discord/Zoom/Telegram і крок за кроком пройдемо за налаштуваннями + перевіримо продуктивність DevOps, Linux та Unix ∙ 2 ставки |
Touch ID
500 UAH
Потрібно витягнути знімок відбитків пальців з лептопа, який мій, але є, в системі доданий іншої людини, його й потрібно витягнути, щоб роздрукувати, хто зможе допомогти, я адміністратор цього лептопа DevOps, Linux та Unix |
AWS Video CDN engenier / specialist |
Шукаємо досвідченого DevOps інженераШукаємо досвідченого DevOps інженера для налаштування і оптимізації інфраструктури нашого додатка. Основні завдання включають установку та налаштування таких технологій, як Docker, PHP 8+, MariaDB, Nginx, Redis, MailiSearch (або аналоги), Minio та SuperVisor. Потрібно також… DevOps, Бази даних ∙ 2 ставки |