Imperial Journal of Interdisciplinary Research (IJIR) Vol-3, Issue-2, 2017 ISSN: 2454-1362, http://www.onlinejournal.in
Distributed and Cloud Computing Architecture Prabhjot Kaur1 & Reena Rani2 GHG Khalsa College, Gurusar Sadhar Abstract:- Computer network technologies have witnessed immense improvements and changes in the last few years. There is increase in computing addresses collaboration, data sharing, cycle sharing, and other modes of interaction that involves distributed resources. This trend results in an increased focus on the interconnection of systems both within and across enterprises and the networking of computers has led to various 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 abstract idea between them is same. So, to understand about cloud computing systems it is necessary to have good knowledge about the distributed systems[5].
1. Distributed Computing A distributed computing system is developed to enable the sharing, selection, aggregation and efficient utilization of geographical distributed and heterogeneous computational resources such as supercomputer, cluster, storage and display devices. The main application of the computational distributed systems is to provide solution to the complex scientific or engineering problems, such as regional forecasting, medical diagnoses. These applications require multi-gigabits flow with minimal loss, minimal latency, and minimal jitter network connection for the large amount of data transfers associated with executions on remote devices[6,7]. The TCP/IP network with “best effort� service can not satisfy these requirements. Consequently, an infrastructure is required that employs optical network to interconnect computational resources with deterministic, highbandwidth network connections. This infrastructure performs very well for large data transfers in distributed computing. There are two predominant ways of organizing computers in a distributed computing system- the first is the client-server architecture and the second one is the peer-to-peer architecture.
1.1 Client-Server
Architecture:- The client-server architecture is a way to distribute a service from a central source or server to number of clients. There is a single server that provides a service, and multiple clients that communicate with the
Imperial Journal of Interdisciplinary Research (IJIR)
server to consume its service. In this architecture, clients and servers have different jobs from each other. The job of server is to respond to service requests from clients, while a client's job is to deploy the data provided in response in order to perform some task.
Figure 1. Client Server Architecture[11] The client-server model of communication can be resembled with the introduction of UNIX, but perhaps the most influential use of the model is the modern World Wide Web. Let take an example of a client-server interaction, in which client is reading the Times of India online. When the web server at www.timesofindia.com is contacted by a web browsing client, its job is to send back the HTML of the Times of India’s main page. This could involve calculating personalized content based on user account information sent by the client, and fetching appropriate advertisements. The job of the web browsing client is to provide the HTML code sent by the server. This means displaying the images, arranging the content visually, showing different colors, fonts, and shapes and allowing users to interact with the provided web page. The concepts of client and server have convincing functional abstractions. A server is simply a unit that renders a service, possibly to multiple clients concurrently and a client is a unit that consumes the service. The clients do not need to know the details of the service that how the service is provided, or how the data received by server is stored or calculated and the server does not need to know how the data is going to be consumed by clients. On the web, we think of clients and servers as they are on different machines, but even systems on a single machine can have client/server architectures. For example, signals from input devices on a computer need to be generally
Page 1119
Imperial Journal of Interdisciplinary Research (IJIR) Vol-3, Issue-2, 2017 ISSN: 2454-1362, http://www.onlinejournal.in available to programs running on the computer. The programs are clients, taking input data from mouse and keyboard. The operating system's device drivers are the servers, taking in physical signals and delivering them up as usable input. A drawback of client-server systems is that the server is a single point of failure. It is the only component with the ability to distribute the service. There can be any number of clients, which are interchangeable and can come and go whenever required. If the server goes down, however, the system stops working. Thus, the functional abstraction created by the client-server architecture also exposes it to failure. Another drawback of client-server systems is that resources become scanty if there are too many clients. Clients increase the demand on the system without contributing any computing resources. Clientserver systems do not shrink and grow with changing demand.
1.2 Peer-to-peer Systems: - The clientserver model is appropriate for serviceoriented stations. However, there are other computational goals for which a more equal distribution of job is a better choice. The term peer-to-peer is indicates distributed systems in which job is divided among all the components of the system. All the computer systems send and receive data and they all contribute some processing power and memory. As the size of distributed system increases, its capacity of computational resources increases. In a peer-to-peer system, all components of the system contribute some processing power and memory to a distributed computation [8].
need to have an organized network structure. The components in these systems cooperate with other systems to maintain enough information about the locations of other components to send messages to intended destinations. In some peer-to-peer systems, the job of maintaining the constitution of the network is taken on by a set of specialized components. Such systems are not pure peer-to-peer systems, because there are different types of components that provide different functions. The components that support a peer-to-peer network act like scaffolding means they help the network to stay connected, maintains the information about locations of different computers and they help newcomers take their place within their neighborhood. Data transfer and data storage are the most common applications of peer-to-peer systems. For data transfer, each computer in the system contributes to transfer data over the network. If the destination computer is in a particular computer's neighborhood, that computer helps by sending data along the network. For data storage, the data set may be too large to fit on any single computer, or too valuable to store on just a single computer. Each computer stores a small portion of the data, and there may be multiple copies of the same data spread over different computers. So that whenever a computer fails, the data that was on it can be restored from other copies and put back when a replacement arrives. Skype, the voice and video chat service, is an example of a data transfer application with a peer-to-peer architecture. When two people on different systems are having a Skype conversation, their communications are broken up in the form of packets of 1s and 0s and transmitted through a peer-to-peer network. This network is composed of other people whose systems are signed into Skype. Each system knows the location of a few other systems in its neighborhood. A system helps send a packet to its destination by passing it on a neighbor, which passes it on to some other neighbor, and so on, until the packet reaches its intended destination. Skype is not a pure peer-topeer system.
1.3 Application Computing 1. Figure 2. Peer-to-peer Architecture Distribution of job among all participating systems means the identifying characteristic of a peer-to-peer system. This means that peer systems need to be able to communicate with each other reliably. In order to confirm that messages reach their intended destinations, peer-to-peer systems
Imperial Journal of Interdisciplinary Research (IJIR)
2. 3. 4.
of
Distributing
Network of workstations (NOW)/PCs: a group of networked personal workstations or PC’s connected to one or more server machines. Distributed computing using mobile agents. The Internet (World Wide Web). An Intranet: a network of computers and workstations within an organization
Page 1120
Imperial Journal of Interdisciplinary Research (IJIR) Vol-3, Issue-2, 2017 ISSN: 2454-1362, http://www.onlinejournal.in
5.
segregated from the Internet via a protective device (a firewall). JAVA Remote Method Invocation (RMI).
a self service portal. The components of the cloud computing according to the end user are explained as follows:
2. Cloud Computing Cloud computing means which can we access the hardware and software services application on the Internet rather than computer’s hard disk. Cloud computing is the next generation step in information technology It allows user to create, manipulating and accessing applications online..People can easy access services and products they need on the cloud. The term Cloud refers to model. In other words, we can say that Cloud is something, which is accessible at remote location. Cloud can provide services over network Software-as-a-Service (SaaS), Infrastructure-as-aService (IaaS) and Platform-as-a-Service (PaaS). It is a style of computing in which IT-related capabilities are provided “as a service”, allowing users to access technology-enabled services from the cloud system using internet connection.
Figure 4. Components of Cloud Computing Client:- A client is a device or software that used to access the services and applications related to cloud computing. Cloud Network:- It is interface between the client and the cloud service providers. The network connection for accessing the services on cloud computing. Each and every services of cloud system accessed through a network connection. Cloud Application Programming Interface (APIs):- The cloud API includes the set of instructions that implements from the users. API helps the clients to connecting the various cloud services[1].
2.2 Service Models of Cloud Computing Cloud computing have three high level cloud service models. These services are discussed as follows:
Figure 3. Cloud Computing[9] The key benefits of providing using Clouds computing: 1. It reduces the lower cost of ownership. 2. Cloud computing Improved business continuity 3. Platform for easier and faster application access. 4. Avoidance of buy expensive computer systems configured to cope with peak performance. 5. Pay-as-you-go, pay-in-advance solutions for computing cycles requested ondemand by clients. 6. Avoidance of buy computing resources like processing system, input devices.
2.1 Components of Cloud Computing The cloud computing encompasses virtual pool of resources and applications that can be used through
Imperial Journal of Interdisciplinary Research (IJIR)
Figure 5. Services Provided by Cloud Computing[3] a) Infrastructure-as-a-Service (IaaS):IaaS service related to hardware services to the user. The services includes in this case is processing, storage, and network bandwidth or other hardware required to setup the computing environment run software, which can include operating systems and applications. IaaS related to the sharing of hardware resources for executing services. Its main objective is to provide resources such as servers, network
Page 1121
Imperial Journal of Interdisciplinary Research (IJIR) Vol-3, Issue-2, 2017 ISSN: 2454-1362, http://www.onlinejournal.in bandwidth and storage accessible by applications and operating systems. Thus, it provide infrastructure for on-demand services and using Application Programming Interface (API) for interactions with hosts and routers. In general, the user does not manage hardware in the cloud infrastructure, but he controls the operating systems, and deployed applications. The service provider owns the equipment and is responsible for running and maintaining applications. The client pays on as per-use basis. Examples of IaaS include Amazon Elastic Cloud Computing (EC2), Amazon S3. b) Platform-as-a-Service (PaaS):- Platform as a service (PaaS) is a cloud computing model that provides applications over the Internet to the clients. In a PaaS model, a cloud provider delivers hardware and software services-- usually those needed to execute application -- to its users. The PaaS provides their clients to hardware and software on its own infrastructure. As a result, PaaS offers frees users from having to install own hardware and software to execute a new application. PaaS service provides hardware services with operating systems. c) Software-as-a-Service (SaaS):- SaaS provide services related to software services. This model allows providing software application to the users. Cloud consumers release their applications in a hosting environment, User only needs to run an internet connection which can be used accessed through networks from various clients (e.g. Web browser, PDA, etc.) by application users. Software as a service (SaaS) is a software model in which a third-party hosts applications and makes them available to clients over the Internet. SaaS removes the need to install and execute software on their own computers Applications are purchased and used online with files saved in the cloud computer rather than on individual computers. Examples of SaaS include SalesForce.com, Google Mail, Google Docs, and so forth[2].
2.3 Cloud Computing Architecture Cloud Computing architecture consist of many cloud components. Cloud computing divide it into two sections: the front end and the back end which are loosely coupled. 1) Front End platform a. Fat client
Imperial Journal of Interdisciplinary Research (IJIR)
b. Thin client c. Mobile devices 2) Back End platform a. Servers b. Storage Each of the ends is connected through a Internet. The following diagram shows the graphical view of cloud computing architecture:
Figure 6. Architecture of Cloud Computing[10] Front End The front end related to the client part of cloud computing system. The front end is the side the computer user. The front end includes the client's computer accessibility and the application required to access the cloud computing services.It consists of interfaces and applications that are required to access the cloud computing services, Example Web Browser like Internet Explorer or Firefox,PDA. Back End The back End refers to the cloud where we can access the data it. On the back end of there are the various computers, servers and data storage devices that provide the "cloud" of computing services. It consists of all the resources that are required to provide cloud services to clients.. Usually, each application will have its own dedicated server which provides services to it. It comprises of huge data storage, virtual machines, security mechanism, services, deployment models, servers, etc[4].
2.4 Cloud Computing Applications The uses of cloud computing are limitless, a cloud computing system could execute all that programs that a normal computer can run. Some of the application of cloud computing are discuss as below: 1. Clients would be able to access their applications and data from anywhere. They access the cloud computing system using any computer that is linked to the Internet connection.
Page 1122
Imperial Journal of Interdisciplinary Research (IJIR) Vol-3, Issue-2, 2017 ISSN: 2454-1362, http://www.onlinejournal.in 2.
3.
4.
5.
It could bring hardware costs down because user does not need to buy hardware. Cloud computing systems reduce the need for advanced hardware for clients. You do not need to buy the fastest computer with the large memory, because the cloud system would complete the needs for you. If you could buy an inexpensive computer system. The terminal could include a monitor, input devices and just enough CPU to run necessary applications to connect with the cloud system. You do not need a buy a large hard disk because you stored all your data on a remote computer. Corporations that rely on computers have to make sure they have the good software to achieved goals. Cloud computing systems give to organizations companywide access to computer applications. The companies don't need to buy a set of software or software licenses for every employee for access applications. Instead, the company could pay a basis fee to a cloud computing company. Servers and digital storage devices take large space. Some companies need rent physical space to store servers and databases because they don't have space available on site. Cloud computing gives these companies the choice of storing data on someone else's hardware, removing the need for physical. Corporations might save money. Streamlined hardware would, in theory, have fewer problems than a network of
Imperial Journal of Interdisciplinary Research (IJIR)
heterogeneous machines and operating systems.
References
[1] Kiran Gupta, Rydhm Beri, Veerawali Behal “Cloud Computing: A Survey on Cloud Simulation Tools”, International Journal for Innovative Research in Science & Technology(IJIRST), Volume 2, Issue 11, April 2016 ISSN (online): 2349-6010. [2] Santosh Kumar and R. H. Goudar, “Cloud Computing- Research Issues, Challenges, Architecture, Platforms and Applications: A Survey”, International Journal of Future Computer and Communication (IJFCC), Vol. 1, No. 4, December 2012. [3] Cloud Computing, “http://www.brighthub.com/ environment/green-computing/articles/127086.aspx” [4] Siddharth Jain, Rakesh Kumar, Anamika, Sunil Kumar Jangir, “A Comparative Study for Cloud Computing Platform on Open Source Software”, An International Journal of Engineering & Technology (AIJET), Vol. 1, No. 2 (December, 2014) [5] Carl Kesselman, Jeffrey M. Nick, Steven Tuecke, “Grid Services for Distributed System Integration”, June 2002. [6] Mustafizur Rahman, Rajiv Ranjan, Rajkumar Buyya, “Decentralization in DistributedSystems: Challenges, Technologies and Opportunities”, Information Science Reference, 2012. [7] Wei Guo, Yaohui Jin, Weiqiang Sun, Weisheng Hu, Xinhua Lin, Min-You Wu, Hong Liu, San Fu, Jun Yuan, “Distributed Computing over Optical Networks”, 2008. [8] Distributed Computing, “http://wla.berkeley.edu/~cs61a/fa11/lectures/communic ation.html#distributed-computing”. [9] Cloud Computing, “https://www.thorntech.com/ 2016/07/10-steps-cloud-computing-migration/”. [10] Cloud Computing Architecture, “http://cloudcomputingnet.com/ cloud-computingarchitecture/”. [11] “http://www.composingprograms.com/pages/46distributed-computing.html”
Page 1123