Авторизация удалённых серверов лэрс на едином сервере службы опроса

Авторизация удалённых серверов лэрс на едином сервере службы опроса.

У нас есть исходные данные:

  1. 100 Серверов ЛЭРС учёт (от 50 до 100 лицензий на каждого всего 8.000);
  2. Сервер службы опроса который смотрит в глобальную сеть (пусть будет адрес 8.8.8.8);
  3. На стороне сервера расположена локальная сеть a.b.c.0/19 (за каждым IP отдельный прибор или сеть приборов)

Что хотелось бы видеть от службы опроса:

  1. Авторизация по логину и паролю (ЭЦП);
  2. Списки доступных IP для пользователя;
  3. API для билинга;
  4. шифрование между серверами ЛЭРС и Службой опроса (понятно что можно поднять L2TP для клиентов но в данном вопросе это не наш случай, тема прикрутить СОРМ к приборам учёта сейчас активно обсуждается);
  5. портирование программного обеспечения службы опроса на BSD.


    p.s В принципе у нас своё рабочее решение есть. Этот вопрос как альтернатива обсудить вопрос :ti_pa:
    port.jpg

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

  1. Шифрование.
    Действительно можно поднять L2TP, но кроме этого у нас есть техническая возможность шифровать обмен между сервером и службой опроса через SSL с использованием сертификатов. Пока мы не публикуем этот механизм по определённым причинам.

  2. Портирование службы.
    Мы уже провели успешный эксперимент по переводу службы опроса на кросплатформенный .NET Core
    Служба опроса запускается и успешно ведёт опрос на Linux, в том числе на одноплатных Raspberry PI. Поддержка BSD целиком зависит от того, будет ли поддерживаться на нём .net core. Пока заявлено, что поддержка на ранней стадии. От промышленного использования ещё далеко.

Теперь по поводу главного вопроса - общая архитектура “Много серверов и одна служба” мне представляется неверной. Зачем иметь несколько серверов, когда можно запустить один на 8000 объектов?

Служба опроса предназначена только для выполнения команд одного сервера. Не совсем ясно почему она должна быть одна. В конце концов, собранную под netcore службу всегда можно упаковать в контейнер docker и одной командной запустить несколько экземпляров для каждого сервера.

Теперь по поводу главного вопроса - общая архитектура “Много серверов и одна служба” мне представляется неверной. Зачем иметь несколько серверов, когда можно запустить один на 8000 объектов?

Сдавать в аренду модемный пул - чем не стартап? Небольшим кампаниям будет не нужно покупать оборудование для опроса по CSD, например (а эта технология хоть и устарела, но еще не скоро уйдет из практики)

Да, хороший вариант, но, как всегда, есть но.

  1. В аренду можно сдавать и службы опроса целиком. С помощью контейнеров это можно организовать, запуская новые экземпляры для каждого клиента.
  2. Модемы, которые вы будете сдавать в аренду, скорее всего, будут иметь SIM-карты местного оператора. Если модем арендует компания из другого региона, основные вызовы будут производится в нём. CSD-вызовы в другие регионы идут по междугороднему тарифу. Например, когда наш отдел разработки драйверов считывает данные с приборов в других регионах, это нам стоит около 11 рублей в минуту.

Всё-таки есть вопрос к Serg52:
Какую конечную цель преследует создание службы опроса для нескольких серверов? Может быть стоит посмотреть в сторону linux-контейнера со службой опроса, с помощью которого можно будет разворачивать несколько служб на одном компьютере? Это позволит не переделывать архитектуру системы, и может решить вашу исходную задачу.



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