Диплом: Автоматизация процесса системного администрирования высоконагружаемого веб-приложения для ООО "Лайтсофт Рисерч"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
17
компании, выполняющие задачи для проекта, к которому они
прикреплены. Каждый сотрудник технического отдела имеет за собой
прикрепленный к нему проект (как правило, несколько, от 5 до 20), за
который он несет ответственность в рамках своей деятельности.
Руководителем отдела является технический директор, который
подчиняется генеральному директору.
7. Отдел продаж. Основной задачей отдела продаж является поиск новых
заказчиков для разных продуктов компании. Как правило, отдел продаж
занимается поиском клиентов юридических лиц, таких как туристические
агентства, туристические операторы, авиакомпании. Руководителем
отдела является руководитель продаж, который подчиняется
генеральному директору.
8. Продукты. Каждый проект в Компании, имеет руководителя продукта,
который подчиняется напрямую генеральному директору. Таких отделов
(групп), единовременно может достигать произвольное количество. В
обязанности руководителя продукта входят такие задачи, как организация
разработки продукта, постановка задач разработки, внедрения. Принятие
решение о добавлении функционала, организация работы проекта,
общение с потенциальными заказчиками, взаимодействие с отделом
продаж и маркетинга. В случае, если проект небольшой, менеджер
продукта может иметь одновременно несколько продуктов, над которыми
он работает. Как правило, данная группа является самым крупным
внутренним заказчиком для всего технического департамента.
9. Корпоративная автоматизация. Задача отдела корпоративной
автоматизации оптимизировать любой процесс, действие или задачу
методом ее автоматизации. Руководитель отдела автоматизации
подчиняется генеральному директору.
18
1.1.3. Программная и техническая архитектура ИС предприятия
Как было сказано ранее, в компании работает и поддерживается более 40
собственных интернет-проектов, самым крупным из которых является проект
«TopHotels», который в рамках данного дипломного проекта будет являться
объектом автоматизации. Помимо этого существует большое количество
внутренних информационных систем, направленных на автоматизацию работы
бизнеса. В них входят базы данных отдела кадров, система заявок для системных
администраторов, система поддержки для B2B-клиентов компании, системы
прослушивания звонков и многое другое. Помимо всех вышеперечисленных
информационных систем Компании, существуют также внутренние сервисы.
Такие сервисы не являются продуктами Компании, однако, без них их
работоспособность была бы невозможна. К таким сервисам относятся
инфраструктурные разного рода серверы, такие как DNS, Телефония Asterisk,
1C:Бухгалтерия, dhcpd, разного рода кэши и очереди сообщений, NoSQL базы
данных, агрегаторы логов, поисковые системы (RabbitMQ, Elastiksearch, Kibana,
Logstash, docker, MongoDB и многие другие). Из-за большого количества разных
разработчиков программного обеспечения, имеющий разный подход к
разработке проектов компании, имеется большое количество разных
инфраструктурных сервисов.
Для централизованного доступа всех сотрудников ко всем ресурсам
организации, используется сервис LDAP, который является реализацией
протокола доступа к службе каталогов. Данный элемент инфраструкуры
организации имеет веб-интерфейс GOSA, в котором каждый пользователь может
сменить свой пароль. Добавлением сотрудников в LDAP занимается служба
персонала.
Для работы отдела серверной эксплуатации существует внутренняя
система распределения задач sysa.ls1.ru. Данная система разработана в 2015
году силами отдела внутренней корпоративной автоматизации и интегрирована с
корпоративными ресурсами.
Также с системой sysa.ls1.ru интегрирована база данных серверов
servers.ls1.ru которая содержит информацию о каждом сервере, его наполнении,
список проектов. Из данной системы возможно производить обновление
проектов, делать некоторые настройки серверов. Система представляет из себя
19
веб-интерфейс, в котором отображаются серверные стойки в том порядке, в
котором они установлены в серверные стойки физически. При нажатии на
сервер, можно увидеть список его виртуальных серверов, если таковые имеются,
сделать пометки. Система разработана силами отдела серверной автоматизации
и существенно упрощает учет оборудования для проектов.
На рисунке 2 показана инфраструктурная схема проекта «TopHotels».
Инфраструктура проекта представляет собой комплекс из физических и
виртуальных серверов, коммутаторов и инфраструктурных сервисов, которые
соединены между собой. На рисунке 3 показана более подробно схема сети
одного из ЦОД, на котором расположены проекты предприятия.
Серверная инфраструктура проекта «TopHotelраспределена на
несколько площадок физически, с целью предоставлять сервис, даже если одна
из площадок физически перестанет быть доступной. В то время, пока обе
площадки доступны, вторая берет на себя часть нагрузки. В данный момент
происходит балансировка пользователей между площадками с целью снижения
нагрузки на основную площадку. За балансировку отвечает DNS-сервер,
являющийся частью инфраструктуры Компании, но не входящий в
инфаструктуру проекта «TopHotels». Данный сервер настроен на выдачу A-зоны
доменного имени по методу «Round-Robin», распределяя запросы пользователей
при обращении к доменному имени на две разные площадки. Необходимо также
подчеркнуть, что обе площадки абсолютно равноценны и проект может работать
при отключении любой из двух ЦОД.
Каждый сервер, за исключением серверов PostgreSQL, согласно
внутренней документации организации имеет свой «Мастер». Под «Мастером»
подразумевается хост-система, в которой работают виртуальные машины или
контейнеры.
Проект имеет два мощных фронт-сервера, обеспечивающих изначальный
прием пользовательских запросов к проекту. Главной задачей фронт-сервера
является отдача кэшированного в оперативной памяти сервера статического
контента, а также маршрутизация запроса пользователя по многочисленным
бекендам проекта с целью получения динамического содержимого.
Бекенд серверы представляют собой серверы, которые содержат копию
программного кода проекта «TopHotels» и отдаются конечным пользователям в
20
виде динамического текста, в случае если фронт-сервер отправил запрос именно
на этот сервер. Для проекта «TopHotels» используется контейнерная
виртуализация OpenVZ и XLC для операционных систем с CentOS и
контейнерная виртуализация FreeBSD Jail для операционной системы FreeBSD.
Для некоторых проектов используется Docker. Из-за недостатков OpenVZ и
FreeBSD Jail в компании принято решение полного перехода на контейнерную
виртуалищацию LXC.
Для баз данных используется СУБД PostgreSQL 9.4. Серверы баз данных
представляют собой 5 серверов: 3 из них работают на площадке «Талалихина»,
два из них на площадке «Медовая». Такая компоновка обусловлена тем, что
четыре сервера являются слейв-серверами, а один из них «хозяином». Все SQL-
запросы на чтение бекенды проекта совершают в случайном порядке на два
доступных слейв-сервера на своей площадке. Запись происходит в «Хозяина»,
находящимся на площадке «Талалихина». В случае недоступности последней,
проект останется в рабочем состоянии, однако проекту будут доступны только
операции на чтение. Если нештатная ситуация возникает на большое количество
времени, существует возможность смены роли для любого из слейв-серверов на
«Мастер». Для поддержки консистентного состояния всех баз данных,
используется односторонняя репликация «Мастер»→ «Слейв-сервер».
Для удобного управления соединениями и балансировкой для баз данных,
используются серверы PGbouncer, цель которых бесшовно вводить и выводить
из работы серверы баз данных PostgreSQL.
Для обслуживания часто запрашиваемых данных используется in-memory
кэш memcached.
Проект «TopHotels» имеет более 6 терабайт изображений отелей и гостиничных
номеров, которое должно моментально отдаваться пользователям при первом же
запросе без задержек. Для этого необходимо хранить около 5-10 копий каждого
изображения в различном разрешении экрана. Объем полностью
сгенерированной базы данных всех сгенерированных изображений составляет
около 30Tb и постоянно растёт. Для хранения такого объема информации
используется распределенная сетевая файловая система. Такая файловая система
позволяет производить хранение файлов на разных физических серверах, обходя
физическое ограничение на возможное количество устанавливаемых жестких
21
дисков в один сервер. Достоинством также является тот факт, что потеря одного
или нескольких серверов не влияет на целостность и доступность файлового
кластера. Данные хранилища синхронизируются между площадками для
поддержки консистентного состояния.
Рис. 2 Инфраструктурная схема проекта «TopHotels».
Все серверы, как физические, так и виртуальные имеют установленные
агенты Zabbix 2.4, которые отправляют на Zabbix-сервер данные как об
аппаратном состоянии серверов, так и о состоянии прикладного ПО.
22
Для проведения испытаний новых версий проекта, созданы специальные
«карантинные» бекенд-серверы, задача которых является проведение конечного
тестирования в продуктивной среде. Данные серверы ничем не отличаются от
продуктивных, за тем исключением, что на них происходит обновление версий
проекта в первую очередь. Таким образом, появляется возможность
переключение небольшого процента пользовательского трафика на новые
версии проекта с целью конечного тестирования функционала. В случае, если
тестирование успешно, версия ПО устанавливается на всех бекенд серверах.
Рис. 3 Схема сети ЦОД «Талалихина».
Количество серверов проекта «TopHotels», а также их характеристики
более подробно описаны в таблице 2.
23
Таблица 2
Основные характеристики серверов проекта «TopHotels».
Тип сервера
Процессор
ОЗУ (Гб)
Диск (Гб)
ОС
Кол-
во
VM?
Фронт-сервер
Intel Xeon
E5-2620
2.10GHz
384
2x 1Tb HDD
CentOS
6.7
2
Да
Бекенд
Intel Xeon
E5-2620
2.10GHz
96
4x160GB
SSD
CentOS
6.7
12
Да
СУБД
Intel Xeon
E5-2660
2.20GHz
400
4x1Tb
RAID10
FreeBSD
10
5
Нет
PGbouncer
Intel Xeon
E3-1230
3.30GHz
64
4x1Tb
RAID10
FreeBSD 9
2
Да
Хранилище
Intel Xeon
E3-1230
3.30GHz
16
4x2Tb HDD
RAID10,
4x160Gb
SSD
RAID10
CentOS
7.6
16
Нет
memcached
Intel Xeon
X3450
2.66GHz
32
2x1Tb HDD
FreeBSD 9
4
Да
24
1.2.Характеристика комплекса задач, задачи и обоснование необходимости
автоматизации
1.2.1. Выбор комплекса задач автоматизации и характеристика
существующих бизнес процессов
Задача любого бизнеса это непрерывное предоставление своим
клиентам и пользователям доступ к услугам. В случае компании Лайтсофт это
возможность любого пользователя иметь доступ к продукту или онлайн проекту,
размещенному и работающему на серверных мощностях компании. Если клиент
или пользователь не может этого сделать, пускай даже на несколько минут,
компания теряет прибыль, а также лояльность пользователя и положение на
рынке.
Среди множества протекающих в компании процессов, очень важным
является функция серверной эксплуатации, системного администрирования и
поддержки проектов. Данный процесс является одним из самых важных
протекающих процессов в компании, так как от него напрямую зависит
работоспособность каждого продукта компании и его возможность непрерывно
находиться в статусе «он-лайн». Так как тема исследования связанна с
автоматизацией процесса системного администрирования, рассмотрим более
подробно функцию отдела. На рисунке 4 представлена контекстная диаграмма
данного процесса выполненная в графической нотации IDEF0[4].
Главной целью данного процесса является:
Формированием и выполнением плана системных администраторов;
Маршрутизацией и классификацией задач, поступающих в отдел по
разным каналам;
Выполнением задач, поступающих в рамках разных проектов и их
решение задач в соответствии с приоритетом;
Развитие инфраструктуры, снижение рисков аварий методом проведения
анализа случившихся аварий и проблем;
Мониторинг аппаратного обеспечения, программного обеспечения и
проектов;
Обновление ПО на серверах, как физических, так и виртуальных;
Предотвращение вторжений, соблюдение политики безопасности;
25
Поддержка всех сервисов, серверов, виртуальных машин и процессов
размещенных в рамках всей серверной инфраструктуры;
Автоматизация рутинных задач;
Поддержка актуальной документации о существующей инфраструктуре;
80% всех заявок приходится на высоконагружемый проект «TopHotels» и
остальные 20% на оставшиеся проекты;
Рис. 4 Контекстная диаграмма описываемого процесса
В данном комплексе задач одной из самых главных является поиск решения и
выполнение задачи. На данном этапе отсутствует автоматизация, задачи часто
решаются достаточно продолжительное время, что сильно влияет на бизнес в
целом. Как сотруднику отдела, мне часто поступают задачи, которые должны
быть выполнены быстро. Данный пункт является самым чувствительным и по
моему мнению должен быть максимально возможно автоматизирован.
26
1.2.2. Определение места проектируемой задачи в комплексе задач и ее
описание
Из всего комплекса информационных систем, сервисов, проектов и
процессов в данном дипломном проекте будет исследоваться работа отдела
серверной эксплуатации системных администраторов. Среди задач
автоматизации необходимо выделить задачу автоматизации выполняемой
системными администраторами работы. На рисунке 5 изображена декомпозиция
рассматриваемого процесса выполненная в графической нотации IDEF0[4].
Рис. 5 Схема декомпозиции процесса системного администрирования
В состав отдела, как правило, входит 4 сотрудника, которые занимаются
поддержкой работоспособности всех сервисов и проектов компании и их
руководитель. Каждый сотрудник отдела получает задачи по нескольким
каналам внутренней системе заявок или по электронной почте. Во втором
случае, заявка переносится системным администратором в систему учета заявок
вручную.
В качестве входных данных для задачи, рассматриваются поступающие в
отдел системного администрирования обращения. Эти обращения

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)