New to redwoodjs and happily building out a small application that (all going well) will get seasonal traffic of maximum 1k users.
I have some limited baremetal experience; some limited aws/azure experience; and precisely zero CI/CD experience (been looking at the tutorials on this pretty blankly).
We have a team of two on the project, so I’m not really fussed by all the pull request/communication automation functionality just yet. We’re cost sensitive/dispositionally inclined toward open-source solutions so am looking at bare-metalling the app into an ec2. However, back in the real world, I think the cost/time savings of the out of the box serverless architecture pipelines are going to be necessary for the feasibility of our project.
Now that I’ve outed myself as a massive noob, and have all that contextual preamble out of the way. Does anyone have any recommendations or things to consider when selecting from the out of the box deployment integrations? And secondly, is there a way to (simply) spin up a serverless architecture without one of the integrated 3rd party platforms?
Thanks in advance for your help!
Hey @littletuna4, awesome to hear you’ve got some traffic. Here’s my two cents, by no means authoritative and I’m sure some would disagree.
At first my anecdotal experience was that most Redwood apps eventually migrate off severless deploy providers (Netlify/Vercel) to “serverful” ones (Render/Fly). I think this is still true, but it’s less true than I used to think. I’ve seen a few Redwood apps that have very-much scaled on Netlify/Vercel, and they’re very reluctant to move away because the DX they provide is just straight-up hard to replicate anywhere else right now. But I think that could change in the next few months. If our Docker integration was 100% done (we have an optimized Dockerfile, but the env-vars flow has some bumps), I’d point you to Coherence/Flightcontrol/Fly, but it’s not quite there yet.
But rereading your post, it sounds like you want to completely replicate serverless DX on your own? I’m not sure how to go about doing that without being an AWS hero. So my inclination is to tell you to not go the baremetal route if you want serverless DX.
Lastly FWIW, to me CI/CD is less about the deployment provider you choose and more about the number of
*.tests.ts files and
*.yml files you write. Do you feel good about a PR once checks go green? If not, I’d start there. Of course, one of those checks is “did it deploy?” and that’s where Netlify/Vercel really shine with deploy previews. But most of the other integrations have some kind of deploy preview functionality now as well, it just sometimes requires more config.