Обязанности и достижения:
Система мониторинга автоматизированных рабочих мест внутри группы компаний
Описание:
Приложение каждый день получает данные о проверках ПК на наличие уязвимостей и compliance (clickhouse + 24 миллиона записей в день). По cагрегированным данным предоставляется аналитика в виде графиков и диаграмм. Также можно сгенерировать Excel отчёт по историческим данным с различными фильтрами.
Участие в проекте:
- Настройка и эксплуатация БД Clickhouse;
- Реализация высоконагруженного микросервиса-приёмника, ассинхронно передающего полученные данные через Celery на обогащение и запись в БД;
- Реализация консьюмера и продюсера для confluent_kafka;
- Реализация 32-ух UseCase’ов получения различных метрик;
- Создание кэш-слоя для экономии ресурсов сервера;
- Написание оптимальных SQL запросов.
Интересное:
В тот момент, когда кол-во записей превысило 1 миллиард появились проблемы чтения данных Clickhouse’ом с диска, время, затрачиваемое на select’ы быстро росло. Локализовать проблему удалось в аппаратной области - старый HDD сильно тормозил процесс
Нагрузка: RPM +- 200
Рефакторинг / разработка нового функционала - 0/100. Архитектурные/Фичовые задачи - 50/50. Соотношение работы менеджером/разработчиком - 20/80.
Команда: 2 backend, 1 frontend
Стек: Python 3.11, FastAPI, Celery, SQLAlchemy, Alembic, Postgres, Clickhouse, clickhouse-driver, clickhouse-connector, SQLAlchemy, Apache Kafka, confluent_kafka, Redis (кэш), Pandas, asyncio, threads, multiprocessing, Grafana + Prometheus, Deploy management, OpenPyxl, GitLab CI/CD
Система контроля информационной безопасности развернутых компонентов
Описание:
Автоматизация внутрикорпоративного мониторинга ИБ за счет сбора и анализа данных о конфигурации различных компонентов ИТ-инфраструктуры (Bitrix, Hadoop, Kafka, Rabbit, Deckhouse и т. д.), проверка по правилам, агрегация и предоставление метрик и отчетов пользователям.
Стадия разработки: с 0 / масштабирование / поддержка.
Участие в проекте:
- Создал ядро приложения и несколько модулей автоматизации мониторинга;
- Разработал архитектуру проекта и базы данных;
- Реализовал логику сбора искомых данных для таких систем как: Bitrix, Hadoop, Qlikview, Qliksence, Deckhouse, OpenShift;
- Интегрировал ролевую модель разграничения доступа;
- Реализовал логику создания Excel-отчетов;
- Лидирование команды, проведение регулярных встреч и консультаций;
- Декомпозиция задач для коллектива. Помощь в решении сложных технических вопросов. Менторинг. Task Tracking;
- Разработка дизайна;
- Ведение документации.
Интересное:
- Один из самых архитектурно проработанных проектов. Ядро приложения, отвечающее за запуск и контроль выполнения задачи, изолировано от всех модулей и полностью универсально.
- Большинство коллег на данном проекте являлись не штатными разработчиками, а сотрудниками дирекции ИБ, автоматизирующей свою работу.
За время развития проекта удалось провести от джунов до мидлов как минимум 2-ух человек.
Рефакторинг / разработка нового функционала - 0/100. Архитектурные/Фичовые задачи - 50/50. Соотношение работы менеджером/разработчиком - 20/80.
Команда: 7 backend, 2 frontend
Стек: FastAPI, Celery, SQLAlchemy, Alembic, Postgres, Redis (кэш), Ansible, API корпоративных платформ, pytest, beautifulsoup4, JIRA, Grafana + Prometheus, Deploy management, OpenPyxl, GitLab CI/CD