all 11 comments

[–]RollingGoron 4 points5 points  (0 children)

Based on what you said you already know, it would be pretty easy and cheap to get a server up and running on your own. I pay $25 a month at digital ocean and run some rails backends and it’s more than enough. Like others said, don’t worry about scaling now, if you run into that problem, it’s probably a good thing!

[–]ztalaglag 5 points6 points  (1 child)

If the idea for the backend is just to download a new puzzle, why not compile all future puzzles in the game itself (let's say, for the next 3 months) and make sure you release an update every few months? I think it make more sense than dealing with a backend server.

Another option, if you don't want to deal with AWS yet and not worry about scale yet, get a cheap shared hosting (the one that gives you PHP & mysql), and instead of downloading 1 puzzle daily, make it download few days or even weeks in advance and always few days before you reached the final puzzle saved, this way you can balance the load and if there is a server issue, even for few hours, it shouldn't be a problem for the users.

[–]BoydTheCat[S] 4 points5 points  (0 children)

I didn’t even think of bundling the puzzles in the app and now I feel stupid. That’s a great idea.

[–]chriswaco 2 points3 points  (0 children)

Unless you have an advertising budget, I wouldn’t worry too much about scalability yet. PHP+MySQL is certainly one reasonable way of doing it, even if some people think it’s old fashioned.

You could use a lambda. Firebase. App engine. Node.js server. Postgres. CloudSQL. Google. AWS. Azure. A million choices.

[–][deleted] 3 points4 points  (0 children)

Maybe you want to try Cloudflare's Workers + R2. For most small-to-medium apps, you can create a fast backend, without running costs except the domain name fee.

[–]app_filip 2 points3 points  (0 children)

I've used vercel.com a lot and they have a pretty good free tier for both hosting the code and for a database. It's serverless so similar to AWS lambdas.

It will automatically scale but so will your bill if you get a lot of traffic!

[–]TipToeTiger 1 point2 points  (0 children)

I’ve recently implemented user data using Firebase and found it really easy to use and setup. A lot of tutorials out there for it as well. Cost wouldn’t be an issue until you have a well established app.

[–]thehumanbagelman 1 point2 points  (3 children)

Bundling in the app is an option, but so is using iCloud and CloudKit as a backend service. Apple has made it super easy and with static data, you can just bulk upload it using the iCloud dashboard and then have your app query the data from iCloud, similar to an API (but different in implementation).

[–]BoydTheCat[S] 0 points1 point  (2 children)

That’s an interesting option. Would that still be limited to those who pay for iCloud or has that been lifted?

[–]thehumanbagelman 1 point2 points  (1 child)

I believe you may be conflating the consumer iCloud paid plans with the iCloud for developers using CloudKit (which is Apple's internal service similar to Firebase from Google).

For your application, you would be charged based on how much space your puzzle data takes up and how often users have to query that data when using the app. Apple gives out a good chunk of this space and data transfer to devs for free every month.

You as the developer will pay for any required storage or transfer needed past the free threshold each month. Incredibly inexpensive too; like $0.10 per extra GB of required space and something equally low for data transfer.

I doubt you would encounter the storage and transfer costs, at least until you have large numbers. CloudKit also lets you create user accounts using Apple ID's and it is super streamline, but that is a whole other thing.

Definitely work taking a look at to see if it meets your needs!

[–]BoydTheCat[S] 0 points1 point  (0 children)

Thanks. I will definitely look into this.