Computer network technologies have witnessed huge improvements and changes in the last 20 years. After the arrival of Internet (the most popular computer network today), the networking of computers has led to several novel advancements in computing technologies like Distributed Computing and Cloud Computing. The term distributed systems and cloud computing systems slightly refer to different things, however the underlying concept between them is same. So, to understand about cloud computing systems it is necessary to have good knowledge about the distributed systems and how they differ from the conventional centralized computing systems. Let’s take a look at the main difference between cloud computing and distributed computing.
Global Industry Analysts predict that the global cloud computing services market is anticipated to reach $127 billion by the end of 2017.
Most organizations today use Cloud computing services either directly or indirectly. For example, when we use the services of Amazon or Google, we are directly storing into the cloud. Using Twitter is an example of indirectly using cloud computing services, as Twitter stores all our tweets into the cloud. Distributed and Cloud computing have emerged as novel computing technologies because there was a need for better networking of computers to process data faster.
Centralized Computing Systems, for example IBM Mainframes have been around in technological computations for decades. In centralized computing, one central computer controls all the peripherals and performs complex computations. However, centralized computing systems were ineffective and a costly deal in processing huge volumes of transactional data and rendering support for tons of online users concurrently. This paved way for cloud and distributed computing to exploit parallel processing technology commercially.
Learn Hadoop to become a Certified Big Data Engineer.
Distributed Computing can be defined as the use of a distributed system to solve a single large problem by breaking it down into several tasks where each task is computed in the individual computers of the distributed system. A distributed system consists of more than one self directed computer that communicates through a network. All the computers connected in a network communicate with each other to attain a common goal by making use of their own local memory. On the other hand, different users of a computer possibly might have different requirements and the distributed systems will tackle the coordination of the shared resources by helping them communicate with other nodes to achieve their individual tasks.
Generally, in case of individual computer failures there are toleration mechanisms in place. However, the cardinality, topology and the overall structure of the system is not known beforehand and everything is dynamic.
To a normal user, distributed computing systems appear as a single system whereas internally distributed systems are connected to several nodes which perform the designated computing tasks. Let’s consider the Google web server from user’s point of view. When users submit a search query they believe that Google web server is single system where they need to log in to Google.com and search for the required term. What really happens is that underneath is a Distributed Computing technology where Google develops several servers and distributes them in different geographical locations to provide the search result in seconds or at time milliseconds.
The below image illustrates the architecture model of distributed computing where the primary node has unidirectional control over one or more secondary nodes. The task is distributed by the primary node to the configured secondarynodes and the results are returned to the primary node.
Image Credit :researchgate.net
1) Distributed computing systems provide a better price/performance ratio when compared to a centralized computer because adding microprocessors is more economic than mainframes.
2) Distributed Computing Systems have more computational power than centralized (mainframe) computing systems. Distributed Computing Systems provide incremental growth so that organizations can add software and computation power in increments as and when business needs.
Learn Big Data Hadoop from Industry Experts and work on Live projects!
In a world of intense competition, users will merely drop you, if the application freezes or slows down. Thus, the downtime has to be very much close to zero. For users, regardless of the fact that they are in California, Japan, New York or England, the application has to be up 24/7,365 days a year. Mainframes cannot scale up to meet the mission critical business requirements of processing huge structured and unstructured datasets. This paved way for cloud distributed computing technology which enables business processes to perform critical functionalities on large datasets.
Facebook has close to 757 million active users daily with 2 million photos viewed every second, more than 3 billion photos uploaded every month, and more than one million websites use Facebook Connect with 50 million operations every second. Distributed Computing Systems alone cannot provide such high availability, resistant to failure and scalability. Thus, Cloud computing or rather Cloud Distributed Computing is the need of the hour to meet the computing challenges.
Image Credit: imscindiana.com
Cloud computing usually refers to providing a service via the internet. This service can be pretty much anything, from business software that is accessed via the web to off-site storage or computing resources whereas distributed computing means splitting a large problem to have the group of computers work on it at the same time.
Image Credit :belden.com
1) A research has found out that 42% of working millennial would compromise with the salary component if they can telecommute, and they would be happy working at a 6% pay cut on an average. Cloud computing globalizes your workforce at an economical cost as people across the globe can access your cloud if they just have internet connectivity.
2) A study found that 73% of knowledge workers work in partnership with each other in varying locations and time zones. If an organization does not use cloud computing, then the workers have to share files via email and one single file will have multiple names and formats. With the innovation of cloud computing services, companies can provide a better document control to their knowledge workers by placing the file one central location and everybody works on that single central copy of the file with increased efficiency.
Frost & Sullivan conducted a survey and found that companies using cloud computing services for increased collaboration are generating 400% ROI. Ryan Park, Operations Engineer at Pinterest said "The cloud has enabled us to be more efficient, to try out new experiments at a very low cost, and enabled us to grow the site very dramatically while maintaining a very small team."
The goal of Distributed Computing is to provide collaborative resource sharing by connecting users and resources. Distributed Computing strives to provide administrative scalability (number of domains in administration), size scalability (number of processes and users), and geographical scalability (maximum distance between the nodes in the distributed system).
Cloud Computing is all about delivering services or applications in on demand environment with targeted goals of achieving increased scalability and transparency, security, monitoring and management.In cloud computing systems, services are delivered with transparency not considering the physical implementation within the Cloud.
Distributed Computing is classified into three types-
The main goal of these systems is to distribute information across different servers through various communication models like RMI and RPC.
These kind of distributed systems consist of embedded computer devices such as portable ECG monitors, wireless cameras, PDA’s, sensors and mobile devices. Distributed Pervasive systems are identified by their instability when compared to more “traditional” distributed systems.
In this kind of systems, the computers connected within a network communicate through message passing to keep a track of their actions.
Cloud Computing is classified into 4 different types of cloud –
A cloud infrastructure dedicated to a particular IT organization for it to host applications so that it can have complete control over the data without any fear of security breach.
Become a Hadoop Developer By Working On Industry Oriented Hadoop Projects
A cloud infrastructure hosted by service providers and made available to the public. In this kind of cloud, customers have no control or visibility about the infrastructure. For example, Google and Microsoft own and operate their own their public cloud infrastructure by providing access to the public through Internet.
A multi-tenant cloud infrastructure where the cloud is shared by several IT organizations.
A combination or 2 or more different types of the above mentioned clouds (Private, Public and Community) forms the Hybrid cloud infrastructure where each cloud remains as a single entity but all the clouds are combined to provide the advantage of multiple deployment models.
In Distributed Computing, a task is distributed amongst different computers for computational functions to be performed at the same time using Remote Method Invocations or Remote Procedure Calls whereas in Cloud Computing systems an on-demand network model is used to provide access to shared pool of configurable computing resources.
Distributed Cloud Computing has become the buzz-phrase of IT with vendors and analysts agreeing to the fact that distributed cloud technology is gaining traction in the minds of customers and service providers. Distributed Cloud Computing services are on the verge of helping companies to be more responsive to market conditions while restraining IT costs. Cloud has created a story that is going “To Be Continued”, with 2015 being a momentous year for cloud computing services to mature.