Как стать автором
Обновить

Комментарии 12

получилось какое-то сравнение JVM и грааля. при чем тут aws lambda?
Автор предлагает компилировать все у себя на машине, то есть она должна быть очень мощная. И теряется все преимущество aws lambda — написать код прямо в окошке браузера и по одной кнопке задеплоить его без лишних телодвижений.

Автор пишет о создании Lambda-функций на Java и в самом начале статьи говорит о проблемах такого подхода. И потом статья описывает решение этих проблем при помощи компиляции Java-кода в нативный образ.

По поводу "написать код прямо в окошке браузера и по одной кнопке задеплоить его без лишних телодвижений" - это же не JavaScript или Python, вам всё равно нужно было бы собирать jar-файл. Давно работаю с Lambda-функциями на Java и обычно всегда компилирую функцию локально (или в CI) и потом загружаю её в AWS. Так что компиляция в нативный образ не сильно меняет подход к работе.

"Все преимущество lambda" это ресурсы по требованию и экономия, а не 24/7 запущенный сервис. Код в окошке это просто приятный бонус, не более, потому что в любой мало-мальски развитой компании есть CI/CD.

А для чего нужна конкретно в этом примере рефлексия?

Конкретно здесь @RegisterForReflection помечает DTO классы, которые будут возвращаться запросом из DynamoDB. Подробнее можно почитать в документации Quarkus - https://quarkus.io/guides/writing-native-applications-tips#registering-for-reflection

Зачем нужен медленный вариант если есть быстрый? И почему AWS не может автоматом заграалить код?

Вопросы риторический, но это было бы удобнее для конечных потребителей.

В контексте темы кастоных рантаймов для лябмды там просто запускается в контейнере скомпилированный бинарный файл под линукс. А как этот файл будет получен - скомпилирован граалем или любыми другими компиляторами амазону всё-равно.

В принципе, если задаться целью, то можно построить самому такой CI/CD пайплайн, который будет компилировать вашу лямбда-функцию из исходников в бинарный образ, упаковывать его в нужный для лямбд формат и загружать туда. У нас на проекте сейчас похоже настроено, только пока без грааля :)

https://ase21-industry.hotcrp.com/doc/ase21-industry-paper7.pdf?cap=07ax_GWBvNW-0U

В каком-то виде AliTech Cloud уже это делает

Воркфлоу взаимодействия юзера с системой

Почему бы не "Воркфлоу интэрэкшена юзера виз систем" ?

Понимаю вашу иронию, впредь буду стараться пользоваться "родными" словами :)

Вы всерьез считаете подобный workflow адекватным для разработки? То есть вместо быстрого локального запуска предлагается куча медленных приседаний с напрочь отсутствующей возможностью поставить брейкпоинт и отдебажить в IDE? Это даже хуже чем сервера приложений в 2005.

Так тут и не рассказывается о том как разрабатывать лямбды, а о том как оптимизировать их перформанс. По своему опыту - лямбды можно запускать и дебажить локально без проблем

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории