Allegro.cc - Online Community

Allegro.cc Forums » Off-Topic Ordeals » Cloud hosting newbie questions

This thread is locked; no one can reply to it. rss feed Print
Cloud hosting newbie questions
Kompromaus
Member #16,649
March 2017

I'm working on a botting software for an online game, and I'm very close to launch (4-6 weeks).

However, I can only run maybe one instance per two CPU cores. I don't want to get eager and shell out for some dedicated hardware just yet, so I was thinking about using Azure, Amazon, Google, or maybe some other cloud VPS to run my bots.

I'm trying to figure out how it works, though. I'm a complete newbie when it comes to cloud hosting. I've only used shared hosting plans on small web hosts...

1) Is the 'per hour' cost presented by Amazon and Microsoft a physical hour? Example: I run 5 bots (each using their own 'instance') over 4 hours using the Azure A2 plan, so I'd be charged $1.58 for 20 hours? Similarly, using the Amazon t2.medium plan, I'd be charged $0.94? As far as I can tell, that's the case with Amazon and Azure. (Haven't looked into Google at all.)

2) Is there any sort of CPU throttling or hidden cost for CPU utilization on lower-end plans (A plans on Azure or t2 plans on Amazon)? My bot software would use upwards of 150%-200% CPU usage (so almost full CPU utilization across both cores). So like the example in 1, I'd be charged $1.58 for 20 hours of 150%-200% CPU usage? Edit: Amazon seems to use some CPU credit system, but I can't find anything about Azure doing the same.

3) Is there any easy way to demo various plans without spending too much? Is it as simple as spinning up an instance and checking performance?

4) I've heard some horror stories about insane bills from hundreds of VMs being spun up, usually out of error or stolen tokens/keys/whatever-they-may-be-called. Assuming I only run a few VMs at once, is there anyway I can rack up an insane bill?

5) Any recommendations for a particular cloud VPS provider? Looking for personal experiences, if possible!

I'd be happy to provide any clarifications!

Chris Katko
Member #1,881
January 2002
avatar

Amazon ECE gives you a free year (IIRc) of their lowest tier. Give it a shot. That's how I used to host my website. =D

I would imagine any reputable cloud host supports user-defined limits on resources.

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs
"Political Correctness is fascism disguised as manners" --George Carlin

Kompromaus
Member #16,649
March 2017

Thank you!

Amazon ECE gives you a free year (IIRc) of their lowest tier. Give it a shot. That's how I used to host my website. =D

I've been trying VMs on my hardware and found my bot needs at least 2 slightly-mid-range CPU cores and about 4 GB RAM. Anything less and it doesn't work well (logic ticks are too long, or the game/bot goes to swap). So I don't think I could try it out on the lowest tier.

bamccaig
Member #7,536
July 2006
avatar

That sounds like the bot is just badly written (no offense). I can't imagine that being affordable for constant usage. Have you attempted profiling the slow/fat bits and trying to improve things?

Will the bots be on 24/7 or just a few hours per day? I don't know anything about "cloud" hosting, but I've rented my own lightweight server for messing about for a decade.

Kompromaus
Member #16,649
March 2017

bamccaig said:

That sounds like the bot is just badly written (no offense).

How could you say that without no more information than 1) I have a developed a bot 2) The game is an online game 3) the specs I provided.

My bot works by extracting game state from the OpenGL command stream emitted by the game. I'm not only running the game, I'm having to parse sometimes hundreds of megabytes of data per frame in real-time.

This protects me legally and makes for an unbreakable bot. I've survived six months of weekly game updates without a single failure so far. Your bog-standard reverse-engineered game client can't say the same :).

Everything performance critical is written in C++ and can't be improved much further.

Quote:

I can't imagine that being affordable for constant usage.

My bot is the most advanced bot to exist for my target game. It will be automating things only top tier players are otherwise able to. Assuming I don't get overzealous and decimate the in-game economy, I could walk away with $1.50 per bot per hour. A t2.medium plan is $0.047 per hour assuming there's no CPU utilization restrictions. Even my early launch will be $0.30-$0.50/hour.

I'd like advice from people who have experience using Amazon or Azure.

bamccaig
Member #7,536
July 2006
avatar

Oh, so you don't mean a developer "bot". You mean a hacking bot. If that's the case I don't think I'd want to help you anyway. I doubt you'd get much help from a game developer community for that.

Derezo
Member #1,666
April 2001
avatar

We use azure, it's great, but I don't pay the bills (or see them). I just hit deploy :P

I do use Linode for my own purposes, but I'm not sure how practical that is. Less worry about the time used though, as you pay a monthly fee.

"He who controls the stuffing controls the Universe"

Kompromaus
Member #16,649
March 2017

bamccaig said:

You mean a hacking bot.

No, I mean a game automation software for a smaller online RPG. No 'hacking' is being done. I'm only a hacker in the traditional sense:

"A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary.. ... A person who delights in having an intimate understanding of the internal workings of a system, computers and computer networks in particular." (The Jargon File).

Derezo said:

I do use Linode for my own purposes, but I'm not sure how practical that is. Less worry about the time used though, as you pay a monthly fee.

I actually discovered Linode last evening and contacted them with a few questions. It looks like they're the best choice for my specific set of needs.

Go to: