Book description
Cloud Computing: Theory and Practice, Second 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 in Chapter One, the book is organized into four sections. Section One reviews basic concepts of concurrency and parallel and distributed systems. Section Two presents such critical components of the cloud ecosystem as cloud service providers, cloud access, cloud data storage, and cloud hardware and software. Section Three covers cloud applications and cloud security, while Section Four 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.
- Includes new chapters on concurrency, cloud hardware and software, challenges posed by big data and mobile applications and advanced topics
- Provides a new appendix that presents several cloud computing projects
- Presents more than 400 references in the text, including recent research results in several areas related to cloud computing
Table of contents
- Cover image
- Title page
- Table of Contents
- Copyright
- Dedication
- Foreword
- Preface to the Second Edition
- Abbreviations
- Chapter 1: Introduction
-
Chapter 2: Cloud Service Providers and the Cloud Ecosystem
- Abstract
- 2.1. The Cloud Ecosystem
- 2.2. Cloud Computing Delivery Models and Services
- 2.3. Amazon Web Services
- 2.4. The Continuing Evolution of AWS
- 2.5. Google Clouds
- 2.6. Microsoft Windows Azure and Online Services
- 2.7. Cloud Storage Diversity and Vendor Lock-in
- 2.8. Cloud Computing Interoperability; the Intercloud
- 2.9. Service-Level Agreements and Compliance-Level Agreements
- 2.10. Responsibility Sharing Between a User and the CSP
- 2.11. User Experience
- 2.12. Software Licensing
- 2.13. Energy Use and Ecological Impact of Cloud Computing
- 2.14. Major Challenges Faced by Cloud Computing
- 2.15. Further Readings
- 2.16. Exercises and Problems
- Literature
-
Section 1
-
Chapter 3: Concurrency in the Cloud
- Abstract
- 3.1. Enduring Challenges; Concurrency and Cloud Computing
- 3.2. Communication and Concurrency in Computing
- 3.3. Computational Models; The BSP Model
- 3.4. A Model for Multicore Computing
- 3.5. Modeling Concurrency with Petri Nets
- 3.6. Process State; Global State of a Process or Thread Group
- 3.7. Communication Protocols and Process Coordination
- 3.8. Communication, Logical Clocks, and Message Delivery Rules
- 3.9. Runs and Cuts; Causal History
- 3.10. Threads and Activity Coordination
- 3.11. Critical Sections, Locks, Deadlocks, and Atomic Actions
- 3.12. Consensus Protocols
- 3.13. Load Balancing
- 3.14. Multithreading and Concurrency in Java; FlumeJava
- 3.15. History Notes and Further Readings
- 3.16. Exercises and Problems
- Literature
-
Chapter 4: Parallel and Distributed Systems
- Abstract
- 4.1. Data, Thread-Level and Task-Level Parallelism
- 4.2. Parallel Architectures
- 4.3. SIMD Architectures; Vector Processing and Multimedia Extensions
- 4.4. Graphics Processing Units
- 4.5. Speedup, Amdhal's Law, and Scaled Speedup
- 4.6. Multicore Processor Speedup
- 4.7. Distributed Systems; System Modularity
- 4.8. Soft Modularity versus Enforced Modularity
- 4.9. Layering and Hierarchy
- 4.10. Virtualization; Layering and Virtualization
- 4.11. Peer-to-Peer Systems
- 4.12. Large-Scale Systems
- 4.13. Composability Bounds and Scalability
- 4.14. History Notes and Further Readings
- 4.15. Exercises and Problems
- Literature
-
Chapter 3: Concurrency in the Cloud
-
Section 2
-
Chapter 5: Cloud Access and Cloud Interconnection Networks
- Abstract
- 5.1. Packet-Switched Networks and the Internet
- 5.2. The Transformation of the Internet
- 5.3. Web Access and the TCP Congestion Control Window
- 5.4. Named Data Networks
- 5.5. Software Defined Networks
- 5.6. Interconnection Networks for Computer Clouds
- 5.7. Multistage Interconnection Networks
- 5.8. InfiniBand and Myrinet
- 5.9. Storage Area Networks and the Fibre Channel
- 5.10. Scalable Data Center Communication Architectures
- 5.11. Network Resource Management Algorithms
- 5.12. Content Delivery Networks
- 5.13. Vehicular Ad Hoc Networks
- 5.14. Further Readings
- 5.15. Exercises and Problems
- Literature
-
Chapter 6: Cloud Data Storage
- Abstract
- 6.1. The Evolution of Storage Technologies
- 6.2. Storage Models, File Systems, and Databases
- 6.3. Distributed File Systems; the Precursors
- 6.4. General Parallel File System
- 6.5. Google File System
- 6.6. Locks; Chubby – a Locking Service
- 6.7. NoSQL Databases
- 6.8. Data Storage for Online Transaction Processing Systems
- 6.9. BigTable
- 6.10. Megastore
- 6.11. Storage Reliability at Scale
- 6.12. Disk Locality versus Data Locality in Computer Clouds
- 6.13. Database Provenance
- 6.14. History Notes and Further Readings
- 6.15. Exercises and Problems
- Literature
-
Chapter 5: Cloud Access and Cloud Interconnection Networks
-
Section 3
-
Chapter 7: Cloud Applications
- Abstract
- 7.1. Cloud Application Development and Architectural Styles
- 7.2. Coordination of Multiple Activities
- 7.3. Workflow Patterns
- 7.4. Coordination Based on a State Machine Model – the ZooKeeper
- 7.5. The MapReduce Programming Model
- 7.6. Case Study: the GrepTheWeb Application
- 7.7. Hadoop, Yarn, and Tez
- 7.8. SQL on Hadoop: Pig, Hive, and Impala
- 7.9. Current Cloud Applications and New Opportunities
- 7.10. Clouds for Science and Engineering
- 7.11. Cloud Computing for Biology Research
- 7.12. Social Computing, Digital Content, and Cloud Computing
- 7.13. Software Fault Isolation
- 7.14. Further Readings
- 7.15. Exercises and Problems
- Literature
-
Chapter 8: Cloud Hardware and Software
- Abstract
- 8.1. Challenges; Virtual Machines and Containers
- 8.2. Cloud Hardware; Warehouse-scale Computers
- 8.3. WSC Performance
- 8.4. Hypervisors
- 8.5. An Engine for Coarse-Grained Data-Parallel Applications
- 8.6. Fine-Grained Cluster Resource Sharing
- 8.7. Cluster Management with Borg
- 8.8. Shared State Cluster Management
- 8.9. QoS-aware Cluster Management
- 8.10. Resource Isolation
- 8.11. In-memory Cluster Computing for Big Data
- 8.12. Containers; Docker Containers
- 8.13. Kubernetes
- 8.14. Further Readings
- 8.15. Exercises and Problems
- Literature
-
Chapter 9: Cloud Resource Management and Scheduling
- Abstract
- 9.1. Policies and Mechanisms for Resource Management
- 9.2. Cloud Resource Utilization and Energy Efficiency
- 9.3. Resource Management and Dynamic Application Scaling
- 9.4. Control Theory and Optimal Resource Management
- 9.5. Stability of a Two-level Resource Allocation Architecture
- 9.6. Feedback Control Based on Dynamic Thresholds
- 9.7. Coordination of Autonomic Performance Managers
- 9.8. A Utility Model for Cloud-Based Web Services
- 9.9. Scheduling Algorithms for Computer Clouds
- 9.10. Delay Scheduling
- 9.11. Data-Aware Scheduling
- 9.12. Apache Capacity Scheduler
- 9.13. Start-Time Fair Queuing
- 9.14. Borrowed Virtual Time
- 9.15. Further Readings
- 9.16. Exercises and Problems
- Literature
-
Chapter 10: Cloud Resource Virtualization
- Abstract
- 10.1. Performance and Security Isolation in Computer Clouds
- 10.2. Virtual Machines
- 10.3. Full Virtualization and Paravirtualization
- 10.4. Hardware Support for Virtualization
- 10.5. Xen – a Hypervisor Based on Paravirtualization
- 10.6. Optimization of Network Virtualization in Xen 2.0
- 10.7. Kernel-Based Virtual Machine
- 10.8. Nested Virtualization
- 10.9. A Trusted Kernel-Based Virtual Machine for ARMv8
- 10.10. Paravirtualization of Itanium Architecture
- 10.11. A Performance Comparison of Virtual Machines
- 10.12. Open-Source Software Platforms for Private Clouds
- 10.13. The Darker Side of Virtualization
- 10.14. Virtualization Software
- 10.15. History Notes and Further Readings
- 10.16. Exercises and Problems
- Literature
-
Chapter 7: Cloud Applications
-
Section 4
-
Chapter 11: Cloud Security
- Abstract
- 11.1. Security, the Top Concern for Cloud Users
- 11.2. Cloud Security Risks
- 11.3. Privacy and Privacy Impact Assessment
- 11.4. Trust
- 11.5. Cloud Data Encryption
- 11.6. Security of Database Services
- 11.7. Operating System Security
- 11.8. Virtual Machine Security
- 11.9. Security of Virtualization
- 11.10. Security Risks Posed by Shared Images
- 11.11. Security Risks Posed by a Management OS
- 11.12. Xoar – Breaking the Monolithic Design of the TCB
- 11.13. A Trusted Hypervisor
- 11.14. Mobile Devices and Cloud Security
- 11.15. Further Readings
- 11.16. Exercises and Problems
- Literature
-
Chapter 12: Big Data, Data Streaming, and the Mobile Cloud
- Abstract
- 12.1. Big Data
- 12.2. Data Warehouses and Google Databases for Big Data
- 12.3. Bootstrapping Techniques for Data Analytics
- 12.4. Approximate Query Processing
- 12.5. Dynamic Data-Driven Applications
- 12.6. Data Streaming
- 12.7. A Dataflow Model for Data Streaming
- 12.8. Joining Multiple Data Streams
- 12.9. System Availability at Scale
- 12.10. The Scale and the Latency
- 12.11. Mobile Computing and Applications
- 12.12. Energy Efficiency of Mobile Computing
- 12.13. Alternative Mobile Cloud Computing Models
- 12.14. Mobile Edge Cloud and Markov Decision Processes
- 12.15. Further Readings
- 12.16. Exercises and Problems
- Literature
-
Chapter 13: Advanced Topics
- Abstract
- 13.1. A Glimpse at the Future
- 13.2. Cloud Scheduling Subject to Deadlines
- 13.3. Scheduling MapReduce Applications Subject to Deadlines
- 13.4. Emergence and Self-Organization
- 13.5. Resource Bundling; Combinatorial Auctions for Cloud Resources
- 13.6. Cloud Interoperability and Super Clouds
- 13.7. In Search for Blooms Amid a Flurry of Challenges
- Literature
-
Chapter 11: Cloud Security
-
Appendix A: Cloud Application Development
- A.1. AWS EC2 Instances
- A.2. Connecting Clients to Cloud Instances through Firewalls
- A.3. Security Rules for Application- and Transport-Layer Protocols in EC2
- A.4. How to Launch an EC2 Linux Instance and Connect to It
- A.5. How to Use S3 in Java
- A.6. How to Manage AWS SQS Services in C#
- A.7. How to Install SNS on Ubuntu 10.04
- A.8. How to Create an EC2 Placement Group and use MPI
- A.9. StarCluster – A Cluster Computing Toolkit for EC2
- A.10. An Alternative Setting of an MPI Virtual Cluster
- A.11. How to Install Hadoop on Eclipse on a Windows System
- A.12. Exercises and Problems
- Literature
- Appendix B: Cloud Projects
- Literature
- Glossary
- Index
Product information
- Title: Cloud Computing, 2nd Edition
- Author(s):
- Release date: November 2017
- Publisher(s): Morgan Kaufmann
- ISBN: 9780128128114
You might also like
book
Cloud Computing For Dummies, 2nd Edition
Get your head —and your business—into the Cloud Cloud computing is no longer just a clever …
book
The Basics of Cloud Computing
As part of the Syngress Basics series, The Basics of Cloud Computing provides readers with an …
book
The Cloud Computing Journey
Elevate your expertise and gain holistic insights into cloud technology with a focus on smoothly transitioning …
book
Cloud Computing
This book provides an understanding of what cloud computing really means, explores how disruptive it may …