As a growing range of applications shift to the cloud, developers face the task of creating reliable, fault-tolerant and secure distributed computing systems and networks. ThisGuide to Reliable Distributed Systemsdescribes the key concepts, principles and implementation options for creating high-assurance cloud computing solutions. In combination with Birman''s Isis2software platform, an open-source library available for free download from Cornell, the text offers a practical path to success in this vital emerging area.
The guide starts with a broad technical overview and basic introduction to cloud computing, looking at the overall architecture of the cloud, client systems, the modern Internet and cloud computing data centers. It then delves into the core challenges of showing how reliability and fault-tolerance can be abstracted, how the resulting questions can be solved, and how the solutions can be leveraged to create a wide range of practical cloud applications. The author''s style is practical, and the guide should be readily understandable without any special background. Concrete examples are often drawn from real-world settings to illustrate key insights. Appendices show how the most important reliability models can be formalized, describe the API of the Isis2platform, and offer more than 80 problems at varying levels of difficulty.
Topics and features: examines cloud computing reliability from the perspectives of the client and of the network, and describes the significant components of cloud data centers; presents a practical focus aimed at building "mission-critical" networked applications that keep working even when things go wrong; covers CORBA, Web Services, group communication, transactions, peer-to-peer systems, time-critical protocols, scalability and security; discusses fundamental mechanisms in detail, with an emphasis on the idea of "consistent behavior" in systems that replicate critical components for availability; reviews a wide array of major cloud computing components, including BitTorrent, Dynamo, Chubby, BigTable, Zookeeper, and others; includes more than 80 problems ranging from simple tests of understanding to challenging protocol and systems design topics suitable for semester-long projects.
With its well-focused approach and clarity of presentation, in conjunction with the possibility of using the Isis2library as the basis for academic projects or cloud-computing prototyping activities, the guide represents a unique resource in the contemporary cloud-computing arena. Anyone seeking a solid background in distributed computing, cloud computing, or the modern Internet will find the book an essential and practical learning tool.