Рекомендация по переносу пакетного приложения Spring на AWS

У меня есть весеннее пакетное приложение, которое запускается один раз в день на сервере Windows (планировщик Windows). Приложение выполняет 6 заданий, которые загружают данные из файлов txt, файлов csv, а также данные из внешних баз данных в мою локальную. Я очень довольна весенней порцией. Это определенно делает свою работу и удаляет много кода.

Сейчас мы переносим наше решение на AWS. Я знаю, что у AWS есть собственное пакетное решение, и, насколько я понимаю, если я захочу использовать пакет AWS, мне нужно будет начать разработку с нуля. Я не уверен, какие варианты подходят для меня.

Я хотел бы услышать, сталкивался ли кто-нибудь с переносом весеннего пакетного приложения на AWS. Предпочтительно ли начинать разработку в AWS или есть возможность перенести весеннее пакетное приложение?

Кроме того, есть ли у пакета AWS API для обработки файлов (например, spring), или мне нужно будет заниматься синтаксическим анализом и загрузкой?

Спасибо


person angus    schedule 01.11.2020    source источник


Ответы (1)


Насколько я понимаю, если я захочу использовать пакет AWS, мне нужно будет начать разработку с нуля.

Не обязательно. Определение задания в AWS — это образ докера с некоторыми параметрами конфигурации: https://docs.aws.amazon.com/batch/latest/userguide/create-job-definition.html. Поэтому, если вы создаете образ докера для своего задания Spring Batch, вы сможете запускать его как задание в AWS без необходимости его перезаписи.

person Mahmoud Ben Hassine    schedule 02.11.2020
comment
Спасибо, Махмуд, это будет немного «неправильный путь»? Я имею в виду использование пакетной среды внутри пакета AWS? - person angus; 02.11.2020
comment
Нет, Spring Batch и AWS Batch не находятся на одном уровне. Spring Batch предоставляет платформу для разработки пакетных заданий. AWS Batch предоставляет платформу для развертывания, запуска, планирования и масштабирования контейнеров в инфраструктуре AWS. Пакет AWS находится на более высоком уровне, он не предоставляет API-интерфейсы, такие как Spring Batch. То, что AWS Bat называет заданием, на самом деле является контейнером (см. шаг 10 в приведенной выше ссылке). - person Mahmoud Ben Hassine; 02.11.2020