Hi, We have moved our frontend and other products...
# help
d
Hi, We have moved our frontend and other products to AWS with SST. Lastly, we have our Ruby on Rails api running on Heroku. It uses Sidekiq and PG. What would be the equivalent to run this one with SST? At the moment we use a docker container and use Github Actions for CI/CD. We are trying to have the maximum of serverless here, and I’m not sure what product from AWS that is compatible with SST would allow us to run RoR workers and web processes.
g
Not sure if you're up for huge change but my company used to do the same. We switched to nodejs lambdas using dynamodb with streams, eventbridge, and sqs
a
@Daniel Gato how are you using SideKiq, what use cases are you targeting?
d
@Garret Harp that is our long run plan. Meanwhile we have a migration for our DB that will come soon and maybe this is the right moment to go away from Heroku @Ashishkumar Pandey we have a lot of long lasting jobs. 3D / AR conversions. A lot of duplication and assets management that we do on our workers. For example, converting and merging textures for 3D.
a
As for PG, you can use plain (non-serverless) Aurora with PG flavour. There’s a SST Construct for Aurora Serverless with MySQL flavour called
RDS
.
@Daniel Gato you’ll need to use AWS step functions and sqs to replace SideKiq. You can create RoR docker based lambdas and trigger them via SQS and Step functions.
SQS will help you with the basic queuing, just the in and out based flows. For complicated workflows, step functions would work well.
d
Thanks, this seems more doable than what I imagined. We will queue jobs on SQS and then the whole worker container will start on a lambda each job
RDS seems quite straight forward and we used it in another project.
a
if your jobs can’t be broken down then I’d ask you to consider ECS instead of lambdas.