Cloud Computing: Theory and Practice, 3rd Edition
- Length: 672 pages
- Edition: 3
- Language: English
- Publisher: Morgan Kaufmann
- Publication Date: 2022-06-15
- ISBN-10: 0323852777
- ISBN-13: 9780323852777
- Sales Rank: #2804775 (See Top 100 Books)
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.
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
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.