Potential Application of Microsoft Azure(Cloud Computing)

Started by
6 comments, last by hplus0603 15 years, 4 months ago
I recently came across microsoft Azure and was intrigued by its cloud computing format, i'm wondering if this is just a microsoft equivalent of amazons cloud effort and googles python-esque cloud system or if its a unique venture. I'm also wondering if anyone has any interesting ideas on what to do with a cloud computing framework. i think its use as a back-end for mmorpg's has been discussed as well as database/processing for casual games(poker chess etc), anything else interesting?
--------------------------------------EvilMonkeySoft Blog
Advertisement
"Cloud" is just another name for "cluster" (which IBM for some reason calls "grid"). What's new this decade is that machine virtualization makes it easy to configure and start/stop nodes fairly quickly, and thus you can bill by the hour, which allows you to be more efficient when you have bursty load.

Some traditional uses of cluster computing that might be run on a "cloud" include:

- weather forecast simulations
- finite element method calculations
- nuclear bomb simulations
- movie ray tracing
- gene matching

I'm sure there's others. If you can turn a specific cluster computing program into a pay-as-you-go service-oriented business, then it could be done on a cloud infrastructure.
enum Bool { True, False, FileNotFound };
How about a render farm for opensource 3d programs like Blender. Upload your scene file (textures can be uploaded on demand using a remote file scheme), have it render on a render farm, perhaps if its cheap enough the farm can pay for itself through embeeded advertistments. It would be a great boon for opensource 3D programs.

Or generic pathing engine for finding paths through large realworld dataset. Upload your 3D data set and now you can query the pathing engine for paths. We're talking about large data sets in the hundered of millions of nodes, which would be infesible to do one a single machine.

Distrubuted simulation engine for openworld games, using some intermidate scripting lanaguage like C# or Lua, upload your logic the cloud runs the simulation, provides interfaces for you to query it to extract current state. Many different simulations can run simultanously, doesn't provide any guarntee on performance, memory is capped for each simulaiton.

Brute force computer vision analysis tool. Maybe it's fesible to implement some sort of comptuer vision tool which can analyze and tag video and still images using brute force techniques distributed on the cloud? That's a strech though.

Good Luck!

-ddn
The main thing that's interesting to me with cloud computing is now so much the "farm" nature of it as it is the scalable nature of it. Both in terms of computing power and in cost.

So if you're planning on making an MMO-style game, you can start off small with low costs (in terms of computing power, bandwidth and disk storage) and then as your membership grows, the costs scale appropriately. So you're not spending $500 per month on hosting while you've only got 10 users online at any one time, and you still get the uptime benefits (better than running it out of your basement).
Note that all these solutions use virtualization, which means they run a hypervisor. The hypervisor, unfortunately, generally gives you pretty poor scheduling latencies. We've measured between 60 and 250 millisecond latencies on the high-end Amazon nodes, and up to 1.5 seconds (!) on the lower-end ones, although that may be an outlier. If you have real-time physics-based gameplay (FPS, or kinetic MMO) then that might be a source of lag. However, if you're mostly RPG (e g, only need to tiebreak "who cast a spell first" and "who picked up an object off the ground first" then you could certainly use these services, at least to get started.

Note that, once you grow big, you may find it cheaper to run your own in a co-lo center anyway, even if you don't have 100% utilization. It depends on the particulars of your application.
enum Bool { True, False, FileNotFound };

from a business point of view i was thinking of large scale automated software testing, you wouldnt actually run the software on the virtualised machine rather you would run a service(or multiple services if you need to scale up) that would communicate with individual machines and remotely run tests and collect/collate data.

from games point of view i was thinking of persistant modular mmorpg's with a common rule set and interface but with seperate distinct worlds, a la custom dungeons in neverwinter nights.

Or an easy/scalable setup for persistant online casual games like poker/chess/backgammon etc.

i like the idea of a render farm not sure how well it would match up with this particular setup ...but if you could create a working business model that provided some benefit of using your service over just directly using azure then you could be on to a winning solution.(possibly a lower price due to ad revenue as ddn3 stated)

--------------------------------------EvilMonkeySoft Blog
Quote:Original post by Codeka

So you're not spending $500 per month on hosting while you've only got 10 users online at any one time, and you still get the uptime benefits (better than running it out of your basement).


While that sounds good on paper, it isn't necessarily viable in practice.

If cost X (where X is non-zero) is too much to pay, then you need a way to earn X. $500 is in range of donations or other sources (T-shirts and similar), if existing projects in this price range are any indication.

The other alternative is to make X free (as in beer). Use the campus computers, make friends at local ISP, use your basement.

The uptime for this userbase will also likely depend on two other factors - connectivity and actual code. Infrastructure issues are unlikely to be a problem in this case. Even if you run your own machine built from scrap parts, One time cost of $500 at local computer store should buy you something that will run for 1 year non-stop, likely more. This cost can be much lower.

IMHO, if you're in this type of work, you have friends with spare bandwidth who will allow you to bring your own machine, and hook it on their big pipe.

And if your traffic starts scaling, then you better have a business plan ready and working from day one. Or one week your cheap scalable hosting provider will charge $25, and the next month $2500. If anything, this is the case where you actually don't want scaling, but would prefer things to break early to not put you in trouble.

If running costs are an issue, such services can be evaluated at per-transaction (or similar metric) cost. Then it's a fairly trivial decision which is better.
Quote:And if your traffic starts scaling, then you better have a business plan ready and working from day one.


If your model is one that is guaranteed to generate revenue (subscription based, say), then using pay-for scalable clouds can make a lot of sense, because more traffic means more paid subscribers, which pays for the hosting (or you didn't do your math right :-)

The benefit of being on a cloud platform is that you can very quickly be very elastic to changes in demand (up and down). This mitigates certain risks, both business and potentially technical (if you use the cloud API properly).

The draw-backs are that your total cost for a given amount of load will likely be higher, and there are some technology problems: you're typically locked to a specific cloud vendor, and real-time latencies will be higher.

enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement