Where should I host a server?

Hi guys, I need some help from more experienced devs. I plan on hosting an alpha version of a game I’m working on, and I plan on working on it for a number of years until I make it big enough.

I need to host a game server somewhere, but I want to do it on an easily scalable platform. At the same time I’d like to host my website there as well, in order to hook up the registered users database with the game server so that login credentials can be shared between the two.

My current solution is to rent one from accelerated.de , they offer a pretty good machine for 80 euros/month, so I figured I’d transfer my source control and dump the perforce there as well. I’d also like to let a friend of mine host a minecraft server on that machine, since I won’t be using much traffic. My only concern is the scalability of this stuff. I’ve never done anything like this before, and I don’t want to find myself looking to migrate everything after a year or so. It already happened to me on Weebly, after they refused to grant me access to their backend.

I’ve did some digging and have found that google and amazon both offer solutions, but I don’t fully understand what is it exactly that they offer. I see that it is a cloud, but they advertise a bunch of different solutions that even have UI elements to them, so it makes me think it’s for android games on their app store? I also don’t know if hosting a website is possible with their service.

Basically I want a scalable system that won’t hit a bottleneck that will require me to migrate, that can host both my website and my game server, as well as have some leeway for other things like source control and other private game servers. Any tips? What best fits with a UE4 game? I’m fairly confused here with all these options that I see on google like compute, app and container engines.

Bump. Anyone?

Amazon (AWS) is a cloud solution where you can manually set up your virtual machines. One instance is easy, but complicated systems are also possible to build, which makes it a viable solution for many users. The price tag might be problem, since the “you only pay for what you use” can have it’s own drawback too. As for scalability, aws seems like a good option. They also provide you the Free Tier program, under it’s terms you are allowed to run eg. a micro instance (smallest virtual config) for free, so you can test and learn the usage of the system. Free Cloud Computing Services - AWS

The paid services basically provide many options to set up your customized instance that suits best for your requirements (vcpu/ram presets, drive configurations). You can either choose the on-demand option when you are not sure how long you want to run the server, but you can afford pre-paid services for 1 or 3 year span, that provides discounts.

Here this calculator can help to figure out the expected prices:
http://calculator.s3.amazonaws.com/index.html

The instance can be changed later (larger/smaller), and you only have to re-attach the ebs volume (drive) that most likely will boot up in your new instance without any issue.
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html

The cloud management is in your hands, so be careful not running unused instances, etc. that costs money!

@franktech i have no experience with Snowball so i’m not sure how much of my answer applies to your question, but on AWS the “data in” doesn’t seem to cost you anything under normal circumstances, however storing the data on s3 or glacier will most certainly will do. retrieving the data (data out) is also costs you, and the price tables explain it better than i could. The volume is a separated service from the instance. They are linked together so they can form a working virtual machine (cpu+hdd). When you choose to shut down an instance both will remain to exists. If you choose to delete an instance the attached volumes can be removed as well (it’s optional). The volumes which remain on your account will continue to exists and most likely will continue to cost you just like in the case of s3/glacier, and the prices are based on the chosen drive characteristics. You can intelligently choose what type of data you want to store on which amazon service (s3/glacier/ebs), and it will shape your montly bills accordingly. Stopped ec2 instances doesn’t cost you anything, but the existing volumes most probably will (regardless they’re in use at the moment or not). How long they remain exists? As long as you are paying for them! :slight_smile:

“you only pay for what you use” has its own little dark corner of sadness, and it comes in full force at the end of the month. You must always be in control, and manage the services (manually or automatically via scripts etc) to avoid unused/overpaid services. Nobody wants you to waste the backend systems, therefore the fine tweaking of the services is essential.

If you want some advices for something cheaper, I’d suggest SoYouStart. I’ve used them a couple of times, they need an ID verification though that can take up to a month(I don’t know if it got any better, their support is really slow). But you can get a decent computer for less than 50€/month. Contabo and Hetzner are also good choices, decent prices.

AWS model should be cheaper than 50€/month, especially to get ramped up. You pay nothing to upload data. You pay for nothing to transfer data between AWS services. You pay for storage, once you choose the storage type/speed you need, and pay for data sent out of AWS to a client. For example EBS (Elastic Block Store) can be utilized for the engine as it can be configured for extreme disk I/O. EC2 (Elastic Cloud Compute) servers are better for web hosting of static & media. With ELB (Elastic Load Balancer) and autoscaling, you can handle any load, if it comes on line. While you develop, you can squeeze under the free tier for the first year. Still, instead of pay as you go model, you can utilize reserved instances and save up to 75% of costs. My goal is to figure out how to access the engine via Lambda - there are NO server costs and you’re only charged when your code runs. If it never runs - you NEVER get charged. You know Clash Of Clans? SuperCell chose hosting via AWS, and for good reason. Unless you have tera/petabytes of data, you don’t need the Snowball option. You can upload in parallel from multiple clients at the same time, and while you’re developing, that’s all you’ll need.