Serverless - это очень урезанный docker контейнер со своим API и временем жизни до 5 минут. При этом 1 контейнер обслуживает 1 запрос. В течении 5 минут после исполнения контейнер остается "горячим", т.е. содержит все данные после прошлого исполнения. Соответственно, если у вас память течет, то под нагрузкой память освобождаться не будет, т.к. контейнеры переиспользуются.
Кроме того, если вы хотите обслуживать внешние запросы, то нужно еще использовать прокладку в виде api gateway (за это тоже нужно платить).
Мороки с настройками тоже свои есть. Мониторить лямбды тоже задача со своими нюансами. Если у вас просто сайт/api и более-менее регулярная загрузка есть, то я бы serverless не советовал. Elastic beanstalk на самом деле удобнее и практичнее. А вот для задач вроде selenium тестирования, когда нужно 1000 тестов параллельно запустить и потом до следующего билда вам мощности не нужны - serverless это очень хорошо.