Guide to Reliable Distributed Systems Building High-Assurance Applications and Cloud-Hosted Services - Birman, Kenneth P.; SpringerLink (Online service) (London : Springer London, 2012)
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 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 to challenging topics suitable for semester-long projects With 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.
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.
Keywords: Computer science; Operating systems (Computers).; Computer network architectures; Computer Science; Computer System Implementation; Operating Systems; Information Systems Applications (incl. Internet).; Performance and Reliability