Cloud Computing

Cloud Computing

Theory and Practice

3rd Edition - February 15, 2022

Write a review

  • Author: Dan Marinescu
  • Paperback ISBN: 9780323852777
  • eBook ISBN: 9780323910477

Purchase options

Purchase options
In Stock
DRM-free (EPub, PDF)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order

Description

Cloud Computing: Theory and Practice, Third Edition provides students and IT professionals with an in-depth analysis of the cloud from the ground up. After an introduction to network-centric computing and network-centric content, the book reviews basic concepts of concurrency and parallel and distributed systems, presents critical components of the cloud ecosystem as cloud service providers, cloud access, cloud data storage, and cloud hardware and software, covers cloud applications and cloud security, and presents research topics in cloud computing. Specific topics covered include resource virtualization, resource management and scheduling, and advanced topics like the impact of scale on efficiency, cloud scheduling subject to deadlines, alternative cloud architectures, and vehicular clouds. An included glossary covers terms grouped in several categories, from general to services, virtualization, desirable attributes and security.

Key Features

  • Presents updated content throughout chapters on concurrency, cloud hardware and software, challenges posed by big data, mobile applications and advanced topics
  • Includes an expanded appendix that presents several cloud computing projects
  • Provides more than 400 references in the text, including recent research results in several areas related to cloud computing

Readership

Upper level undergraduate students and first year grad students in computer science programs / Annual student enrollment in the US is currently 1,900 according to Navstem. Network administrators, network architects, network systems managers

Table of Contents

  • Cover image
  • Title page
  • Table of Contents
  • Copyright
  • Dedication
  • Preface to third edition
  • Abbreviations
  • Chapter 1: Introduction
  • 1.1. Cloud computing, an old idea whose time has come
  • 1.2. Energy use and ecological impact of cloud computing
  • 1.3. Ethical issues in cloud computing
  • 1.4. Factors affecting cloud service availability
  • 1.5. Network-centric computing and network-centric content
  • Literature
  • Chapter 2: The cloud ecosystem
  • 2.1. Cloud computing delivery models and services
  • 2.2. Amazon Web Services
  • 2.3. Google Clouds
  • 2.4. Microsoft Windows Azure and online services
  • 2.5. IBM clouds
  • 2.6. Cloud storage diversity and vendor lock-in
  • 2.7. Cloud interoperability
  • 2.8. Service-level Agreements and Compliance-level Agreements
  • 2.9. Responsibility sharing between user and service provider
  • 2.10. User challenges and experience
  • 2.11. Software licensing
  • 2.12. Challenges faced by cloud computing
  • 2.13. Cloud computing as a disruptive technology
  • 2.14. Exercises and problems
  • Literature
  • Chapter 3: Parallel processing and distributed computing
  • 3.1. Computer architecture concepts
  • 3.2. Grand architectural complications
  • 3.3. ARM architecture
  • 3.4. SIMD architectures
  • 3.5. Graphics processing units
  • 3.6. Tensor processing units
  • 3.7. Systems on a chip
  • 3.8. Data, thread-level, and task-level parallelism
  • 3.9. Speedup, Amdhal's law, and scaled speedup
  • 3.10. Multicore processor speedup
  • 3.11. From supercomputers to distributed systems
  • 3.12. Modularity. Soft modularity versus enforced modularity
  • 3.13. Layering and hierarchy
  • 3.14. Peer-to-peer systems
  • 3.15. Large-scale systems
  • 3.16. Composability bounds and scalability (R)
  • 3.17. Distributed computing fallacies and the CAP theorem
  • 3.18. Blockchain technology and applications
  • 3.19. History notes and further readings
  • 3.20. Exercises and problems
  • Literature
  • Chapter 4: Cloud hardware and software
  • 4.1. Cloud infrastructure challenges
  • 4.2. Cloud hardware; warehouse-scale computer (WSC)
  • 4.3. WSC performance
  • 4.4. Hypervisors
  • 4.5. Execution of coarse-grained data-parallel applications
  • 4.6. Fine-grained cluster resource sharing in Mesos
  • 4.7. Cluster management with Borg
  • 4.8. Evolution of a cluster management system
  • 4.9. Shared state cluster management
  • 4.10. QoS-aware cluster management
  • 4.11. Resource isolation
  • 4.12. In-memory cluster computing for Big Data
  • 4.13. Containers; Docker containers
  • 4.14. Kubernetes
  • 4.15. Further readings
  • 4.16. Exercises and problems
  • Literature
  • Chapter 5: Cloud resource virtualization
  • 5.1. Resource virtualization
  • 5.2. Performance and security isolation in computer clouds
  • 5.3. Virtual machines
  • 5.4. Full virtualization and paravirtualization
  • 5.5. Hardware support for virtualization
  • 5.6. QEMU
  • 5.7. Kernel-based Virtual Machine
  • 5.8. Xen—a hypervisor based on paravirtualization
  • 5.9. Optimization of network virtualization in Xen 2.0
  • 5.10. Nested virtualization
  • 5.11. A trusted kernel-based virtual machine for ARMv8
  • 5.12. Paravirtualization of Itanium architecture
  • 5.13. A performance comparison of virtual machines
  • 5.14. Open-source software platforms for private clouds
  • 5.15. The darker side of virtualization
  • 5.16. Virtualization software
  • 5.17. History notes and further readings
  • 5.18. Exercises and problems
  • Literature
  • Chapter 6: Cloud access and cloud interconnection networks
  • 6.1. Packet-switched networks and the Internet
  • 6.2. Internet evolution
  • 6.3. TCP congestion control
  • 6.4. Content-centric networks; named data networks (R)
  • 6.5. Software-defined networks; SD-WAN
  • 6.6. Interconnection networks for computer clouds
  • 6.7. Multistage interconnection networks
  • 6.8. InfiniBand and Myrinet
  • 6.9. Storage area networks and the Fibre Channel
  • 6.10. Scalable data center communication architectures
  • 6.11. Network resource management algorithms (R)
  • 6.12. Content delivery networks
  • 6.13. Vehicular ad hoc networks
  • 6.14. Further readings
  • 6.15. Exercises and problems
  • Literature
  • Chapter 7: Cloud data storage
  • 7.1. Dynamic random access memories and hard disk drives
  • 7.2. Solid-state disks
  • 7.3. Storage models, file systems, and databases
  • 7.4. Distributed file systems; the precursors
  • 7.5. General parallel file system
  • 7.6. Google file system
  • 7.7. Locks; Chubby—a locking service
  • 7.8. RDBMS—cloud mismatch
  • 7.9. NoSQL databases
  • 7.10. Data storage for online transaction processing systems
  • 7.11. BigTable
  • 7.12. Megastore
  • 7.13. Storage reliability at scale
  • 7.14. Disk locality versus data locality in computer clouds
  • 7.15. Database provenance
  • 7.16. History notes and further readings
  • 7.17. Exercises and problems
  • Literature
  • Chapter 8: Cloud security
  • 8.1. Security—the top concern for cloud users
  • 8.2. Cloud security risks
  • 8.3. Security as a service (SecaaS)
  • 8.4. Privacy and privacy impact assessment
  • 8.5. Trust
  • 8.6. Cloud data encryption
  • 8.7. Security of database services
  • 8.8. Operating system security
  • 8.9. Virtual machine security
  • 8.10. Security of virtualization
  • 8.11. Security risks posed by shared images
  • 8.12. Security risks posed by a management OS
  • 8.13. Xoar—breaking the monolithic design of the TCB
  • 8.14. Mobile devices and cloud security
  • 8.15. Mitigating cloud vulnerabilities in the age of ransomware
  • 8.16. AWS security
  • 8.17. Further readings
  • 8.18. Exercises and problems
  • Literature
  • Chapter 9: Cloud resource management and scheduling
  • 9.1. Policies and mechanisms for resource management
  • 9.2. Scheduling algorithms for computer clouds
  • 9.3. Delay scheduling (R)
  • 9.4. Data-aware scheduling (R)
  • 9.5. Apache capacity scheduler
  • 9.6. Start-time fair queuing (R)
  • 9.7. Borrowed virtual time (R)
  • 9.8. Cloud scheduling subject to deadlines (R)
  • 9.9. MapReduce application scheduling subject to deadlines (R)
  • 9.10. Resource bundling; combinatorial auctions for cloud resources
  • 9.11. Cloud resource utilization and energy efficiency
  • 9.12. Resource management and dynamic application scaling
  • 9.13. Control theory and optimal resource management (R)
  • 9.14. Stability of two-level resource allocation strategy (R)
  • 9.15. Feedback control based on dynamic thresholds (R)
  • 9.16. Coordination of autonomic performance managers (R)
  • 9.17. A utility model for cloud-based web services (R)
  • 9.18. Cloud self-organization
  • 9.19. Cloud interoperability
  • 9.20. Further readings
  • 9.21. Exercises and problems
  • Literature
  • Chapter 10: Concurrency and cloud computing
  • 10.1. Enduring challenges
  • 10.2. Communication and concurrency
  • 10.3. Computational models; communicating sequential processes
  • 10.4. The bulk synchronous parallel model
  • 10.5. A model for multicore computing
  • 10.6. Modeling concurrency with Petri nets
  • 10.7. Process state; global state of a process or thread group
  • 10.8. Communication protocols and process coordination
  • 10.9. Communication, logical clocks, and message delivery rules
  • 10.10. Runs and cuts; causal history
  • 10.11. Threads and activity coordination
  • 10.12. Critical sections, locks, deadlocks, and atomic actions
  • 10.13. Consensus protocols
  • 10.14. Load balancing
  • 10.15. Multithreading in Java; FlumeJava; Apache Crunch
  • 10.16. History notes and further readings
  • 10.17. Exercises and problems
  • Literature
  • Chapter 11: Cloud applications
  • 11.1. Cloud application development and architectural styles
  • 11.2. Coordination of multiple activities
  • 11.3. Workflow patterns
  • 11.4. Coordination based on a state machine model—zookeeper
  • 11.5. MapReduce programming model
  • 11.6. Case study: the GrepTheWeb application
  • 11.7. Hadoop, Yarn, and Tez
  • 11.8. SQL on Hadoop: Pig, Hive, and Impala
  • 11.9. Current cloud applications and new applications opportunities
  • 11.10. Clouds for science and engineering
  • 11.11. Cloud computing and biology research
  • 11.12. Social computing, digital content, and cloud computing
  • 11.13. Software fault isolation
  • 11.14. Further readings
  • 11.15. Exercises and problems
  • Literature
  • Chapter 12: Big Data, data streaming, and the mobile cloud
  • 12.1. Big Data
  • 12.2. Data warehouses and Google databases for Big Data
  • 12.3. Dynamic data-driven applications
  • 12.4. Data streaming
  • 12.5. A dataflow model for data streaming
  • 12.6. Joining multiple data streams
  • 12.7. Mobile computing and applications
  • 12.8. Energy efficiency of mobile computing
  • 12.9. Alternative mobile cloud computing models
  • 12.10. System availability at scale (R)
  • 12.11. Scale and latency (R)
  • 12.12. Edge computing and Markov decision processes (R)
  • 12.13. Bootstrapping techniques for data analytics (R)
  • 12.14. Approximate query processing (R)
  • 12.15. Further readings
  • 12.16. Exercises and problems
  • Literature
  • Chapter 13: Emerging clouds
  • 13.1. A short-term forecast
  • 13.2. Machine learning on clouds
  • 13.3. Quantum computing on clouds
  • 13.4. Vehicular clouds
  • 13.5. Final thoughts
  • Literature
  • Appendix A: Cloud projects
  • A.1. Cloud simulation of a distributed trust algorithm
  • A.2. A trust management service
  • A.3. Simulation of traffic management in a smart city
  • A.4. A cloud service for adaptive data streaming
  • A.5. Optimal FPGA synthesis
  • A.6. Tensor network contraction on AWS
  • A.7. A simulation study of machine-learning scalability
  • A.8. Cloud-based task alert application
  • A.9. Cloud-based health-monitoring application
  • Literature
  • Appendix B: Cloud application development
  • B.1. AWS EC2 instances
  • B.2. Connecting clients to cloud instances through firewalls
  • B.3. Security rules for application- and transport-layer protocols in EC2
  • B.4. How to launch an EC2 Linux instance and connect to it
  • B.5. How to use S3 in Java
  • B.6. How to manage AWS SQS services in C#
  • B.7. How to install SNS on Ubuntu 10.04
  • B.8. How to create an EC2 placement group and use MPI
  • B.9. StarCluster—a cluster computing toolkit for EC2
  • B.10. An alternative setting of an MPI virtual cluster
  • B.11. How to install hadoop on eclipse on a windows system
  • B.12. Exercises and problems
  • Literature
  • Literature
  • Literature
  • Glossary
  • Index

Product details

  • No. of pages: 672
  • Language: English
  • Copyright: © Morgan Kaufmann 2022
  • Published: February 15, 2022
  • Imprint: Morgan Kaufmann
  • Paperback ISBN: 9780323852777
  • eBook ISBN: 9780323910477

About the Author

Dan Marinescu

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, USA

Ratings and Reviews

Write a review

There are currently no reviews for "Cloud Computing"