Зачем? Ой, не спрашивайте. Хотя почему бы и не поддаться современным веяниям, и не реализовать REST api на лямбдах. Проверить так ли уж необходимы Rails и попробовать минимизировать количество зависимостей. Попробовать декомпозировать веб приложение в терминах облачных сервисов. Oracle free tier,  хм, насколько это бесплатно в реальности? Стек В отличие от Amazon, у Oracle не так много сервисов. С одной стороны это плохо, а с другой - будет проще прикинуть архитектуру. Итак, если лямбда в Oracle, значит это https://fnproject.io/. Free tier предоставляет 2000000 вызовов лямбд в месяц бесплатно. А еще это значит что наши лямбды будут поставляться как doker образы. Если лямбда для веба, значит роутить запросы в облаке будет Api Gateway, это бесплатный миллион запросов в месяц (~ 1 запрос в 2.5 секунды). Этот же сервис умеет проксировать запрос к статическому контенту, предоставит https соединение. Он же может авторизовывать запросы и обрабатывать path параметры. Считайте что это аналогия роутера в Rails. В качестве ORM не хочется брать тяжеловесный ActiveRecord, благо есть Sequel. Он более модульный и имеет адаптеры для большинства БД. Берем.  Для поднятия инфраструктуры в облаке будем использовать Terraform. Вы только гляньте на oracle провайдер от облака, он умеет все, класс. В качестве бд я возьму Postgresql. Делаю это потому что привык и потому что на бесплатных вариантах Оракл может удалить вашу бдшечку при отсутствии запросов к ней, что неприятно. Но вообще в облаке есть варианты и с документными бд и с оракл бд (куда уж без нее). Использование этих вариантов считаю предпочтительней, поскольку вы можете управлять их схемой через тот же терраформ и хранить ее в стейте. Итак, поехали. Начинать стоит с авторизации SDK запросов к облачному Oracle апи. Подробно не будем останавливаться (вот и вот ссылочки в помощь), надо лишь сделать ключ и сохранить конфиг. Структура проекта /app - здесь лежит gem с логикой, которая шарится между всеми лямбдами. Согласитесь, хочется пошарить модели/сериалайзеры и прочее. /client - код SPA фронтенда /functions - здесь лежат наши лямбды .tf файлы брошены в корень, терраформ любит знать про все зависимости сразу, пусть так, потом разберемся. В качестве бекенда можно использовать оракловые же бакеты, все как и в амазоне: Деплой приложения происходит в десколько шагов - сначала билдим app гем, потом билдим и заливаем в облако образы функций, применяем изменения в инфраструктуре. С инфраструктурой справляется terraform, апи гейтвей выглядит как то так: Типичная лямбда выглядит так Yaml-файл описания фунции в fnproject. Под капотом собирается докер образ из указанных image, указаны параметры рантайма. Гемфайл зависимостей лямбды. По-хорошему наш гем стоит указать здесь, я же хотел чтобы гем ставился из локальной папки в проекте, с этим возникли сложности, поэтому гем предустанавливается в базовые докер образы oci-app, oci-app-run Сам код функции, все классы Application::* берутся из нашего гема. Переходим к самому гему. Докер файлы для базовых образов функций: Билд гема и его включение в базовые образы: Управление лямбдами решил осуществлять средствами команд fnproject: fn start|build|deploy . Удалось организовать локальную среду, то есть те же самые функции работают в локальном fn сервере и отвечают на такие же запросы как и ApiGateway  в облаке. Итог: Имеем костяк приложения с базовым роутингом Имеем локальную девелопмент среду Имеем возможность локально запускать аналог rails консоли из папки гема с коннектом к локальной бд Минимум зависимостей от сторонних библиотек, нет rails, нет activesupport Практически готовый деплой и возможность деплоить по частям Фронтенд и его сборка полностью отдельно и никак не зависит от бекенда, все живет в папке client и деплоится в бакет терраформом. При желании все билд команды можно прописать в терраформе и тогда деплой будет выглядеть просто как `terraform apply`. Масштабирование из коробки. Забудьте про скейл группы и мониторинг метрик нагрузки. Приложение практически  готово к развертыванию в собственном kubernetes кластере Благодаря щедротам Oracle, это все бесплатно в известных пределах) Минусы тоже есть: Время холодного старта функций может доходить до 20-30 секунд У Оракла существенно меньше облачных сервисов, закрыт буквально минимальный набор FnProject выглядит последнее время заброшенным, не знаю насколько у Оракла в планах поддерживать его.