- Back to Home »
- cloud , distributed computing »
- Difference between cloud computing and distributed computing?
Posted by : Amber
Saturday, July 13, 2013
So, we have been hearing the coined term of cloud computing a lot - isn't? But then isn't it similar to distributed computing - which has been around many years?
So lets try to figure out what is the difference between both and figure out where the difference ends!
What defines cloud computing is that the underlying compute resources
(storage, processors, RAM, load balancers, etc) of cloud-based services
and software are entirely abstracted from the consumer of the software /
services. This means that the vendor of cloud based resources is taking
responsibility for the performance / reliability / scalability of the
computing environment.
From an application developers point of view, this can be a
tremendous advantage, as procuring, maintaining, tuning, monitoring and
scaling hardware to meet the demands of growth is both difficult and
expensive.
For smaller ISV's, cloud computing offers the ability to prototype, test and deploy software without any capital expense.
For larger applications, the benefit is generally unlimited
scalability and what amounts to the outsourcing of IT / application
hosting responsibilities, as well as instant access to new servers /
storage / whatever on demand. Often cloud providers will offer levels of
redundancy, reliability and even security all but the largest in-house
IT shops could never achieve for the sheer cost of it all.The main disadvantage to application developers is loss of control.
Not only is the hardware externally hosted in a cloud environment, but
abstracted, so if your application needs direct control over hardware,
you're out of luck. And you need to trust the cloud provider.
They all
offer 99.9% repeating up time and SLA's, but I doubt those stats are
actually realized. But you have to ask yourself, could I do better? The
answer is often no. But control of hardware isn't the only place control
is lost - integration with cloud based systems can also be more
difficult than on premise or self-managed software for obvious reasons.
However, it seems to me that this roadblock is evaporating as new
technologies and robust API's eliminate many integration difficulties
created when running applications outside the LAN/WAN.
Another disadvantage can be performance. Running an application on
your local LAN will probably provide a somewhat snappier experience to
local users than running from the cloud. But if your audience is
distributed, that benefit may only apply to a subset of your
application's audience.
Distributed computing, as has been said already a few times, is just
computing orchestrated between two or more computers. Cloud Computing
is, by definition, distributed computing, but a specialized form.