Как сделать исполнение low-code прозрачным: опыт большой IoT-платформы

Узкотематические секции

Java
Организация системы кеширования
Отказоустойчивость
Оптимизация производительности
Разделение представления и бизнес-логики, шаблонизация
Оптимизация

Доклад принят в программу конференции

Мнение Программного комитета о докладе

У вас есть свой DSL, которым оперируют конечные пользователи. На этом DSL можно писать скрипты и скрипты эти могут быть не быстрыми. Рассказ о том, как дать пользователю инструмент для анализа и улучшения производительности и при этом не потерять в производительности исполнения скрипта.

Целевая аудитория

- Разработчики высоконагруженных систем (преимущественно на JVM); - Инженеры low-code и no-code платформ; - Архитекторы систем со встроенными языковыми движками; - Все, кто интересуется вопросами обеспечения observability сложных приложений

Тезисы

Low-code и no-code решения привлекают своей простотой, вроде как устраняющей нужду в отладке, трассировке, профилировании и других инструментах "классического" программирования. Но в масштабах реальных промышленных проектов без них оказывается трудно, ведь иначе как понять, что делает та или иная low-code конструкция под капотом? И, что особенно важно, как она ведёт себя под нагрузкой?

В докладе мы посмотрим на имплементацию этих функций на примере российской IoT-платформы AggreGate, где встроенный язык выражений был наделён средствами трассировки и визуализации, позволяющими low-code разработчикам видеть ход и результаты выполнения их команд на всех этапах от редактора до production. Особый акцент сделаем на производительности:
построение/слияние/кэширование деревьев разбора, ленивая загрузка результатов, троттлинг вычислений – словом, всё, что позволяет сохранить сервер живым, а отладку – пригодной даже при сотнях тысяч RPS.

Ведущий бэкенд-инженер в команде разработки AggreGate – интеграционной low-code платформы для IoT. До этого 10 лет трудился в финтехе над серверной частью Интернет-банков и сопутствующих сервисов. Автор нескольких open-source инструментов для тестировщиков и разработчиков. Периодически выступает на конференциях и митапах по бэкенду и пишет статьи по различным темам вокруг Java. Состоит в программном комитете сибирской Java-конференции SnowOne.

Видео