не особо силен в теме клауд фреймворков для жабы. не в курсе вообще есть ли они. и, возможно, я называю это как-то по-колхозном, но суть проблемы в следующем: есть некоторая апка, которой надо заскалиться для решения какой-то задачи. что сейчас делаю я:
- во-первых создаю отдельный апп, где реализую таск. компилирую и включаю бинарник в основной проект.
- алочу клауд инстанс на каком-нибудь провайдере (особо без разницы на каком, авс, гугл клауд, етс)
- сетаплю по ремоут шелу жре
- гружу бинарник
- запускаю бинарник
- апп на удаленном инстансе делает все дела, меняется данными с рут сервером по какому-нибудь протоколу типа акка, рми, хттп
- ждем завершения удаленного аппа и прибиваем все ресуры на клауде.
собственно, о проблемах:
- первый пункт просто задолбал. из-за этого и депенднси хел, и в иде куча проектов. в общем, на лицо комбинаторный рост потенциально. хочется весь код закатать в один проект и забыть об этом ужасе н-а-в-с-е-г-д-а
- все остальные пункты выполняются в рантайме и их не так сложно реализовать, но мне кажется это будет велосипед.
что есть по этому поводу в мире жабы или (даже лучше) скалы ? в идеале хотелось бы иметь что-то типа:
val executor: ExecutorService = RemoteExecutorFactory.create(someip,login,pass,initShellCommand)
executor.submit(new SomeTask)
executor.shutdown()
executor.awaitTermintion()