Уместить все ЦОДы и облака в карман инженера за счет мобильного «Сервисдеска»
Привет! На связи Алексей Волков, и я опять про «Сервисдеск» в DataLine. На сей раз покажу его мобильную реинкарнацию.
Три года назад мы создали десктопную систему для работы с заявками в техподдержку и дали ей говорящее название «Сервисдеск». Сейчас это решение работает во всех дата-центрах объединенной команды DataLine и «Ростелеком-ЦОД» и охватывает около 700 ежедневно активных пользователей. Мобильная версия «Сервисдеска» была лишь вопросом времени: доступность любых внутренних систем с портативных устройств сразу ускоряет цикл обработки запросов. А для клиентских заявок в техподдержку это особенно важно.
Под катом — краткая предыстория разработки мобильного клиента для «Сервисдеска» и демонстрация сценариев его работы.
Из чего мы строили мобильный «Сервисдеск»
Задачи приложения. Все наши мобильные решения реализуют концепцию «ЦОД в кармане». Дежурные инженеры на площадках уже используют приложения для ежедневных обходов, учета оборудования, инвентаризации устройств и экстренного оповещения. Мобильный «Сервисдеск» — это еще один элемент в работе специалиста на площадке. В перспективе мы хотим объединить все решения как модули одного «супераппа» в кармане полевого инженера.
В «Сервисдеск» каждый день поступает от 300 до 500 заявок, таких как:
запросы от клиентов,
задания коллег, созданные на обходах,
автоматические задания, сгенерированные в системе мониторинга по какому-то событию.
Заявки распределяются по исполнителям: что-то служба диспетчеризации назначает вручную, что-то распределяется автоматически. Часть запросов сразу уходит в профильные отделы: эксплуатации ЦОДа, виртуализации, сети, Microsoft, Unix и так далее. В каждом таком функциональном отделе выделены специалисты трех линий поддержки, которые мало работают в полях и чаще имеют под рукой десктопную версию.
А вот дежурные инженеры на площадках решают заявки, для которых нужно что-то проверить или сделать непосредственно на оборудовании в залах. Они также много взаимодействуют с первыми линиями: если при полевых работах обнаруживается проблема, после проверки они эскалируют заявки в профильный отдел.
Например, дежурному нужно сфотографировать стойку клиента и прислать ему фотоотчет. А затем еще и выполнить какие-то процедуры, скажем, перезагрузить оборудование. Что, если таких запросов по 10—20 в сутки на душу инженера, и все в разных машинных залах?
Так и возникает потребность в небольшом карманном устройстве, которое мало зависит от внешних факторов, подключено ко внутренней сети и снабжено всем необходимым софтом для полевой работы.
Железо. Для дежурных инженеров приложение будет установлено на корпоративных мобильных устройствах — смартфонах на Андроиде марки Blackview. Сейчас занимаемся их закупкой. Аппараты намеренно выбрали ударопрочные, влагозащищенные — им приходится служить в непростых условиях. Там и тепловизор есть — весьма полезная в ЦОДе вещь.
«Неполевые» сотрудники также могут установить приложение на свои персональные устройства, если их смартфоны на Андроиде.
Выбор Андроида не случаен — с ним мы получили возможность управлять мобильным клиентом на корпоративном уровне, минуя магазины приложений (продавать наш «Сервисдеск» пока не собираемся, извините). Раз решение внутреннее, нужно выкатывать обновления не публично, а адресно, только «для своих».
Для этого предусмотрен внутрикорпоративный репозиторий.
При старте приложение проверяет наличие обновления в репозитории и кратко рассказывает о новой версии:
Софт. Приложение построено в рекомендованном Google паттерне mvvm. Внутри также все «по классике»: Retrofit, Hilt, Coroutines, Glide, FCM для нотификации, Zxing в качестве сканера штрихкодов, Imagepicker для обработки фотографий. Подключены аналитика и «крашлитика» от Google.
Реализована биометрическая аутентификация. Биометрия доступна на персональных аппаратах. Многопользовательские устройства — указанные корпоративные смартфоны дежурных инженеров — ее лишены по понятным причинам.
Приложение работает с корпоративным REST API, в котором собраны ключевые системы компании. Есть доменная авторизация, чтобы не логиниться в разных системах под разными паролями много раз.
На каком этапе разработка сейчас. В приложении реализована базовая функциональность большого «Сервисдеска», а также три дополнительных модуля. Их добавили за счет интеграции с другими внутренними системами, которые часто работают в связке:
LIME — корпоративный справочник с контактами всех сотрудников;
CMDB — поиск клиентского оборудования в системе учета по штрихкоду;
NAGIOS — информирование по событиям мониторинга.
Сейчас завершился полный цикл опытной эксплуатации. К этому процессу мы привлекли инженеров 1-х линий функциональных отделов. Большинство из них сами работали в «дежурке» и много взаимодействовали с дежурными инженерами по совместным задачам, так что хорошо понимают специфику работы с обеих сторон. В ближайшее время приложение станет доступным всем сотрудникам компании, и в первую очередь — дежурным инженерам.
Инженер «на сутках» доволен: «Наконец-то я могу отойти от компьютера!»
Какие сценарии работы реализовали
Адаптировали к мобильным самое важное. В десктопном варианте было много привычных функций, которые важно сохранить:
Полная история действий от момента создания заявки.
Переназначение заявки другому ответственному и подключение наблюдателей.
Группировка заявок, например, по исполнителю и его роли: «Назначено на меня», «Назначено на мою группу», «Наблюдаю». А также по статусу обращения: «Назначен», «Взят в работу», «Ожидание ответа заявителя».
Дедлайн, который вычисляется автоматически, в зависимости от приоритета заявки.
Информация о клиенте и возможность переписки с ним, если нужно что-то уточнить у заявителя.
Прикрепление вложений: отчетов, сопроводительных документов.
В интерфейсе мобильного SD все эти штуки распределились по разным вкладкам — табам. Покажу на небольшом обзоре интерфейса.
Из основного меню доступны группы заявок, с которыми сотрудники работают чаще всего. Сразу можно открыть свои заявки:
Также можно обратиться к архиву заявок, если требуется поднять историю предыдущего общения.
Внутри выбранной группы видим список заявок с ключевой информацией: датой, заявителем, темой, статусом, приоритетом и обратным отсчетом до дедлайна. Тип заявки обозначен с помощью иконок:
Шестеренки — заявки на обслуживание, иконка с карточкой — заявки на предоставление доступа. Эта тестовая заявка уже просрочена и стала красной.
Внутри есть несколько вкладок с подробной информацией. Их набор и расположение в общих чертах повторяет порядок в большом «Сервисдеске».
На основной вкладке видим полный текст заявки и поле для ответа. Тут можно указать информацию по задаче и изменить ее статус: взять в работу, выполнить, переназначить, отложить до выяснения подробностей.
На вкладке «Переписка» можно перейти в чат с заявителем и уточнить что-то без изменения статуса заявки:
На других вкладках находим служебный чат — это внутренняя кухня инженеров. Дальше можем посмотреть информацию о клиенте-заявителе, поуправлять списком наблюдателей по заявке и — последнее — посмотреть историю заявки:
А вот это самое важное, как оказалось! Одна из самых востребованных функций в нашем приложении — пуш-нотификация. Это основное преимущество мобильной версии. Реализована нотификация по следующим событиям: «Тикет назначен на тебя», «Тикет назначен на твою рабочую группу», «Сообщение в переписке с заявителем по тикету, в котором ты участвуешь», «Твоя заявка решена».
Можно кликнуть, ознакомиться и сразу взять в работу.
Инженер «на сутках» спрашивает: «А можно сделать так, чтобы я мог отключить уведомления, когда не в смене?»
По просьбам трудящихся мы дополнили настройки уведомлений в приложении, покажу чуть ниже.
Добавили еще немного удобств.
По многочисленным пожеланиям после тестовой эксплуатации мы добавили темную тему интерфейса. Все-таки дежурные смены у нас работают сутки, и к вечеру глазу приятнее взаимодействовать с интерфейсом в ночном режиме.
В общем списке тикетов можно скрыть заявки из системы мониторинга. Их бывает довольно много, так что дополнительный фильтр помогает не упустить срочные заявки клиентов. Также мы предусмотрели фильтрацию реестра по ключевым словам.
Поиск нужной заявки доступен не только в реестре «Моих заявок», но и в истории.
Инженер «на сутках» сразу интересуется: «А можно сделать поиск, чтобы по архиву, да по клиенту и рабочей группе?»
Да! У нас реализован общий параметрический поиск, который включает и поиск по архиву заявок.
Создание заявки с мобильного максимально упростили: в приложении ее нельзя приоритизировать и добавить параметры — дополнительными атрибутами заявку обогатит оператор.
Из-за интерфейсных сложностей в мобильном клиенте отказались от полноценной работы с шаблонными заявками. В большом «Сервисдеске» есть случаи, где исполнителю надо дозаполнить шаблон необходимой информацией. В мобильной версии этого сделать нельзя. Пока нельзя :-)
Сделали гибкими настройки приложения. В настройках можно отрегулировать глубину ленты заявок и глубину сообщений в переписке, включить биометрию, поуправлять персональной нотификацией, а также настроить видимость и опции дополнительных модулей: LIME, CMDB и NAGIOS.
Что реализовали в дополнительных модулях. Пока мы еще не реализовали нашу идею «супераппа», хотелось избавить пользователей «Сервисдеска» от лишних переключений в другие системы. Вынесли из них самое важное.
Модуль NAGIOS информирует пользователя о событиях мониторинга хостов и сервисов, а также показывает ответственных за конкретный сервис.
У NAGIOS исторически богатый API, так что этот модуль — первый претендент на развитие. Пока собираем обратную связь по работе с ним.
Модуль CMDB — это поиск оборудования по штрихкоду. Сейчас при сканировании он выдает ключевую информацию из справочника:
В планах реализовать прием и выдачу оборудования с участием приложения.
Корпоративный справочник LIME содержит информацию о сотрудниках, включая их местоположение и доступность. Скринов не будет: там сплошные персональные данные.
Какие были трудности в процессе? Основной сложностью в разработке мобильного клиента был поиск компромисса между богатой функциональностью настольного интерфейса «Сервисдеск», пожеланиями пользователей и небольшим экраном мобильного устройства.
Здесь нам здорово помогает опытная эксплуатация и отзывы. Как мне кажется, мы вполне успешно справляемся с возникающими трудностями и с удовольствием наблюдаем, как наше новое приложение начинает помогать инженерам в их работе. Надеемся, что с ростом числа пользователей мы получим еще больше информации, как нам развивать приложение и делать его удобнее.