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.
If you would like more information about Big Data careers, please click the orange "Request Info" button on top of this page.
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.
Need for Distributed Computing
Centralized Computing Systems, for example IBM Mainframes have been around in technological computations since 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 Microsoft Certified Big Data Engineer.
What is Distributed Computing?
According to Tanenbaum, Van Steen editors of the book “Distributed Systems-Principles and Paradigm”, a distributed computing is defined as “A distributed system is a collection of independent computers that appears to its users as a single coherent system”
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.
Distributed Computing System Examples
- World Wide Web
- Social Media Giant Facebook
- Hadoop’sDistributed File System (HDFS)
- Cloud Network Systems(Specialized form of Distributed Computing Systems)
- Google Bots, Google Web Server, Indexing Server
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 working of master/slave architecture model of distributed computing architecture where the master node has unidirectional control over one or more slave nodes. The task is distributed by the master node to the configured slaves and the results are returned to the master node.
Image Credit :researchgate.net
Benefits of Distributed Computing
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.
What is Cloud computing?
David Cearley, VP of Gartner said "Cloud computing is a major technology trending that has permeated the market over the last two years. It sets the stage for a new approach to IT that enables individuals and businesses to choose how they'll acquire or deliver IT services, with reduced emphasis on the constraints of traditional software and hardware licensing models”
Cloud computing is a style of computing where massively scalable and flexible IT-related capabilities are delivered as a service to the users using Internet technologies, services may include: infrastructure, platform, applications, and storage space. The users pay for these services, resources they actually use. They do not need to build infrastructure of their own.
Image Credit: imscindiana.com
According to Tech Target “Cloud computing enables companies to consume competing resources as a utility — just like electricity — rather than having to build and maintain computing infrastructures in-house.”
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.
Examples of Cloud computing
- YouTube is the best example of cloud storage which hosts millions of user uploaded video files.
- Picasa and Flickr host millions of digital photographs allowing their users to create photo albums online by uploading pictures to their service’s servers.
- Google Docs is another best example of cloud computing that allows users to upload presentations, word documents and spreadsheets to their data servers. Google Docs allows users edit files and publish their documents for other users to read or make edits.
Benefits of Cloud computing
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."
Cloud Computing vs. Distributed Computing
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.
For the complete list of big data companies and their salaries- CLICK HERE
Distributed Computing is classified into three types-
Distributed Information Systems –
The main goal of these systems is to distribute information across different servers through various communication models like RMI and RPC.
Distributed Pervasive Systems-
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.
Distributed Computing 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 –
Private 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.
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.