Cloud Computing - 1st Edition - ISBN: 9780124046276, 9780124046412

Cloud Computing

1st Edition

Theory and Practice

Authors: Dan Marinescu
eBook ISBN: 9780124046412
Paperback ISBN: 9780124046276
Imprint: Morgan Kaufmann
Published Date: 24th May 2013
Page Count: 416
Tax/VAT will be calculated at check-out
File Compatibility per Device

PDF, EPUB, VSB (Vital Source):
PC, Apple Mac, iPhone, iPad, Android mobile devices.

Amazon Kindle eReader.

Institutional Access


Cloud Computing: Theory and Practice provides students and IT professionals with an in-depth analysis of the cloud from the ground up. Beginning with a discussion of parallel computing and architectures and distributed systems, the book turns to contemporary cloud infrastructures, how they are being deployed at leading companies such as Amazon, Google and Apple, and how they can be applied in fields such as healthcare, banking and science. The volume also examines how to successfully deploy a cloud application across the enterprise using virtualization, resource management and the right amount of networking support, including content delivery networks and storage area networks. Developers will find a complete introduction to application development provided on a variety of platforms.

Key Features

  • Learn about recent trends in cloud computing in critical areas such as: resource management, security, energy consumption, ethics, and complex systems
  • Get a detailed hands-on set of practical recipes that help simplify the deployment of a cloud based system for practical use of computing clouds along with an in-depth discussion of several projects
  • Understand the evolution of cloud computing and why the cloud computing paradigm has a better chance to succeed than previous efforts in large-scale distributed computing


Senior First year level grad students, Network administrations network architects Network systems managers

Table of Contents



Supplemental Materials


Chapter 1. Introduction

1.1 Network-centric computing and network-centric content

1.2 Peer-to-peer systems

1.3 Cloud computing: an old idea whose time has come

1.4 Cloud computing delivery models and services

1.5 Ethical issues in cloud computing

1.6 Cloud vulnerabilities

1.7 Major challenges faced by cloud computing

1.8 Further reading

1.9 History notes

1.10 Exercises and problems


Chapter 2. Parallel and Distributed Systems

2.1 Parallel computing

2.2 Parallel computer architecture

2.3 Distributed systems

2.4 Global state of a process group

2.5 Communication protocols and process coordination

2.6 Logical clocks

2.7 Message delivery rules; causal delivery

2.8 Runs and cuts; causal history

2.9 Concurrency

2.10 Atomic actions

2.11 Consensus protocols

2.12 Modeling concurrency with Petri nets

2.13 Enforced modularity: the client-server paradigm

2.14 Further reading

2.15 History notes

2.16 Exercises and problems


Chapter 3. Cloud Infrastructure

3.1 Cloud computing at Amazon

3.2 Cloud computing: the Google perspective

3.3 Microsoft Windows Azure and online services

3.4 Open-source software platforms for private clouds

3.5 Cloud storage diversity and vendor lock-in

3.6 Cloud computing interoperability the intercloud

3.7 Energy use and ecological impact of large-scale data centers

3.8 Service- and compliance-level agreements

3.9 Responsibility sharing between user and cloud service provider

3.10 User experience

3.11 Software licensing

3.12 Further readings

3.13 History notes

3.14 Exercises and problems


Chapter 4. Cloud Computing: Applications and Paradigms

4.1 Challenges for cloud computing

4.2 Existing cloud applications and new application opportunities

4.3 Architectural styles for cloud applications

4.4 Workflows: Coordination of multiple activities

4.5 Coordination based on a state machine model: The ZooKeeper

4.6 The MapReduce programming model

4.7 A case study: The GrepTheWeb application

4.8 Clouds for science and engineering

4.9 High-performance computing on a cloud

4.10 Cloud computing for biology research

4.11 Social computing, digital content, and cloud computing

4.12 Further reading

4.13 Exercises and Problems


Chapter 5. Cloud Resource Virtualization

5.1 Virtualization

5.2 Layering and virtualization

5.3 Virtual machine monitors

5.4 Virtual machines

5.5 Performance and security isolation

5.6 Full virtualization and paravirtualization

5.7 Hardware support for virtualization

5.8 Case study: Xen, a VMM based on paravirtualization

5.9 Optimization of network virtualization in Xen 2.0

5.10 vBlades: paravirtualization targeting an x86-64 Itanium processor

5.11 A performance comparison of virtual machines

5.12 The darker side of virtualization

5.13 Software fault isolation

5.14 Further reading

5.15 History notes

5.16 Exercises and problems


Chapter 6. Cloud Resource Management and Scheduling

6.1 Policies and mechanisms for resource management

6.2 Applications of control theory to task scheduling on a cloud

6.3 Stability of a two-level resource allocation architecture

6.4 Feedback control based on dynamic thresholds

6.5 Coordination of specialized autonomic performance managers

6.6 A utility-based model for cloud-based Web services

6.7 Resource bundling: Combinatorial auctions for cloud resources

6.8 Scheduling algorithms for computing clouds

6.9 Fair queuing

6.10 Start-time fair queuing

6.11 Borrowed virtual time

6.12 Cloud scheduling subject to deadlines

6.13 Scheduling MapReduce applications subject to deadlines

6.14 Resource management and dynamic application scaling

6.15 Further reading

6.16 Exercises and problems


Chapter 7. Networking Support

7.1 Packet-switched networks

7.2 The Internet

7.3 Internet migration to IPv6

7.4 The transformation of the Internet

7.5 Web access and the TCP congestion control window

7.6 Network resource management

7.7 Interconnection networks for computer clouds

7.8 Storage area networks

7.9 Content delivery networks

7.10 Overlay networks and small-world networks

7.11 Scale-free networks

7.12 Epidemic algorithms

7.13 Further reading

7.14 History notes

7.15 Exercises and problems


Chapter 8. Storage Systems

8.1 The evolution of storage technology

8.2 Storage models, file systems, and databases

8.3 Distributed file systems: The precursors

8.4 General Parallel File System

8.5 Google File System

8.6 Apache Hadoop

8.7 Locks and Chubby: A locking service

8.8 Transaction processing and NoSQL databases

8.9 BigTable

8.10 Megastore

8.11 History notes

8.12 Further reading

8.13 Exercises and problems


Chapter 9. Cloud Security

9.1 Cloud security risks

9.2 Security: The top concern for cloud users

9.3 Privacy and privacy impact assessment

9.4 Trust

9.5 Operating system security

9.6 Virtual machine security

9.7 Security of virtualization

9.8 Security risks posed by shared images

9.9 Security risks posed by a management OS

9.10 Xoar: Breaking the monolithic design of the TCB

9.11 A trusted virtual machine monitor

9.12 Further reading

9.13 Exercises and problems


Chapter 10. Complex Systems and Self-Organization

10.1 Complex systems

10.2 Abstraction and physical reality

10.3 Quantifying complexity

10.4 Emergence and self-organization

10.5 Composability bounds and scalability

10.6 Modularity, layering, and hierarchy

10.7 More on the complexity of computing and communication systems

10.8 Systems of systems: Challenges and solutions

10.9 Further reading

10.10 Exercises and problems


Chapter 11. Cloud Application Development

11.1 Amazon Web Services: EC2 instances

11.2 Connecting clients to cloud instances through firewalls

11.3 Security rules for application and transport layer protocols in EC2

11.4 How to launch an EC2 Linux instance and connect to it

11.5 How to use S3 in Java

11.6 How to manage SQS services in C#

11.7 How to install the Simple Notification Service on Ubuntu 10.04

11.8 How to create an EC2 Placement Group and use MPI

11.9 How to install Hadoop on Eclipse on a Windows system

11.10 Cloud-based simulation of a distributed trust algorithm

11.11 A trust management service

11.12 A cloud service for adaptive data streaming

11.13 Cloud-based optimal FPGA synthesis

11.14 Exercises and problems






No. of pages:
© Morgan Kaufmann 2013
Morgan Kaufmann
eBook ISBN:
Paperback ISBN:

About the Author

Dan Marinescu

Dan C. Marinescu was a Professor of Computer Science at Purdue University in West Lafayette, Indiana from 1984 till 2001 when he joined the Computer Science Department at the University of Central Florida. He has held visiting faculty positions at IBM T. J. Watson Research Center, Yorktown Heights, New York; Institute of Information Sciences, Beijing ; Scalable Systems Division of Intel Corporation; Deutsche Telecom; and INRIA Rocquancourt in France. In 2012 he was a Fulbright Professor at UTFSM (Universidad Tecnica Federico Santa Maria) in Valparaiso, Chile. His research interests cover parallel and distributed systems, cloud computing, scientific computing, and quantum computing and quantum information theory. He has published more than 220 papers in refereed journals and conference proceedings in these areas and authored three books. In 2007 he delivered the Boole Lecture at University College Cork, the school where George Boole taught from 1849 till his death in 1864. Dan Marinescu was the principal investigator of several grants from the National Science Foundation. In 2008 he was awarded a Earnest T.S. Walton fellowship from the Science Foundation of Ireland.

Affiliations and Expertise

Professor, Computer Science, University of Central Florida


"There are not many books in this area that focus on theory as well as practice, and this is where this author shines. He has beautifully blended theory with rich mathematical rigor and real-life practical examples from various infrastructure providers. The book explains parallel and distributed paradigms in a very clear way.", January 27, 2014
"Marinescu presents a textbook on the main ideas related to cloud computing, in which computation and data storage are done by large dedicated systems accessible through the Internet rather than by individual or company systems. Among his topics are parallel and distributed systems, cloud infrastructure, cloud resource management and scheduling, storage systems, security, and complex systems and self-organization."--Reference & Research Book News, October 2013
"The author offers real-world examples and covers a lot of ground that will enable network architects to speed up the process of a cloud computing deployment…In a nutshell, Cloud Computing: Theory and Practice is an in-depth title that should be on the virtual or physical books shelf of anyone serious about cloud computing.", July 31, 2013
"…it’s an excellent resource for those tasked with developing and architecting sophisticated cloud systems and applications. The book also details how to integrate CDN (content delivery networks) into the cloud." blog, July 22, 2013