Synopses & Reviews
This Guide to Reliable Distributed Systems describes the key concepts, principles and implementation options for creating high-assurance cloud computing solutions. In combination with the Isis2 software platform, the text offers a practical path to success in this vital emerging area. Opening with a broad technical overview, the guide then delves into the core challenges of 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. Readily understandable without any special background, the guide offers concrete examples drawn from real-world settings to illustrate key insights. 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 centersPresents a practical focus aimed at building "mission-critical" networked applications that keep working even when things go wrongCovers CORBA, Web Services, group communication, transactions, peer-to-peer systems, time-critical protocols, scalability and securityDiscusses fundamental mechanisms in detail, with an emphasis on the idea of "consistent behavior" in systems that replicate critical components for availabilityReviews a wide array of major cloud computing components, including BitTorrent, Dynamo, Chubby, BigTable, Zookeeper, and othersIncludes more than 80 problems ranging from simple tests to challenging topics suitable for semester-long projectsWith its well-focused approach and clarity of presentation, 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.
Synopsis
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. This "Guide to Reliable Distributed Systems" describes the key concepts, principles and implementation options for creating high-assurance cloud computing solutions. In combination with Birman s Isis2 software 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 Isis2 platform, 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 Isis2 library 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."
Synopsis
This book describes the key concepts, principles and implementation options for creating high-assurance cloud computing solutions. 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 Isis2 platform, and offer more than 80 problems at varying levels of difficulty.
About the Author
Dr. Kenneth P. Birman is an ACM Fellow and Professor
Table of Contents
Part I: Computing in the Cloud The Way of the Cloud Client Perspective Network Perspective The Structure of Cloud Data Centers Remote Procedure Calls and the Client/Server Mode CORBA: The Common Object Request Broker Architecture System Support for Fast Client/Server Communication Part II: Reliable Distributed Computing How and Why Computer Systems Fail Overcoming Failures in a Distributed System Dynamic Membership Group Communication Systems Point to Point and Multi-group Considerations The Virtual Synchrony Execution Model Consistency in Distributed Systems Part III: Applications of Reliability Techniques Retrofitting Reliability into Complex Systems Software Architectures for Group Communication Part IV: Related Technologies Security Options for Distributed Settings Clock Synchronization and Synchronous Systems Transactional Systems Peer-to-Peer Systems and Probabilistic Protocols Appendix A: Virtually Synchronous Methodology For Building Dynamic Reliable Services Appendix B: Isis2API Appendix C: Problems