Оптимизация инфраструктуры

О клиенте

Сетевая компания по ремонту сотовых телефонов.

Филиалы и точки обслуживания клиентов находятся в 5 городах.

Основные бизнес-процессы компании построены на SAP, важно обеспечивать стабильную связь между точками и сохранность данных в базе.

 

Задача

Поддержка инфраструктуры и оперативное устранение аварий.

 

Ход работы:

После аудита инфраструктуры выяснились отягчающие обстоятельства, которые отпугнут от работы 80% IT-компаний на рынке.

  1. В архитектуре сети изначально не было заложено масштабирование и расширение, т.о. за несколько лет сеть разрослась до размера 47 серверов, которые занимались в основном маршрутизацией трафика по очень нетривиальной схеме (скажем откровенно — решение было очень странным).
  2. Сервера на Linux Gentoo, причем конфигурация каждого сервера отличалась от всех остальных.
  3. После фразы «47 разных серверов на Gentoo» остальные 20% компаний на рынке начнут искать отговорки чтобы не работать с таким проектом.
  4. Таким образом, если возникали одинаковые проблемы в двух разных офисах, то решать и устранять их нужно по разному, потому как каждый сервер имел свою уникальную конфигурацию. Сложности были в самом факте серверов на Linux Gentoo, в настройках которых разберется отнюдь не каждый.

  5. Уволился системный администратор, который развивал эту инфраструктуру с самого начала. Необходимо разобраться в сложной и разросшейся системе.
  6. Утерян пароль от критически важного хранилища, где была база данных управления предприятием.
  7. Аварии и нештатные ситуации случались практически каждый день — то нет связи, то сбой данных, то сервер упал.

Каждый простой в системе управления предприятием вел за собой остановку работы и проблемы в бизнесе, а значит — грозил убытками. Крупные аварии с простоем на восстановление в несколько часов случались 5-6 раз в месяц!

По сути, система была разработана излишне квалифицированным администратором, она сложна в обслуживании и поддержке, кроме этого, расширение системы не было продумано.


 

Решение

На основании аудита было разработано решение по оптимизации инфраструктуры, которое удовлетворяет следующим требованиям:

  1. Унификация системы
  2. Каждая точка в системе должна работать по единому принципу. Это позволяет снизить время на решение типовых проблем, т. к. в каждой точке и на каждом узле системы проблемы решаются одинаковым образом.

    Кроме этого, унификация позволяет автоматизировать процессы обслуживания (бэкапы, восстановление конфигурации в случае аварии), повышая надежность системы.

  3. Масштабируемость инфраструктуры
  4. В случае открытия нового филиала не нужно думать, как перестроить конфигурацию серверов и маршрутизации, т. е. продумать возможность разворачивания новых точек/узлов системы по образцу.

  5. Снижение стоимости обслуживания.
  6. Ранее система была крайне нестабильна — частые аварии с простоем системы, на восстановление работоспособности уходило несколько часов.

    В наших же интересах повысить отказоустойчивость системы и снизить количество аварий. За устранение аварий по проектам на поддержке нам никто не платит, поэтому наше желание — работать меньше и эффективнее.

  7. Упрощение архитектуры
  8. Возможность сделать ее простой и понятной как для пользователей, так и для администраторов, без привязки к конкретному человеку, который знает как система работает.

 

В ходе работы над проектом, мы достаточно быстро разобрались в системе, принципах функционирования и конфигурации.

Конечно же, перестраивать сложную и разросшуюся систему — огромная и дорогостоящая работа, поэтому оптимизация проводилась в несколько этапов в течение года. И даже сейчас мы продолжаем находить решения, которые позволяют оптимизировать и автоматизировать процессы в соответствии с современными технологиями.

 

Результат:

  • автоматизация серверов за счет Ansible Playbook
  • снижение стоимости эксплуатации
  • упрощение инфраструктуры, легко разобраться и легко поддерживать
  • снижение количества аварий с 5-6 в месяц до 1-2 в квартал — это эффективность, которую можно измерить в деньгах!

Проекты и кейсы

Внедрение Continuous Integration

Внедрение Continuous Integration

Внедрение Continuous Integration/Deployment в процесс разработки приложения.
Результат: Повышение эффективности работы команды, снижение количества ошибок в разработке и тестировании.

Оптимизация инфраструктуры

Оптимизация инфраструктуры

Оптимизация инфраструктуры сетевой компании.
Результат: Снижение количества аварий с 5-6 в месяц до 1-2 в квартал