Hello. I’m very interested in mastering swift on a server, everything is brilliant until it’s come to deploy on for QA/prod environment. In a lot of articles, the deployment process described very roughly and with the words “it’s a very broad topic and depends on your use case”. Well, this is true but can someone share success stories with metrics that describe in detail ~ load, infrastructure coast for that load, and real-word process of qa/prod deployment.
What I checked so far:
Server-Side Swift with Vapor
While there is some really good info about possible deployments (AWS, DIGItalOcean, Heroku), after reading all of this I have more questions than answers .
My main questions are:
Should I use some dedicated database instances from the start, Amazon RDS, managed databases from the DigitalOcean? Is it ok to use the same server for QA/Prod purposes?
Is it ok to use EC2/DigitalOcean droplet instance with docker-compose and handle App/DB/Nginx from the same machine? Can it handle 100/500/1000 visitors per day? So if I have 10$/month EC2 or DigitalOcean droplet can it handle 100/200/300 visitors per day for some simple blog app?
How server-side people manage DB refresh from Production to QA? Are there some best practices or real-world success stories?
So basically I’m looking for some general propose metrics like:
For 500-2000 visitors per day, you can go with a single droplet/EC2 for 5$ a month for the QA environment, and for production, you can use the bigger machine maybe 10$/moth. Total 15$/month for QA/PROD and 500-2000 users.
Go with AWS Fargate/ECR and managed DB - you will pay X$ for the small app which can handle ~Y requests but can easily scale if needed. What are X and Y in this case?
So can someone share some statistics from a real application (a type of application, ~requests/day, infrastructure coast, and your deployment method) and maybe describe processes that work for your use case (QA/PROD/Db refresh and so on). Thanks in advance!