Специалисты

Описание

Образование
Инженер - программист
Бакалавр

Сертификаты
• ОБРАЗОВАТЕЛЬНАЯ ПЛАТФОРМА «STEPIK», «ПОКОЛОЕНИЕ PYTHON» КУРС ДЛЯ НАЧИНАЮЩИХ (2023)
• ОБРАЗОВАТЕЛЬНАЯ ПЛАТФОРМА «STEPIK», «ПОКОЛОЕНИЕ PYTHON» КУРС ДЛЯ ПРОДВИНУТЫХ (2023)
• ДАЛЬНЕВОСТОЧНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ «ИНТЕРАКТИВНЫЙ ТРЕНАЖЕР ПО SQL» (2023)
• ОБРАЗОВАТЕЛЬНАЯ ПЛАТФОРМА «KODKLOUD», «KUBERNETES CHALLENGES» (2024)
Технический опыт
Linux
Bash
Python
PostgreSQL
MySQL
Clickhouse
Foglight
Git
Docker
Docker - compose
Jenkins
GitlabCI
GitHub Actions
Azure Devops
ArgoCD
Prometheus with node-exporter
Thanos
Grafana
Kibana
Loki (promtail)
Logstash
Elasticsearch
Redis
Keycloak
Hashicorp Vault
Kubernetes
Ansible
Terraform
Apache
Nginx
Amazon Web Services (EC2, IAM, S3, RDS, ECS, VPC, EKS, ECR, CloudFront, Lambda, CloudWatch, AWS Backup, Route53, Certificate Manager, AWS Code Pipeline)
Azure DevOps (VM, ACS, AKS, Database for PostgreSQL, Function, DevOps, FrontDoor)
GCP (VPC, VM)

Опыт
Проект

NDA

Описание

Роль DevOps-инженер Обязанности Развертывание Kubernetes при помощи Kubespray на экземплярах EC2; Перенос инфраструктуры приложения с Docker-Compose в Kubernetes кластер; Использование helm для развертывания стека мониторинга, включающего Grafana, Prometheus, Loki. Перенос существующих дашбордов и создание новых; Создание новых helm charts для развертывания новых микросервисов в Kubernetes; Развертывание Keycloak при помощи Helm, для централизованного управления аутентификацией и авторизацией пользователей. Интегрирование Keycloak с nginx reverse proxy для единого входа и управления доступом; Разворачивание Hashicorp Vault для управления секретами через helm. Добавление MFA метода TOTP. Передача переменных сервисам через аннотации в манифесте и при поднятии, init контейнер передает переменные основному контейнеру, а sidecar обеспечивает доступ основному контейнеру к переменным. Развертывание ArgoCD при помощи helm в Kubernetes кластере для автоматизации развертывания и управления состоянием приложений. Внедрение ImageUpdater, для автоматического обновления образа приложения; Написание Dockerfile для Python и ReactJS, соблюдая все возможные best-practise. Создание скрипта на Python, который парсил Gitlab Registry и добавлял тег на новую версию образа; Настройка Clasic Load Balancer (CLB) при помощи cloud-controller-manager с использованием AWS Certificate Manager для управления SSL/TLS сертификатами; Настройка nginx reverse proxy на GitLab self-hosted repository. Создание http basic аутентификации в nginx с хранением логина и пароля в ssm parameter store как временную авторизацию; Внедрение процесса CI при помощи Gitlab CI. Настройка автоматизации сборки, тестирования (Sonar Qube, pytest, Jest) и развертывания приложений; Выполнение миграции базы данных PostgreSQL сначала на EC2, после чего мигрировал БД в RDS. Настройка резервного копирования данных, при помощи AWS Backup. Мониторинг состояния БД при помощи CloudWatch; Настройка автоматической отправки метрики в Amazon S3 при помощи Thanos Compactor и Thanos Store Gateway, обеспечив их долговременное хранение; Установка и настройка WireGuard для создания VPN соединения. Настройка мониторинга и алертинга для отслеживания состояния VPN соединений при помощи WireGuard exporter, Prometheus, Grafana; Активное использование Jira для отслеживания задач и управления проектами. Написание и обновление документаций в Confluence.

Технологии

AWS (EC2, RDS, AWS Backup, CLB, Certificate Manager, CloudWatch, S3, SSM parameter store), Kubernetes, Docker, Docker-compose, ArgoCD, Gitlab CI, Keycloack, Hashicorp Vault, Thanos, Ansible, Python, ReactJS, Monitoring stack (Prometheus, Loki, Grafana, NodeExporter, PromTail), Self-Hosted Gitlab, Tests (Sonar Qube, pytest, Jest), WireGuard, Jira, Confluence

Длительность

01.2024 – настоящее время месяцев

Проект

NDA

Описание

Роль DevOps-инженер Обязанности Написание Jenkins Pipeline на языке Groovy, а также интеграция различных тестов, такие как: lint test с использованием инструментов Sonare Qube, unit тесты с JUnit, integration тесты с использованием REST Assured, function тесты с Selenium WebDriver, и regression тесты с Postman; Использование Groovy для интеграции Jenkins с внешними системами через REST API или CLI, автоматизация обновления конфигураций и управление данными внешних сервисов; Создание Job’ов в Jenkins с использованием Ansible playbook, для разворачивания различных окружений.; Создание параметризированного job, который автоматизировал сборку скриншотов с Grafana и Foglight, за переданный промежуток времени и отправлял их в страницу-шаблон в confluence; Написание Ansible playbook, для различных задач; Реализация стратегий Blue-Green deployment при помощи ArgoCD. Интеграция ArgoCD с CI/CD pipeline; Развертывание и настройка стек мониторинга при помощи Docker-Compose (Prometheus, Loki, Grafana). Настройка сбора метрик с Kubernetes кластера, базы данных и самой машины, на которой находился Kubernetes кластер. Настройка алертинга на основе всех собираемых данных; Внедрение ClickHouse для сжатия, хранения и обработки данных объемом 10 ТБ при помощи Docker-Compose. Оптимизация системы для выполнения аналитических запросов, сократив время их выполнения с 30 секунд до 2 секунд. Настройка мониторинга и алертинга СУБД при помощи ClickHouse exporter, Prometheus, Grafana; Настройка мониторинга и алертинга СУБД PostgreSQL при помощи Grafana, Prometheus и PostgreSQL exporter. Создание скрипта на bash, для автоматического бэкапа БД при помощи cron job; Настройка Cluster Autoscaler, создание скрипта на основе Ansible, который добавлял дополнительные вычислительные мощности кластеру при увеличении нагрузки на него. Настройка Alertmanager, который запускал Ansible скрипт при значении cpu или ram более 80%; Внедрение автоматического бэкапа etcd через bash скрипт и сохранение бэкапов во внутреннем безопасном хранилище; Написание Dockerfile для сборки и контейнеризации приложений на Java и ReactJS. При написании Dockerfile использовались все возможные best-practise; Использование Maven для компиляции, тестирования, сборки и деплоя Java проектов; Активное использование Jira для отслеживания задач и управления проектами. Написание и обновление документации в Confluence. Основная коммуникация и обсуждение рабочих вопросов происходила в Jabber Cisco.

Технологии

Kubernetes, Docker, Docker-compose, Clickhouse, Jenkins, Groovy, ArgoCD, Ansible, PostgreSQL, Test (Sonare Qube, JUnit, REST Assured, Selenium WebDriver, Postman), Monitoring stack (NodeExporter, Prometheus, Loki, Grafana, PromTail, Alertmanager), Foglight, Java, Maven, ReactJS, Bash, VMware, Jira, Confluence

Длительность

11.2022–01.2024 месяцев

Проект

NDA

Описание

Роль DevOps-инженер Обязанности Поддержка развернутого на отдельных стендовых серверах ELK (Elasticsearch, Logstash, Kibana, Elastic Alert) стека, для сборки, хранения, анализа логов и оповещения. На основе собираемых метрик создавал dashboard’ы, создавал политики для управления индексами, писал data stream; Настройка мониторинга и алертинга базы данных MySQL при помощи mySQL exporter, Logstash, Elasticsearch и elastic alert; Мигрирование БД с VM в Azure SQL Database. Настройка мониторинга БД при помощи Azure Monitoring. Создание dashboard"ов и алертов на основе собираемых метрик; Выполнение аварийного восстановления базы данных через REST API. Настройка резервного копирования БД; Развертвание Redis при помощи helm. Настройка автоматической синхронизации данных между Redis и MySQL. Настройка мониторинга Redis при помощи Redis Exporter, Logstash, Elasticsearch; Перенос всей инфраструктуры с Kubeadm в AKS. Настройка Ingress (Nginx). Интегрирование AKS с Azure Key Vault для управления секретами с использованием Kubernetes Secrets Store CSI Driver; Перенос манифестов в helm chart’ы, написание новых манифестов; Написание функции, которая проверяла сторонние установленные библиотеки внутри кластера, через Azure Private link и уведомляла о необходимости обновления на электронную почту через SMTP; Написание Azure Functions на Python для автоматического Invalidation CDN; Разработка Pipeline в Azure DevOps, настройка интеграции для деплоя в Azure Kubernetes Service (AKS). Настройка автоматической проверки кода при помощи тестов (Sonare Qube, pytest, Jest, PHPUnit). Написание Job, которая загружала новые статические файлы или обновляла существующие в blob storage; Создание Dockerfile для PHP и JS(React) приложений, автоматизировав процесс сборки контейнера. При написании Dockerfile использовались все возможные best-practise; Поддержка существующих и написание новых модулей в Terraform, для автоматизации управления инфраструктурой. Использование Terraform для интеграции с Azure Key Vault для хранения и управления конфиденциальными данными. tfstate файл хранился в blob storage для повышения безопасности инфраструктуры; Активное использование Yandex Tracker для отслеживания задач и управления проектами. Написание и обновлене документации в Confluence. Основная коммуникация и обсуждение рабочих вопросов в Slack.

Технологии

Azure (AKS, DevOps, VM, Functions, SQL DataBase, Backup, blob storage, Private link, CDN, Monitoring, Key Vault), Kubernetes, Docker, Redis, Terraform, Python, PHP, JS(React) MySQL, Monitoring stack (Elasticsearch, Logstash, Kibana, Elastic Alert), Tests (Sonare Qube, pytest, Jest, PHPUnit), Yandex Tracker, Confluence, Slack

Длительность

08.2021 – 10.2022 месяца