Chapter1:Introduction to Distributed System Topic of Contents • Distributed systems • Definitions, • Basic Concepts, • Examples • Advantages Distributed systems • Characteristics Distributed systems • Challenges System • Definition Collection of components that are organized for a common purpose. Computer System Education System Human Body System,etc History Centralize System Characteristics • Single Computer Resource to handle of request • Single Computer Resource shared by users all the time • All resources accessible by user all the time • Software runs in a single process • Single point of control • Single point of failure Distributed systems • Definition A distributed system consists of a collection of autonomous computers, connected through a network and distribution middleware, which enables computers to coordinate their activities and to share the resources of the system, so that users perceive the system as a single, integrated computing facility. Why DS:Availibility of powerful yet cheap microprocessor,continue advancement in communication technology Distributed systems Characteristics •Multiple autonomous components •Components are not shared by all users •Resources may not be accessible • Software runs in concurrent processes on different processors •Multiple Points of control •Multiple Points of failure Examples of Distributed Systems • Local Area Network and Intranet • Database Management System • ATM Network • Internet/World-Wide Web • Mobile Computing • Cloud Computing 8 DBMS:Examples of Distributed Systems Automatic Teller Machine Network(ATM) Advantage of Distributed System • Resource Sharing :Ability to use any hardware, software or data anywhere in the system. . • Scalability :More nodes can easily be added to the distributed system i.e. it can be scaled as required. • Fault tolerant : Failure of one node does not lead to the failure of the entire distributed system. Other nodes can still communicate with each other. • Redundancy :Several machines can provide the same services, so if one is unavailable, work does not stop. • Openness : extensions and improvements of new component in distributed systems. • Concurrency : Components in distributed systems are executed in concurrent processes. • Transparency :Distributed systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components. Transparency Transparency dimensions Properties Access Transparency Enables local and remote information objects to be accessed using same operations. Location Transparency Enables information objects to be accessed without knowledge of their location. Concurrency Transparency Enables several processes to operate concurrently using shared information objects without interference between them. Replication Transparency Enables multiple instances of information objects to be used to increase reliability and performance without knowledge of the replicas by users Failure Transparency enable users and applications to complete their tasks despite the failure of other components Migration Transparency Enable movement of information objects within a system without affecting the operations of users or Performance Transparency Enable the system to be reconfigured to improve performance as loads vary. Scaling Transparency Enable the system and applications to expand in scale without change to the system structure Disadvantage of Distributed System • It is difficult to provide security in distributed systems because the nodes as well as the connections need to be secured. • Some messages and data can be lost in the network while moving from one node to another. • The database connected to the distributed systems is difficult to handle as compared to a single user system. • Overloading may occur in the network if all the nodes of the distributed system try to send data at once. Challenges: • Increased complexity: • Synchronization process challenges • Imperfect scalability: • More complex security • Increased opportunities for failure: • Communication • Software structure • System architecture • Workload allocation • Consistency maintenance Grid Computing VS Cloud Computing What is computing? Computing is based upon a set of principles and ideas that work in a hierarchical way ultimately giving way to some kind of technology depending on the process undertaken to do the same. The technologies thus produced can be ever-evolving or constantly climbing the complication ladder but the underlying ideas behind them remain the same. Computing is an essential characteristic of today’s highly complex world that requires down the line and fast interpretations to match everyone’s goals and desires. Grid Computing Grid Computing can be defined as a network of computers working together to perform a task that would rather be difficult for a single machine. All machines on that network work under the same protocol to act as a virtual supercomputer. The task that they work on may include analyzing huge datasets or simulating situations that require high computing power. Computers on the network contribute resources like processing power and storage capacity to the network. Types of grid computing ❖ Data grid : helps to handle, manipulate, discover and publish big masses of data that might be stored in several heterogeneous systems ❖ Collaboration grid : helps in efficient combining of various data resources ❖ Network grid : is important for better working of software since it increases the fault tolerance of a certain network and also helps to multiply the productivity of a given system ❖ Utility grid : gets its name from the fact that it not only provides a service for handling data and calculation cycles but also the software involved. Centralized to and fro movement of information being sent by the clients is an essential service that this type of grid computing provides. ❖ Information grid : used mainly for business apps and provides peer to peer servings ❖ Service grids : essentially provide a blend between the grid connections and the web-related application involved. A perfect amalgam of the physical and software-based components. Cloud Computing cloud computing is the delivery of computing services—including servers, storage, databases, networking, software, analytics, and intelligence—over the Internet (“the cloud”) to offer faster innovation, flexible resources, and economies of scale. You typically pay only for cloud services you use, helping you lower your operating costs, run your infrastructure more efficiently, and scale as your business needs change. Types of cloud computing ❖ Public cloud : Public clouds are owned and operated by a third-party cloud service providers, which deliver their computing resources, like servers and storage, over the Internet. Microsoft Azure is an example of a public cloud. With a public cloud, all hardware, software, and other supporting infrastructure is owned and managed by the cloud provider. You access these services and manage your account using a web browser. ❖ Private cloud : A private cloud refers to cloud computing resources used exclusively by a single business or organization. A private cloud can be physically located on the company’s on-site datacenter. Some companies also pay third-party service providers to host their private cloud. A private cloud is one in which the services and infrastructure are maintained on a private network. ❖ Hybrid cloud : Hybrid clouds combine public and private clouds, bound together by technology that allows data and applications to be shared between them. By allowing data and applications to move between private and public clouds, a hybrid cloud gives your business greater flexibility, more deployment options, and helps optimize your existing infrastructure, security, and compliance. difference between cloud and grid computing Grid computing Cloud Computing S.NO While it is a Distributed computing architecture. Cloud computing is a Client-server computing architecture. 1. Cloud computing is a centralized executive. 2. While grid computing is a decentralized executive. While in grid computing, resources are used in collaborative pattern. In cloud computing, resources are used in centralized pattern. 3. While it is less flexible than cloud computing. It is more flexible than grid computing. 4. While in grid computing, the users do not pay for use. In cloud computing, the users pay for the use. 5. While grid computing is a low accessible service. Cloud computing is a high accessible service. 6. While grid computing is low scalable in comparison to cloud computing. It is highly scalable as compared to grid computing. 7. While it is accessible through grid middleware. It can be accessed through standard web protocols. 8. Summary of Grid Computing Vs. Cloud Computing Both grid computing and cloud computing are network-based computing technologies that involve resource pooling, but cloud computing eliminates the complexity of buying hardware and software for building applications by allocating resources that are placed over multiple servers in clusters. Grid computing, on the contrary, is a computing technology that combines computing resources from various domains to reach a common goal. The computers on the network work on a task together and every computer can access the resources of every other computer within the network. In simple terms, grid computing is a group of interconnected computers that work together to handle huge volumes of data. Cloud Deployment Model: • The cloud deployment model identifies the specific type of cloud environment based on ownership, scale, and access, as well as the cloud’s nature and purpose. The location of the servers you’re utilizing and who controls them are defined by a cloud deployment model. It specifies how your cloud infrastructure will look, what you can change, and whether you will be given services or will have to create everything yourself. Relationships between the infrastructure and your users are also defined by cloud deployment types. Cloud deployment types: • Different types of cloud computing deployment models are: • • • • Public cloud Private cloud Hybrid cloud Community Cloud Public cloud : • The public cloud makes it possible for anybody to access systems and services. The public cloud may be less secure as it is open for everyone. Advantages: • Low cost. • Reliability. • Scalability. Disadvantages: • Low Security. • Shared resources. • Performance. Private Cloud : • The private cloud is defined as computing services offered either over the Internet or a private internal network and only to select users instead of the general public. Also called an internal or corporate cloud. Advantages: • More Control. • Security & privacy. • Improved performance. Disadvantages: • High cost. • Limited scalability. • Can't Remote Access. Hybrid cloud : • A hybrid cloud—sometimes called a cloud hybrid—is a computing environment that combines an on-premises datacenter (also called a private cloud) with a public cloud, allowing data and applications to be shared between them. Advantages: • Flexible. • Cost effective. • Security & privacy. Disadvantages: • Reliability. • Low Control. • Hardware expenses. Community cloud: • computing refers to a shared cloud computing service environment that is targeted to a limited set of organizations or employees (such as banks or heads of trading firms). Advantages: • Flexible and Scalable. • Cost effective. • High Security. Disadvantages: • Complexity. • Limited amount of storage. • Slow adoption to data. Comparison of Cloud Deployment Models: Important Factors to Consider Public Private Community Hybrid Setup and ease of use Easy Requires professional IT Team Requires professional IT Team Requires professional IT Team Data Security and Privacy Low High Very High High Scalability and flexibility High High Fixed requirements High Cheaper than private but more expensive than public High Cost Effectiveness Most affordable Most expensive Cost is distributed among members Reliability Low High Higher ❖ Mobile cloud computing architecture ❖ Benefits of Mobile Cloud Computing Some advantages of Mobile Cloud Computing : • Mobile Cloud Computing is Fast and sharing • Do not care about cloud computing for operating systems and this helps to use it in any mobile device. • Cloud computing for mobile devices allows users to securely and quickly gather and integrate information from many sources, no matter where the data is. • Economical • Multiple Platform Availability • Data back up • Integrated data ❖ Mobile Cloud Application Mobile Cloud applications try to reduce the resource requirement and consumption of an application while keeping the quality of it at the peak. The application requires very less space and provides maximum availability. Some advantages of Mobile Cloud Computing Applications : • Applications enjoy better processing power and data storage capacity • Applications run more efficiently. • Applications are more user-friendly. • Applications are more reliable and scalable. ❖ Mobile Cloud Computing Examples FOR Applications • Social Media: Mobile social networking lets users store data and share videos in real-time, so your friends and followers don’t have to wait for that new cat video • Email:This we regularly use in our daily activities to check mails in Mobile and it is the best example. • Finance and Commerce: When you use your phone to monitor your checking account balances with a banking app or make purchases on eBay or Amazon with your tablet it's a kind of mobile cloud again, providing scalable processing power. • Healthcare: In Health care, it plays a major role. It helps in accessing all the patient records and for tracking and getting alarms if required. ❖ Conclusion Mobile Cloud is integrating a lot and it is helping many companies. Generating high and hardware is expensive and mobile Cloud eliminates the cost of it. With the help of mobile Cloud, the efforts save and the work is done in the time limit cloud computing stretch to reduce the maintenance cost and enhance data safety and privacy. In mobile Cloud reducing resource consumption achieve by programming architecture and supporting cloud and mashup. This leads to the fact that the future generation of the mobile application is highly dependent on the cloud. ❖ references https://data-flair.training/blogs/mobile-cloud-computing-tutorial . https://www.simplilearn.com/what-is-mobile-cloud-computing-article . https://www.researchgate.net/figure/Mobile-cloud-computing-architecture_fig7_305715589 .