So far I have relied on Google Cloud (App Engine, Cloud functions, etc..) to run these kinds of things but for the new service I find that Google Cloud is too limited. It also requires Mac computers with M1, running Monterey.
My question is: how do I get started setting up my own server(s)? I found numerous tutorials for setting up web servers but I don't need a website / frontend. Just the service with an API. I would also like to have some amount of scalability and protection against DDoS and similar attacks. Is this possible?
> It also requires Mac computers with M1, running Monterey.
Does the operation requiring macOS needs to be synchronous & instant or can it be asynchronous and respond within a few seconds/minutes?
I'd highly suggest decoupling the Mac-related part of the API into an asynchronous task, that way the actual API servers can be inexpensive Linux servers.
With this you won't have to expose port to public internet, and fiddle with your firewall and router.
Then you can use Cloudflare DDoS protection and other offerings.
[0] https://developers.cloudflare.com/cloudflare-one/connections...
How does Docker(and compatibles) handle M1? I’d recommend getting your app containerized as early as possible, that should improve the portability, operability and reliability stories.