I have the following design structure and im not sure about a lot of stuff when I want to deploy it. (I want to do this to heroku). My questions are related more to system design/deployment than specific code.
I think from a design principle is pretty clear and concise. The app also has not any states (there is not a simutaneusly view of the same page, e.g. a dashboard or something so I don’t need anything with concurrency)
I am really not sure on how to structure my app. I have previously deployed apps in heroku with a single repository (frontend and backend in the same repo). Is this a good Idea here? Currently I have the frontend and the processing system inside a single repo but my process takes too long so heroku won’t let request over 30 secs to hold (so im taking this different approach with enhancements)
To sum up, Im wondering these things
-
How to structure the code? A single repo with subfolders for each service/app? Can I dockerize them and push them to different heroku apps from a single repo and how?
-
Different repositories for each service/app? then I can individually deploy them as a heroku app, is it worth there to dockerize them in this structure?
-
What will be better for developing and deploying? (I mean the most convenient, the development will be do by me locally)
-
what are other ways of deploying this except heroku but in a way that it will be easy and I will not stumble into a lot of devops stuff and how about their costs? I know heroku charges per usage so this app will be only up and running for minimal time.
-
If I want to later go out of heroku to a full time deployment in other services/providers what provisions should I do now so it will be easy?
Thanks in advance!