
К нам как к поставщикам услуг DevOps-аутсорсинга обратилась компания, занимающаяся разработкой облачных сервисов - задача состояла в проведении аудита текущего сервиса логирования с целью формирования рекомендаций по его оптимизации.
Задачи клиента
При выяснении проблем клиента, было выяснено, что в на данный момент для агрегации логов различных сервисов используется стек ELK - elasticsearch, logstash, kibana, развернутый в докер-контейнере на EC2 инстансе на хостинге AWS. После получения необходимых прав и доступов, наша DevOps-команда провела аудит сервиса и выяснила следующие проблемы:
Как мы решили задачи клиента
Для решения выявленных в процессе аудита проблем были подготовлены две схемы реализации:
Аренда ElasticSearch в рамках SaaS-сервисов Amazon - решались все поставленные задачи
Разворачивание собственного кластера Elasticsearch в рамках EKS AWS
Анализируя финансовые затраты на каждый из предложенных вариантов, был выбран вариант собственного кластера Elasticsearch в рамках EKS AWS. Для решения поставленной задачи был предоставлен готовый кластер EKS.
Наши DevOps-инженеры для решения поставленной задачи выбрали следующий стек приложений:
Предполагаемая схема работы сервиса выглядела следующим образом:
Рисунок 1 - Схема реализации задачи
Результат проекта
Внедрение указанной схемы позволило:
- получить высокодоступный стек ELK;
- масштабироваться по нажатию кнопки;
- получить конфигурацию стека по методологии IaS, что позволит развернуть указанную схему на любом окружении;
- получить автоматическую регистрацию DNS-имен сервисов и ингрессов из аннотаций в декларативных файлах;
- возможность обновления сервиса без простоя стека;
- функционал безопасности за счет использования дистрибутива Opendistro.
После внедрение данного механизма логирования, заказчик передал нам на обслуживание стек ELK, который и сейчас выполняет задачи сбора, поиcка и анализа логов.