Difference Between Cloud Computing and Distributed Computing?

I wanted to learn about the differences in cloud computing and distributed computing. I read an article on cloud computing and felt that somewhere there is a connection between cloud computing and distributed computing, and therefore I wanted to ask about the difference between technologies.

Also, if someone can point me to useful resources for cloud computing, he would be much appreciated.

thank

+58
cloud distributed-computing
Aug 28 '09 at 23:36
source share
5 answers

In my understanding, what defines cloud computing, basic computing resources (storage, processors, RAM, load balancing, etc.) of cloud services and software are completely abstracted from the consumer of software / services. This means that the cloud provider takes responsibility for the performance / reliability / scalability of the computing environment.

From the point of view of application developers, this can be a huge advantage, because acquiring, maintaining, configuring, monitoring, and scaling hardware to meet growth needs is difficult and expensive.

For small ISVs, cloud computing offers the ability to prototype, test, and deploy software at no capital cost.

For larger applications, the advantage is usually unlimited scalability, as well as outsourcing of IT / application hosting responsibilities, as well as instant access to new servers / storage / regardless of needs. Often, cloud computing providers will offer levels of redundancy, reliability, and even security, apart from the largest in-house IT stores that they could never have achieved for all of this.

The main drawback of application developers is the loss of control. Not only is the hardware hosted in a cloud environment, but abstracted, so if your application needs direct control of the hardware, you're out of luck. And you need to trust the cloud provider. All of them offer 99.9% repeat time and SLA, but I doubt that these statistics are actually implemented. But you have to ask yourself, can I do better? The answer is often no. But hardware control is not the only control that is lost - integration with cloud systems can also be more difficult than by position or self-monitoring for obvious reasons. However, it seems to me that this roadblock evaporates as new technologies and a robust API eliminate many of the integration difficulties that arise when running applications outside of LAN / WAN.

Another drawback may be performance. Running the application on the local LAN is likely to provide a slightly better experience for local users than starting from the cloud. But if your audience is distributed, this advantage can only apply to a subset of the applicationโ€™s audience.

Distributed computing, as has been said several times, is simply computed between two or more computers. Cloud Computing is, by definition, distributed computing, but a specialized form.

Here is a good doc by David Chappell. This is a Microsoft-sponsored document, so it is presented from the point of view of the Microsoft cloud platform (Azure), but the basic principles are quite universal, and David Chappell is always quite easy to read.

+54
Aug 29 '09 at 0:07
source share
โ€” -

Let me begin by launching a significant offering of financial services in a 100% cloud environment.

Cloud computing is actually not so clearly defined (for example, with any word buzz, everyone wants to somehow create their existing product with the newest word buzz).

The key to cloud computing in my head is that I can look at computing resources (processor, memory, etc.) as a commodity, not capital.

What does it mean?

Traditionally, if I want to add some computing power to my organization, I need to go out and buy more computers, set them up and save them. Cloud computing (Eric J.'s definition) allows me to get extra processing power just when I need it, and then let it go when I don't. We offer sales tax calculation service. In anticipation of Christmas, we need much more computing power than at other times of the year. Our cloud environment allows me to add resources in a matter of seconds and then release them as fast when I don't need them. One of our large customers sometimes has mega sales per hour. I can only add extra processing power for this hour, then release it when you're done.

The solution we offer in addition to this cloud computing infrastructure is Software-as-a-Service (SaaS). In my opinion, things like GMail are SaaS, not cloud computing.

So how does all this compare with distributed computing?

Distributed computing just means that I break up the problem in order to work with it as a whole at the same time. The Berkeley University BOINC project is a great example of this (and please consider registering it). They distribute research projects on all computers that volunteers provide.

The computers involved in BOINC and other distributed projects can have laptops, desktop computers, and servers. They can be installed in my office, virtual servers rented from ISPs, or virtual servers that are part of the cloud. It doesnโ€™t matter when computers appear. If I can install distributed computing software on a computer, it can be part of a distributed solution.

+24
Aug 29 '09 at 0:06
source share

Distributed computing involves splitting a big problem into smaller fragments and using multiple networked computers to process slices.

Cloud computing typically refers to the provision of services over the Internet. This service can be almost anything, from business software that is accessed via the Internet, for on-site storage, or for computing resources.

Edit: since the poster below me marks it, it is usually the marketing term for these services.

+13
Aug 28 '09 at 23:44
source share

Distributed computing is where several computers are involved in solving / computing a problem. Like Folding @Home .

Cloud computing is the provision of data (documents, images, etc.) in Internet services. I think GMail and Google Docs form a kind of cloud computing.

+7
Aug 28 '09 at 23:40
source share

Keep in mind that the term cloud computing has become a marketing term that has come to represent almost everything. For coders, the term refers to a distributed way of storing and retrieving name / value pairs. Notable examples include BigTable (with which you will most likely access from the Google App Engine ) and EC2 .

+6
Aug 28 '09 at 23:44
source share



All Articles