АТОЛ Онлайн: взгляд из ЦОД
Мы уже рассказывали о том, как нами был задуман и реализовывался сервис АТОЛ Онлайн, предназначенный для работы с электронными кассами. В этот раз мы хотели бы показать его внутреннее устройство.
АТОЛ Онлайн является облачным решением, и основная часть его инфраструктуры располагается в специальном центре обработки данных. Инфраструктура ЦОДа подразумевает многоуровневую охрану, качественное и стабильное питание оборудования от двух независимых фидеров, надежное оптоволоконное соединение с операторами связи, наличие систем кондиционирования и пожаротушения.
Но в силу специфики функционирования сервиса при его развертывании было решено добавить к стандартным возможностям, предоставляемым инфраструктурой ЦОДа, собственные решения, обеспечивающие как дополнительную безопасность, так и удобство работы.
ЦОД в ЦОДе
Все оборудование, задействованное в АТОЛ Онлайн, размещено на территории центра обработки данных уровня Tier 3 в специально выделенной зоне, закрываемой по периметру рольставнями и оснащенной системой контроля доступа. Право прохода в нее имеет только дежурный инженер компании и, в случае возникновения аварийных ситуаций на объекте, инженер самого ЦОДа.
Для исключения несанкционированных операций в рабочей зоне ведется учет посетителей и организован видеоконтроль за их действиями с сохранением записей с камеры в системе контроля.
В зоне, специально выделенной под оборудование АТОЛ, размещено несколько десятков стоек, в каждой из которых установлено по 12 сборок с 48 кассовыми модулями в каждой.
Логика построения сборки максимально упрощена, что позволило свести к минимуму число точек отказа. Попросту говоря, каждая касса по своей сути является независимым сетевым элементом, который можно заменить «физически», просто переключив два разъема.
Двойное резервирование линков
Кроме того, для повышения надежности и отказоустойчивости системы ее сетевое оборудование задублировано на всех уровнях. Так, сборки с кассами подключаются к стеку из двух коммутаторов уровня стойки, каждый из которых в свою очередь присоединяется уже к логическому стеку из коммутаторов ядра. Таким образом, неисправность одного из портов или обрыв одной из соединительных линий на любом из уровней не приведет к фатальной аварии и нарушению работоспособности сервиса.
Немаловажно, что в инфраструктуре АТОЛ Онлайн задействовано оборудование одного вендора – компании Cisco, считающейся производителем одних из самых надежных решений на рынке сетевого оборудования. При таком подходе исключаются проблемы, порой возникающие при построении систем на мультивендорных платформах.
И, наконец, Cisco производит часть своего оборудования в России, и у АТОЛ имеются с компанией договоренности на резервирование запасов производства на случай быстрого роста числа клиентов и необходимости оперативного расширения сервиса. Благодаря этому сокращается время поставки оборудования и сроки ввода его в строй.
Доверяй, но проверяй: подводные камни
Дублирование узлов и автоматизация, это, конечно, хорошо, но бывают ситуации, когда присмотр человека за оборудованием не просто желателен, но и необходим.
Поэтому помимо обычной дежурной смены, обслуживающей оборудование самого ЦОДа, на объекте развернуто дополнительное рабочее место дежурного инженера, отвечающего непосредственно за функционирование инфраструктуры сервиса АТОЛ Онлайн, где специалисты дежурят круглосуточно и посменно.
Рабочее место дежурной смены оснащено двумя большими экранами. На них выводится самая разнообразная информация, поступающая от системы мониторинга. Тут отслеживаются события на всех узлах оборудования и программных компонентах. В частности, осуществляется мониторинг сетевых коммутаторов, начиная от устройств уровня сборки и заканчивая коммутаторами уровня ядра – что они доступны, их порты находятся в состоянии uplink и имеют расчетную нагрузку.
Также в виде графиков и таблиц выводятся общие параметры сервиса: число успешных и ошибочных чеков в секунду, время пробития тестовых чеков, события от сетевого оборудования, серверов, программного обеспечения, касс и т.п.
Учитывая специфику оборудования, ни одна из существующих систем мониторинга в своем базовом варианте не могла удовлетворить наши потребности, поэтому мы взялись за глубокую кастомизацию Zabbix. Для наблюдения за состоянием касс мы написали собственные службы, собирающие данные с каждой кассы более чем по 50 метрикам, таким как число документов, проведенных через кассу, состояние канала связи с ОФД, время ответа кассы на команды драйвера и т.д. Анализируя полученные таким образом данные, мы можем увидеть в том числе и ошибки интеграции, например, когда в документе передан неверный ИНН или неправильно рассчитана скидка. В этом случае чек не будет пробит, а служба технической поддержки своевременно сообщит об этом клиенту, чтобы он со своей стороны исправил эту ошибку и продолжил работу с кассой.
Помимо дежурных инженеров, оповещения о событиях системы мониторинга получают и другие сотрудники: сообщения о проблемах с интеграцией приходят службе технической поддержки, информация о том, что в ближайшее время переполнится архив фискального накопителя, письмом отправляется клиентской службе. Все это позволяет повысить качество обслуживания и помочь клиентам разобраться с возможными проблемами, возникающими при работе с онлайн-кассой.
На случай отлучки инженера в рабочую зону оповещения от системы мониторинга дублируются на его мобильный телефон, в том числе звонком для событий наивысшего приоритета.
В зависимости от вида сбоев возможны различные схемы оповещений. Например, если электронный чек не был обработан кассой ввиду ее выхода из строя, сообщение об аварии получит и интернет-магазин, и инженер, отвечающий за работоспособность сервиса АТОЛ Онлайн.
Еще один вариант — клиент не оценил масштабы своего бизнеса и заказал мало касс, в результате чего они перегружены. Система отслеживает такие ситуации и сообщает о них клиенту, чтобы он мог изменить что-либо на своей стороны или заказать дополнительные кассы.
Также возможна ситуация, когда касса вроде бы фискализирована, клиент начинает работать и генерирует электронные чеки, а оператор фискальных данных их не получает.
Причины могут быть разные: клиент подал неправильные данные, или вообще этого не сделал, или оператор еще не зарегистрировал у себя накопитель, или оператор фискальных данных в силу каких-то обстоятельств просто недоступен.
Также случается, что клиент забывает активировать выданный нами код в ЛК ОФД, из-за чего касса в ОФД считается не оплаченной и чеки от нее ОФД не принимает. В этом случае они накапливаются в фискальном накопителе, и возникает задержка оповещения пользователей по SMS или электронной почте от оператора фискальных данных о проходе платежа и выписке по нему электронного чека.
При корректной работе все вышеописанные процедуры осуществляются практически в режиме реального времени. Мониторинг позволяет выявить возникшие проблемы с отправкой чеков и своевременно сообщить об этом как клиентам, так и оператору фискальных данных.
Чем выгоден онлайновый сервис
Касса – это совершенно особый элемент сервиса, требующий к себе самого пристального внимания и постоянного мониторинга даже в случае 100% работоспособности.
Это связано как с особенностями самого устройства, так и со спецификой его обслуживания.
Модуль онлайн-кассы был специально разработан нами для данного сервиса и представляет собой обычную кассу, но без печатающего устройства.
В него устанавливается фискальный накопитель, являющийся собственностью клиента.
У фискального накопителя имеется два параметра, ограничивающие время его жизнедеятельности. Это его емкость – 170 или 250 тысяч электронных чеков, в зависимости от версии накопителя, и срок в 13 месяцев, после которого, согласно нормативным актам, он в любом случае должен быть заменен на новый.
Последняя операция не так проста, как может показаться со стороны, и замена ФН – это всегда простой кассы, т.к. требуется исключить ее из сервиса, после чего необходимо произвести перерегистрацию и перепостановку оборудования на учет в налоговой и у оператора фискальных данных. На все это может потребоваться до двух дней рабочего времени.
Чтобы свести задержки на нашей стороне к минимуму, мы предусмотрели резерв фискальных накопителей непосредственно в ЦОД, готовый для подключения к данному клиенту, которому в случае замены передаются новые данные для регистрации в налоговой.
Но если с фиксированным сроком в 13 месяцев все более-менее понятно, то с емкостью накопителей не все так однозначно. Небольшому онлайн магазину может оказаться достаточно и одной кассы, а крупная компания с большим оборотом забьет электронными чеками аналогичный ФН за один день. Поэтому при подключении сервиса мы предлагаем клиенту воспользоваться специальным калькулятором, позволяющем на основе данных о нагрузке, рассчитать количество минимального и оптимального для него оборудования.
Конечно, калькулятор дает лишь приближенный расчет и не учитывает, к примеру, вариант, когда бизнес клиента начинает интенсивно расти и генерировать более интенсивный поток электронных чеков, чем это предполагалось ранее. Однако наша система мониторинга отслеживает тенденции и осуществляет преактивное прогнозирование по скорости заполнения всех фискальных накопителей, принимая во внимание не только их емкость, но и уровень нагрузки на кассу у клиента.
Предупреждение о возможном переполнении ФН и необходимости его замены выдаются за 60 дней до прогнозируемой даты. После чего начинаются переговоры с клиентом на предмет приобретения им нового накопителя. В случае положительного решения инженер, не допуская блокировки оборудования, устанавливает дополнительный ФН, а клиенту передаются данные по его фискализации для предоставления их в налоговую службу.
Такое сотрудничество избавляет наших клиентов и от других проблем. Во-первых, они могут не хранить использованный ФН самостоятельно, а оставить его под нашу ответственность в защищенной ячейке в ЦОДе.
Во-вторых, пользователю не требуется самостоятельно искать и закупать накопители, которые, к тому же, при приобретении на открытом рынке стоят дороже. Новые ФН у нас обойдутся дешевле, да и клиенту для их замены не придется посещать нас лично.
В-третьих, благодаря нашей продвинутой интеграции с некоторыми ОФД регистрация касс в их структуре происходит почти автоматически, благодаря чему у клиента отпадает необходимость дополнительных действий.
Кроме того, у операторов фискальных данных, с которыми у нас заключены партнерские соглашения, стоимость договора включена в стоимость аренды кассы, что позволяет осуществлять все операции, что называется, в одно окно и значительно дешевле, чем делать все самостоятельно.
Таким образом пользователям не надо самим разворачивать соответствующую инфраструктуру, закупать кассы с накопителем и интегрировать их в свою систему. При этом снимаются вопросы по расширению набора касс, а также необходимость в контроле за работоспособностью и наполнением ФН.
Летом будет жарко
С 1 июля 2018 года все без исключения должны окончательно перейти на онлайн-кассы, и мы ожидаем резкого увеличения спроса на наш онлайновый сервис ближе к этой дате. Особенно с учетом того, что малый бизнес еще только начинает шевелиться. Потому готовим «телегу» еще зимой. Однако это не главная забота. Так, например, сейчас мы активно готовимся к переходу на новый расширенный протокол формата фискальных данных ФФД 1.05, который должен вступить в действие в начале 2019 года и призван заменить ныне действующий. Он предусматривает добавление в электронные чеки новых полей, необходимых для отображения дополнительной информации.
Такой состав чека должен поддерживаться как самим сервисом и кассами, так и операторами фискальных данных. Для этого потребуется модифицировать программное обеспечение сервиса, прошивку касс и заменить фискальные накопители, установленные в них.
Некоторым нашим клиентам уже сейчас требуются электронные чеки с расширенным набором полей, и мы с ними активно сотрудничаем.
Также в перспективе в целях повышения катастрофоустойчивости АТОЛ Онлайн планируется использовать два территориально независимых ЦОДа. И это не издержки расширения, а прямые условия для работы с некоторыми крупными онлайн-ритейлерами. Программное обеспечение для такого перехода у нас уже готово и как только будет выбрана соответствующая площадка, мы начнем разворачивать дополнительную инфраструктуру.