“Дія” рік потому – в Kitsoft розповіли про автоматизовані послуги та нові технології на порталі

Олександр Єфремов, СЕО Kitsoft, розповів Banda.media, як за рік на порталі “Дія” вдалося запустити повну автоматизацію ряду державних послуг та як технологічно розвивалася система.

Два роки назад Міністерство цифрової трансформації розпочало масштабну цифрову трансформацію державних послуг, ідея якої – “держава в смартфоні”. Для цього створені дві системи. Перша, мобільний додаток – важлива частина соціалізації. Його запустила та розвиває ДП “Дія”. Друга – портал diia.gov.ua, платформа для створення онлайн послуг. Її розробкою та розвитком займається команда Kitsoft.

“Дія” рік потому

Портал запустили в квітні 2020 року. за цей час на “Дія” з’явилися нові послуги для громадян та бізнесу, перші автоматизовані послуги, працюючі без чиновників. Платформа розвивається в чотирьох напрямках:

     1. Масштабування

Цифрова платформа являє собою маркетплейс електронних послуг на базі BPMN.  Технологічна концепція виправдала себе – темпи створення нових онлайн послуг зросли в декілька раз. Рік назад стартували послуги для ФОП та “еМалятко”, а зараз на платформі вже 70 нових послуг.

Для розширення функціоналу “Дія” та створення нових послуг постійно потрібні зміни. При цьому вже запущені послуги повинні працювати без перебоїв, тому ядро системи має бути стабільним. При розвитку архітектури важливо зберігати цей баланс.

     2. Повна автоматизація

Автоматична послуга стала стандартом державних електронних послуг. Не просто paperless, а peopleless. Це звільняє ресурси держави, економить час громадян та допомагає знизити рівень корупції. В розвинутих країнах такої проблеми вже немає, а для України це шанс налагодити прозорість державних послуг.

При цьому сама “Дія” не надає послуги, а відображає інформацію. Це інструмент взаємодії з органом, який безпосередньо надає послуги: подача заявки, відслідкування її статусу, отримання рішення та необхідних документів.

В цьому році для будівельних послуг та відкриття ФОП запущена автоматизована подача та обробки заявки. Вплив чиновників, обробляючих послуги на back-офісі вручну, зник.  Для цього Мінцифри створюють нормативні умови для взаємодії державних органів, а завдання розробників – забезпечити це технологічно.

      3. Екосистема “Портал – Мобільний додаток”

Додаток спеціалізується, в першу чергу, на відображенні документів та наданні найпопулярніших послуг. Сюди варто додавати послуги, якими людина користується хоча б раз в рік та які можна замовити в пару кліків. Якщо послуга не така масова, потребує складного алгоритму дій, введення великої кількості інформації, прикріплення документів, її розробляють на порталі. Наприклад, будівельні послуги – там багато перевірок та більшість користувачів не користується цими послугами.

Портал та додаток – дві самостійні системи. Щоб користувачі отримували цілісний досвід в “Дія” ми заклали технологічну основу взаємодії. Заявку для отримання вісім тисяч ФОП оформлювали і там, і там, але обробка послуги проходила на движку порталу. Можна на порталі авторизуватися, а підписати документи через додаток.

     4. Відкритість до взаємодії

Це одна із цінностей, які створює новий програмний продукт. Якість пропрацювання взаємодії з іншими системами визначає його успіх. Для надання електронних послуг портал “Дія” обмінюється даними з іншими ресурсами. За останній рік збільшилася кількість підключень до зовнішніх реєстрів до 35 – “Дія” вже взаємодіє з всіма основними державними системами.

Що “під капотом”

Архітектура системи

Редактор процесів BPMN

Створення простої та людяної онлайн послуги в концепції “Дія” включає глибокий аналіз існуючих процесів та нормативної бази. Хто як працює, чому так, що змінити, спростити, автоматизувати? Таким реінженерингом процесів та необхідних для цього змін в законодавстві займається команда Мінцифри.

Для проектування нової послуги на платформі не потрібні розробники, код писати для кожної не треба. Логіку надання послуги налаштовують бізнес-аналітики в редакторі BPMN у вигляді схем. Тобто архітектура системи налаштовуються розробниками, а для бізнес-аналітиків є зручний інтерфейс, де вони з допомогою умовних позначень моделюють процес.

Наш виклик був допрацювати функціональність платформи та організувати сервіс так, щоб окремі команди бізнес-аналітиків могли одночасно працювати над декількома послугами самостійно. Такий підхід знижує витрати, допомагає масштабуватися і досягати поставлених цілей. При цьому втручання в код ядра системи не відбувається.

BPMN схема для послуги е-Прописка

Авторизація

З’явився ще один елемент для входу в систему – Дія.Підпис. Для цього реалізували функціонал авторизації на порталі з використанням мобільного додатку. Щоб зайти на портал чи підписати електронним підписом документ, тепер не потрібний електронний ключ, який зберігається окремо. Замість цього, можна в додатку “Дія” відсканувати QR-код та пройти ідентифікацію в мобільному додатку.

За допомогою Дія.Підпис. можна авторизуватися і на інших державних платформах. Наприклад, сервіс петицій – окремий ресурс, користувач заходить та залишається на ньому, при цьому авторизація здійснюється через “Дія”. Для цього використовують стандарт аутентифікації OAuth 2.0.

Плагіни

На платформі “Дія” розробили систему плагінів, якщо для створення нового сервісу старого функціоналу не вистачає. Плагіни розробляють інші організації, при цьому використовують реєстри, сервіси для взаємодії та стають частиною екосистеми. Приклад такого плагіна – послуга для ФОП по сплаті податків. Зовнішньо процес не відрізняється і підприємець отримує цілісний досвід в “Дія”Плагіни допомагають розширити спектр послуг для громадян.

Промислове сховище

При наданні онлайн послуг регулярно генеруються pdf файли – заявки, результати. За перші півроку їх нараховувалося 670 000, тобто більше 500 Гбайт, ще через пів року очікувалося збільшення об’єму мінімум втричі. Тому перенесли файли на нове об’єктивне сховище промислового масштабу – File Storage S3 на базі відкритого програмного забезпечення OpenStack.

Для переходу підготували кластер і створили скрипт міграції. Для користувачів перехід пройшов в фоновому режимі – без навантаження на сервера і недоступності “Дія”.

Доступ до великих файлів став швидким, з’явилося резервне копіювання і додаткові можливості масштабування всієї системи. В сховищі вже 6 млн.файлів, тобто 5 Тбайт даних.

Сховище спільне і для порталу і для мобільного додатку, данні зберігаються паралельно.

Комунікації з зовнішніми системами

“Дія” використовує український сервіс “Трембіта” – це шлюз, який шифрує та безпечно передає інформацію між державними системами.

При цьому реєстри та державні ресурси, з якими доводиться взаємодіяти, різного рівня якості. Більш розвинуті мають АРІ для взаємодії, а зі старими системами обмін даними ускладнений. “Дія” використовує черги повідомлень для асинхронного обміну і Rest API для синхронного спілкування.

Для взаємодії важливі два сервіси :External Reader і Event. Сервис External Reader створює безпечне підключення до зовнішніх реєстрів. Сервис Event відправляє інформацію в інші системи і повідомлення користувачам. Ми розробили ряд шаблонів підключень, щоб не довилося писати унікальний код під кожну зовнішню системуі витрачати ресурси. Якщо зовнішній ресурс підтримує прийнятий в системі формат даних, то програмування не потрібно, тільки налаштування.

Завдяки цьому стала можлива автоматична реєстрація ФОП.External Reader зчитує інформацію про користувача в реєстрах,а Event записує новий статус підприємця в Єдиний державний реєстр. Через мережу АРІ “Дія” напряму комунікує з зовнішнім світом, без чиновника.

Сама “Дія” також надає зовнішнім системам стандартне АРІ. Ми додаємо кастомні АРІ у вигляді окремих мікросерверів, якщо стандартного інструментарія виявиться недостатньо. Цей функціонал допомагає порталу широко взаємодіяти та обмінюватися даними, без втручання в ядро системи.

Кейс: е-Прописка. Для цієї послуги ми інтегрувались з реєстром нерухомості – щоб перевірити права на житло, з Міноборони – щоб військовозобов’язаних зняти з обліку та поставити на облік по новому місцю прописки, та з Державною міграційною службою, яка безпосередньо надає послугу зміни місця реєстрації.

Раніше, щоб перепрописатися, ходили із однієї служби в іншу по двом адресам, тепер достатньо заповнити одну заявку в “Дія”.

Завдяки інформаційному обміну “Дія” автоматично перевіряє дані через зовнішні АРІ в реєстрах, та після валідації пропоную заявнику підтвердити заявку електронним підписом. Якщо людина прописується в чужій нерухомості, то підписати заяву мають всі співвласники. Для цього передбачений механізм електронного мультипідпису. Заповнена заявка йде ДМС та далі на конкретний регіон, де і опрацьовується. Результат послуги надходить з регіону в ДМС та передається в “Дія”. В цей час користувач отримує сповіщення та бачить в додатку нове місце прописки.

Швидкодія

В грудні 2020 року стартувала перша хвиля послуги по виплаті ФОП через локдаун. На виплати претендували 900 тис. користувачів, термін надання послуги – всього 3 тижні. Навантаження виявилося в сотні разів більше, чим передбачалося. Це був highload для системи та справжній стрес-тест для команди розробників.

Стандартне навантаження для “Дія” – десятки запитів в секунду. Портал підготували та протестували для очікуваного навантаження в сотні запитів в секунду:

  • Спроектували шлях користувача при подачі заявки
  • Запустили автотест для виявлення перевантажень
  • Підготували моніторинг послуги
  • Проаналізували метрики та логи роботи системи для можливості виявити вузькі місця
  • Оптимізували запити до бази даних, програмний код та збільшили швидкість дій
  • Масштабували інфраструктуру

Але в перший день після запуску послуги навантаження досягло 1000 запитів в секунду, а в другий – 2500 запитів в секунду, після чого деякі користувачі зіштовхнулися з проблемами. Потрібно було оперативно ще оптимізувати систему: розвернули нові сервіси, перенесли на потужніші сервери, розподілили навантаження. З другого дня “Дія” вже працювала без перебоїв.

Моніторинг

Highload став поштовхом для налагодження моніторингу, щоб бачити в реальному часі навантаження на елементи порталу.

Моніторинг показує, як працюють послуги в реальному часі, на яких етапах користувач. Так, поки ви читали статтю та пили чашку кави, в “Дія” зареєструвалися 60 ФОП.

Служба підтримки “Дія” працює з помилками вживу: розбирається, якщо людина застрягла на якомусь кроці,діагностують проблеми із зовнішніми системам, бачить упавші процеси та перезапускає їх з місця помилки.

Досить рідко всі підключення до реєстрів працюють справно: виникають проблеми, технологічні вікна – в результаті запити не доходять. Тому движок побудували так, щоб в подібних випадках користувачу не доводилося починати з початку.

Система сама автоматично превідправляє повідомлення у зовнішні ресурси без участі людини: відправили запит – вилитіла помилка – повторимо через деякий час.

Для служби підтримки є ручний режим управління. Припустимо виникла помилка з форматом даних при передаванні. Підтримка в спеціальному режимі виправляє формат та в ручному режимі повторно відправляє повідомлення у зовнішній реєстр.

Що далі?

Стандартизація процесів на платформі “Дія” дозволила масштабувати досвід та швидко впроваджувати електронні послуги одночасно в багатьох сферах державного управління. Наша команда розробників відповідає за покращення платформи, ще декілька команд паралельно наповнюють її контентом та конкретними послугами. Продовжується робота над покращенням інтерфейсу редактора послуг та послуг без чиновників.

Розробники плагінів використовують движок та кастомні АРІ для швидкої інтеграції в “Дія” та інтенсивно розширюють систему, не порушуючи її стабільність.

“Дія” вже на такому рівні, коли зупинка на 1-2 години наносить суттєвий збиток. Тому прийшов час іще підвищувати відмовостійкість інфраструктури. Наступним кроком буде перехід на Kubernetes — це світовий стандарт інфраструктури, включаючий сервера , коммутатори та інше. Kubernetes буде працювати в двох українських дата-центрах паралельно та підвищить відмовостійкість, виробничість та надійність платформи.

banda.media

Обязательно подпишитесь на наш Telegram канал

ПОДПИСЫВАЮСЬ
ПОТОМ