I find it disturbing that you feel the need to specify the language here. I get the feeling that you have chosen the language first, and the problem second. This is not a good way to do things; I appreciate that you may well be jazzed up about Java, and fairplay to you but you really need to stop and consider what the problem is that you are trying to sort out first.
The first thing that you need to do is to gather your requirements. Work out what you are trying to do; what problem you expect to solve. Talk to people who are doing the task that you are trying to do and find out how they do it. Where possible, you should always try and model your software after the process it is imitating.
Finally, good luck. I look forward to you passing your course, and entering the world of professional development.
I have CDO, it's OCD with the letters in the right order; just as they ruddy well should be
Cloud computing is where the program that an end user wants to run is kept on a company's server. Steam is cloud enabled. For example COD6 had the ability to dl it from steam if you bought it. You can then play the game just as if you had it on a disk. I suppose its kinda like that. Maybe you could define it as a web page too tho...
Well I was drinking with a guy who works for MS here in Singapore, job is to sell cloud/azure services. As I work for a bank he didn't bother pushing it, banks are just not potential customers.
His line went something like, we set up a very secure flexible platform supplying all the dev and office tools you need on a subscription basis. You (as a SME, his target market) cannot afford to implement and support the same level of security MS supplies. It was a good line and he believed it so I didn't have the heart to try and pick it apart (besides I was well into my cups at that stage).
Like most tools it has it's application, it is not the panacea the evangelists claim but has it's uses I guess.
My problem, beside the connectivity nightmare, is that everything is via a browser. I know it's getting better but it is still a pretty crappy interface (this from the guy dragging himself kicking and screaming into Silverlight).
Never underestimate the power of human stupidity
No it isn't. Cloud computing is about having access to resources (compute power, memory, perstistent storage) on an ad-hoc basis, with no practical limits to those resources, at a lower cost than you could supply yourself. It has almost nothing to do with web browsers.
Mycroft mentioned some of the tools built on the platform, but from a development standpoint the way I look at it, cloud computing is a suite of development tools built around making scaling an application out the primary optimization.
That's why many of the cloud platforms have things like NOSQL databases and are web based. Relational databases with strong transactional support are notoriously difficult to distribute so there are many different new models of data storage each of which optimizes a different aspect of the whole scale out problem. There are also different constraints on code management and optimization when it is designed to run as efficiently on one system or one thousand. There are also tools that run horribly on anything under 10 systems but awesome on large clusters.
To further muddy things, Amazon, google and microsoft are selling cloud services based on their particular platforms. But if you have a bunch of systems lying around you can set up your own cloud stack. Some of the systems management for the large installations are mind boggling, with setups of cargo containers full of hardware. They leave the container plugged in and wait for a percentage of the systems to fail in the container and just send the whole thing back to the factory to be rebuilt.
It's a server/client relationship where you are the client, and:
1. You don't own the server or anything installed on it.
2. You have no control over changes to applications installed on the server.
3. The server might be a zillion miles away, and could be routed through a zillion miles of inferior wire or severe bottlenecks at any given time, giving you all the performance of a 386.
4. You can be disconnected from the server and/or services at a moment's notice, for any reason (network problems, billing problems, caffeinated keyboard at the server site problems, the-guy-you-complained-to-on-the-phone-doesn't-like-you problems, etc.) (And don't forget the ubiquitous "computer error" problems.)
5. Your work is accessible to a bunch of people who probably couldn't get jobs as developers, or who barely know what a computer is -- and their secretaries.
6. Anyone with a packet sniffer knows exactly where to put it to access your work, as well as the work of everyone else who uses the same server.
7. Most of your processing power is spent on maintaining contact with the server, up and downloading all manner of unnecessary files, background-installing whatever the server owner decides he wants installed on your local machine, and running background processes for licensing agents, update agents, and secret agents (And that's if you only use a word-processor. If you want spreadsheets as well...)
8. You pay and pay and pay for the above privileges, because the server owners obviously deserve money for nothing.
I wanna be a eunuchs developer! Pass me a bread knife!
Hey, I do enjoy reading your description of cloud computing!
Does anybody remmember the grand idea of "Network Computer"? At that time it was said
that a PC should have all its OS and SW on the network, and it needs neither OS no HD
as network will prvide everything. Pleanty of noise and talks were made about it, with
greatest expections from many. And the result? Total bullshit + nonsense. After a couple
of years, we are all still using PC WITH a OS, and with one or multiple HD.
The present claims about Clouding seems to be repeating that rediculous story. Where
is the common sense? Fortunately no everybody has been carried away by the nonsense!
I have found that the only people excited about Cloud computing is the people trying to sell it (MS, Amazon, etc) and executives / high level managers that are (A) too cheap to buy the necessary hardware themselves, and (B) too dull to understand cloud's limitations. Great examples of the lack of understanding at the executive level: My former CTO drew a network diagram on my desk that had our WAN Routers connecting to the "Cloud" when he truly meant internet / IP connections. This was at a mid-size company making financial software. Now my new CIO is too cheap to buy a single server and is dooming my project to failure by placing it on a Cloud. I say dooming because the network speed, security, and placement of my requested server is extremely important and the Cloud won't provide this.
On a side note, has anyone noticed the Azure commercials from Microsoft that are marketing to the general public? A housewife using the "Cloud" to edit her family photo's. How is the "Cloud" service relevant in this situation, isn't her PC running Windows 7 enough?
I'm an independant developer, and a very bad admin, that is just not my job.
I don't want to spend time and money, buying and installing my own server.
I don't want to spend money on a classic hosted server, because I'm not sure how much resources I need, and I don't want to administrate the things.
I don't want call these stupid guys when the server goes down for whatever reason.
So I just host my app on the cloud. Cheaper, easier, less admin stuff, that's great.
... and you loose control over all the data. I still cannot understand why so many companies want to store vital data outside of their server rooms just because they cannot hire the right boys to guard them. Every single file you are not able to control can compromise your business one day. Remember, there are dozens of organizations which could be interested in all that stuff. It is simply a bad habit to be too promiscous with all the information one can have in his life.
But yes, as all people use gmail and google docs, nobody seems to care for that anymore. The fact that it worked until today is a good argument that it will work in the future, isn´t it?