Опис вакансії DevOps Engineer (Kubernetes + Windows/Linux Hybrid, CI/CD, Security)
Проєкт
Нам потрібен DevOps-фахівець для налаштування production-ready інфраструктури вебзастосунку з мікросервісною архітектурою та автоматизації процесу деплою.
Поточний стан
У нас є застосунок, що складається з чотирьох основних компонентів + дві бази даних:
Компоненти: * Frontend: клієнт на Next.js * Backend: сервер на NestJS (основний API) * Bot: Python-бот * Мікросервіс: NestJS, працює з Windows-специфічним ПЗ * Бази даних: MongoDB, Redis
Інфраструктура: * Сервер 1 (Linux): основна логіка застосунку * Сервер 2 (Windows): мікросервіс * CI/CD: частково налаштований для frontend, backend і мікросервісу * Container Registry: GitHub Container Registry
CI/CD пайплайн частково готовий: збірка та публікація образів у контейнерний реєстр налаштовані для фронтенду, бекенду й мікросервісу. Для Python-бота ще потрібно створити Dockerfile і додати його до пайплайна.
Основні завдання
1. Завершити контейнеризацію та CI/CD * Створити Dockerfile для Python-бота * Оновити CI/CD пайплайн для включення бота * Автоматизувати публікацію усіх образів
2. Налаштування Kubernetes-кластеру
Основне завдання — розгорнути гібридний кластер: * Основна логіка — на Linux-ноді * Мікросервіс — на Windows-ноді, бо працює із Windows-ПЗ
Ключові вимоги: * Відстеження змін в Container Registry * Автоматичний деплой оновлень * Rolling updates * Стабільна комунікація між Linux і Windows нодами
Windows-нода: * Мікросервіс (NestJS) * Програма під Windows
4. Безпека та мережеві налаштування
Критично важливо правильно налаштувати мережу: * Доступ має бути лише до клієнтського застосунку * Усі інші сервіси повинні бути ізольовані * Налаштувати firewall та network policies * Прив’язати клієнт до домену `creonix.io` з SSL
5. Масштабування та балансування навантаження * Налаштувати горизонтальне масштабування та load balancer там, де це можливо * Мікросервіс запускати лише в одному екземплярі (через обмеження Windows-ПЗ)
Вимоги до спеціаліста
Обов’язково: * Досвід роботи з Kubernetes (включаючи Windows-ноди) * Docker та контейнеризація * Налаштування CI/CD (бажано GitHub Actions) * Мережева безпека та firewall * Розуміння гібридної інфраструктури
Бажано: * Досвід з MongoDB/Redis у Kubernetes * Helm charts * Моніторинг (Prometheus, Grafana) * Практика з міжплатформеною взаємодією Linux/Windows
Очікувані результати * Повністю автоматизований деплой * Безпечна, масштабована інфраструктура * Моніторинг та логування * Документація по інфраструктурі * Передача знань команді для подальшої підтримки
Формат співпраці * Дистанційно * Поетапна реалізація * Щотижневі дзвінки та звітність * Консультація та менторинг всього процесу деплою