What does a cloud application look like? [closed] - hadoop

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
There are many applications that are called Cloud applications. As an example, those companies who deliver a web-based application for lots of customers (e.g. Salesforce) over the web call their application a Cloud App. On the other hand, many people know Cloud-based Apps as the ones built on top of Hadoop or similar technologies that could scale-up to many computing resources.
Now the Q is, is there an exact definition of a Cloud App? Is there any good resources on Cloud Apps? There is a nice link here, but it is a little bit old.

As far as I can tell, there's no clear definition.
The loosest is simply any application that does most of the work on a server, not on the local client's device.
The strictest definition I've heard is an application that runs almost entirely on a cluster of virtualized servers that are provided as a service, not hosted on-site. And the client device does almost nothing; probably just a simple web browser with minimal scripting.
Any definition in between could make sense in context.
I wouldn't get too caught-up by it. "Cloud" is mostly just a marketing buzz-word with no serious technical definition.

Related

Windows Hosting Suggestions [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I've been developing a Silverlight-c# client-server game that has now gotten to the point that it should be hosted for a small amount of people can test it out. The problem is that I've never looked at windows hosting before an am thus a total noob. I'm looking for a place that allows me to run a c# command line program (the game server), and allows me to open non-standard ports for communication. Since this is only for testing, I'm going for min specs etc.
Just spin up an Amazon EC2 or Rackspace Cloud instance, easiest way by-far to do this.
If you want raw hosting as you described, Amazon cloud, as Paul said, is probably your best bet. However... given that you are doing a C#/Silverlight application, I would suggest that you highly consider Azure for your hosting, as it scales rather nicely and the free trial is a great way to test.
You will likely have to refactor aspects of your server to do this. But you would have had to do that anyway, since hosting of servers in a console is an unstable choice -- at a minimum you would have wanted to use a Windows Service for your game server if only for the auto-start option.

Are there reports or thesis about the performance of Google App Engine or other cloud platforms [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
Are there reports or thesis about the performance of Google App Engine or other cloud platforms?
I'am writing an article about how to choose an appropriate cloud platform, and want to reference some test data.
A little work with Google may bring up some material that others have found. For instance the canonical resource for Azure benchmarking is here: http://azurescope.cloudapp.net/. However, there's not much comparative material as it really doesn't make sense.
Comparing cloud platforms solely on performance is like comparing apples with bananas with oranges. Each have their own qualities that make them appropriate for a particular kind of application.
For example, in broad terms, for multi-platform use where you have control of the underlying OS, go EC2; for a managed Windows application platform go Azure; or for a managed Java/Python platform choose App Engine. Once you've chosen the platform you can pretty much then pay for the performance you need.
Bear in mind too that "performance" means different things for different applications. The application I'm working on, for instance, relies heavily on SQL database performance. That will have a very different performance profile from (say) an application that uses a key-value pair storage system, or an application that's mostly static HTML.
So, in practice, there aren't much in the way of performance benchmarks out there because every application is different.

How do you prevent access to the 'calculator' interface on a particular OS [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 7 years ago.
Improve this question
How do you prevent access to the 'calculator' interface on a particular OS (say Windows). We would want to avoid usage of calculators while taking an online quiz at the site. Is this even possible?
If you're talking about through a purely web interface, then no. In order to do this, you would have to be able to monitor running processes, which is something a web app can't do. It would be too big a security risk.
If you control the machines (they're on your network, in a classroom where you can load and restrict the software, etc), you could write a program to monitor and shut down the processes. For example, a .NET application could use the System.Diagnostocs.Process object to monitor for instances of calc.exe.
A standard executable could do it, but not a web app.
Edit Added
There may be other alternatives if you control the PCs in question. Most corporate IT shops use some sort of monitoring software that will detect the use of "Unauthorized" programs. (I got busted for launching Solitaire once.) That would be more of a question for ServerFault.com, however.
Do you think it would be a good idea if websites were able to stop executable running on remote computers? Think about this seriously for a second, the security/privacy implications this would have.

Design level patterns for highly available Linux applications [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
Given toolkits like Linux-HA and cluster layers on top like Corosync; file-system replicators like DRBD and other various bits and pieces there are the components available to developers to build highly available, robust systems.
High-availability architecture-level patterns are often fairly easy to describe, but I'm looking for the level(s) below that.
While each of these toolkit-parts seems to be fairly well documented, and some of them show how to use them in a robust application, they don't show examples of an end-to-end or multi-resource-using application.
So, what are the concrete steps, patterns, recipes, etc. that should be followed in order for developed code to play nice in an environment like this?
What books, web-tutorials, etc., should I point a team to in order to refactor a working single-box custom TCP server (for example) and make it run under cluster control, writing to shared file system space, and working in such a way that when it fails over, it has a chance to recover and keep working.

What uses have you found for XMPP that help you as a web developer/manager? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
To make my question clear:
I'm experimenting with XMPP, lately - I have set up my own XMPP server and trying to figure out what uses could it have in our development process. Except the obvious things (we use it for IM-ing and have set up a group chat room for our team), we employ it as a notification platform for our issue tracking system and our continuous integration system.
I have already thought about some other possible uses such as monitoring the state of our servers (via the presence layer), application exception notification (via PubSub), etc.
My general idea is to build some kind of unified support system for our development process that will communicate through a regular IM client (PubSub support would be great, though) and will make our processes much more transparent and more responsive.
Have you ever thought about something like this? Or do you use something completely different for this purpose? Am I just reinventing the wheel?
Web site notifications (most likely through changes published to Atom feeds) that get pushed out to subscribing IM clients via pure PubSub or PEP (PubSub subset) are going to be a big application, outside of vanilla enterprise instant messaging.
I wrote a bot that knows how to talk to our ticketing system (our Trac site). Users can ask to see the tickets for the current sprint, tickets assigned to them, they can "grep" through tickets, get the current Milestone information and update ticket fields (workleft, status, owner or attach comments). That's been pretty popular with several developers -- and getting people to keep their tickets updated is a Good Thing.
IMified (imified.com) is a pretty nice way to build out the kind of applications you are talking about.

Resources