[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Can I put my java server in the cloud?

Posted on 2014-08-10
7
Medium Priority
?
261 Views
Last Modified: 2014-08-16
Hi
If I make an RTS game server, I shouldn't have, like my last one, the server Threads sitting on my office floor machine? I can run multiple server Thread instances in the cloud? For a couple of cents a server?
Or mass game server numbers in the same cloud? - or all on one flat-rate monthly account?

Thanks
0
Comment
Question by:beavoid
  • 3
  • 2
6 Comments
 

Author Comment

by:beavoid
ID: 40251647
Thanks
So, basically, the answer is yes.

Would my game be classified as an EE application? It is a Java class with datagrams and sockets as a connected server at an IP address.
Cloud server space is just accessed from Java code, just like calling a function method within a class?
If I program my game locally in my office, will converting the server Threads to the cloud be straightforward?
Should I program the whole thing from the cloud as step 1?
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 40251872
, I shouldn't have, like my last one, the server Threads sitting on my office floor machine?
You can, perhaps, think of the new scenario as being in 'the cloud' (though that's often associated with just storage) but all that's changed is the location of the server.

It's not a J2EE app as such, it's just a client server Java app so you will need hosting that allows you to run an app in a  JVM
0
 
LVL 28

Accepted Solution

by:
dpearson earned 2000 total points
ID: 40251962
There's 2 types of 'clouds' you could use.

The simpler to understand one is a cloud of servers - Amazon's EC2 is the classic example (http://aws.amazon.com/ec2/).  In that model you rent a complete server from them - generally by the hour.  This is exactly like having a computer in your office.  You can login to it, copy files to it, run applications on it etc.  The only thing you don't have is physical access to it - you do everything through remote connections.  But it's a full server.  You pick the operating system (Linux, Windows etc.) and install everything on it that you need - in your case at least Java.  Then you copy your application to it and run it.

Because in this model you're dealing with a normal computer (just at a distance) if your application runs on your local office machine it will also run, without any changes on the remote computer.

The second type of cloud provides the ability to run an application without you setting up a server at all.  The classic example of this is Google app engine (https://developers.google.com/appengine/).  Here the model is different.  You upload just your Java application and Google decides what machine(s) to run it on it, handles the operating system etc.  You are dealing with a much higher level abstraction.  It's as if I said "email me your Java app and I'll run it on my servers for you".  You don't know what operating system I'm using or how to setup a firewall to protect it etc.  If you go for this model, you don't have as much control over how the application is run, but you also don't need to do as much work upfront.  However, you may find you need to make some changes to the design of your application - since it's not running in exactly the same way that it would run on your office computer.

Personally I've used EC2 and find it very straightforward.  Google has also entered that space now (https://cloud.google.com/) and the prices are very competitive between the two services - which makes for good deals for users like you.  I've not personally used Google app engine so I can't help with the details of how you setup a Java app inside the engine.  But since it's from Google there's mountains of examples and docs out there.

Hope that helps explain the landscape a bit better,

Doug
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:beavoid
ID: 40262411
Is processing payments within a user-account, for certain account aspects relevant here, or is that for SQL?
I'd like my site's users to pay for access to certain features, actually, pay to enter a state of readiness for inclusion in a game. Does that influence a decision here, or is that completely within my game's pre-game setup? Another question, but I'm just curious for a quick mention?
0
 
LVL 28

Assisted Solution

by:dpearson
dpearson earned 2000 total points
ID: 40262482
It doesn't matter where you servers are running for how somebody will pay.  The basic mechanism is essentially:

a) Player wishes to unlock feature A for $5
b) You send them to a site (e.g. paypal or a credit card processing site or iTunes etc. etc.) where they complete the transaction
c) Paypal sends you a confirmation that user X paid $5 to your server(s)
d) You add something into your database showing that user X now has unlocked feature A
e) When the game client loads, it calls to your server to ask what features the player has unlocked and gives them a different experience.
f) If the client tries to take an action that hasn't been paid for, the server blocks it.  [So a hacked client can't use a feature that wasn't paid for]

Hope that helps,

Doug
0
 

Author Closing Comment

by:beavoid
ID: 40265035
Thanks

I assume payment verification is relatively simple?
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The first step to building an amazing About page is to figure out what you want the page to say about your company. You then must grab the attention of the reader, boast a bit, tell a story and let others brag about you. With a little bit of thought…
Strategic internal linking is often considered an SEO power technique, especially for content marketing. Do you need to hire an SEO agency to optimize you internal linking? No, this article will help you understand the basics of internal linking and…
Any person in technology especially those working for big companies should at least know about the basics of web accessibility. Believe it or not there are even laws in place that require businesses to provide such means for the disabled and aging p…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.
Suggested Courses
Course of the Month18 days, 6 hours left to enroll

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question