Системный администратор DevOps
Вам предстоит поднять сервер с нуля, задачи:
- Сконфигурировать сервер Ubuntu + nginx + Docker, на котором будет сайт компании на Python 3.8 (venv), Flask, PostgreSQL
- Также nginx должен быть настроен так, чтобы умел запускать web gl игры на юнити. То, как это делается можно посмотреть здесь: https://docs.unity3d.com/Manual/webgl-server-configuration-code-samples.html.
- Docker compose сконфигурирован с секрет кеями, хранящимися отдельно. Также в нем должны быть подняты clickhouse, mongodb. Результатом написать тестовые скрипты которые могут подключиться к этим базам.
- SMTP сервер (Postfix), с aoth authentication (чтобы на тот же гугл письма приходили), настроен roundcube web mail (https://roundcube.net/) для виртуальных почтовых ящиков. MX, A, PTR записи для доменов сделаны. Должна быть поддержка noreply адресов с токенами.
- Настроить SSL сертификат, через certbot (https://certbot.eff.org/) и автообновление этого сертификата для доменов.
- Настроить резервное копирование и панель управления для него (или конфигов и команды для управления)
- Настроить мониторинг и логирование
- Установить и настроить Elastic Search: https://www.elastic.co/downloads
- Написать скрипты для нагрузочного тестирования (можно конфигурацию Postman, либо python)
Результатом будет работающая инфраструктура, документация по сервисным функциям, что где лежит и docker-compose.yml / Dockerfile файлы. Установленные сертификаты на домены и поддомены. Работающий почтовый сервер, Работающий сервер nginx на котором можно запускать Unity приложения и Flask приложения.
Знания которые вам потребуются:
- Обеспечение отказоустойчивых, высоконагруженных решений для виртульных серверов (мы используем VPS местного провайдера, это не AWS, GC и т.д. Поэтому нужно уметь настраивать сервера с нуля).
- Умение работать с Ubuntu
- Умение администрировать nginx
- Стек: Docker, Python (venv)
- Администрирование Баз Данных: PostgreSQL, Elasticsearch
- Обеспечение сетевой безопасности (открытие только нужных ресурсов)
- Настройка SMTP серверов (Postfix)
- Мониторинге и логировании OS сред (Linux / Docker / ...)
- Умение писать документацию.
- Нагрузочное тестирование
- Резервное копирование
P.S. для некоторых позиций вы можете предложить свое решение. Возможно иной SMTP сервер например, другой фронт для веб меил, может по нагрузочному тестированию предложите что-то свое.