1st Edition

The Cloud Computing Book
The Future of Computing Explained



  • Available for pre-order. Item will ship after May 28, 2021
ISBN 9780367706807
May 28, 2021 Forthcoming by Chapman and Hall/CRC
288 Pages 82 B/W Illustrations

USD $99.95

Prices & shipping based on shipping country


Preview

Book Description

Why should every serious computer user learn about cloud computing and what should they learn? This text, by best-selling author and expert Douglas Comer, answers the questions.

Divided into five major parts, this class-tested book covers the topic completely.

Part 1 explains the motivation, advantages, and growth of cloud. It describes the notion of elastic computing, the reasons for public cloud, private cloud, and hybrid cloud systems, as well as the rise of hyperscalers.

Part 2 describes cloud infrastructure and virtualization, including data center facilities, virtual machines, containers and Docker technology, and the virtual network and storage systems cloud providers offer.

Part 3 focuses on automation and orchestration, two topics at the core of cloud computing. It considers automated resource allocation and advanced automation technologies, discussing the advantage and disadvantages of automated cloud systems. It also considers the topic of orchestration, using Kubernetes as an example.

Part 4 looks at programming paradigms and scalability. Specifically, it examines approaches, algorithms, and technologies used to create cloud-native
software, including MapReduce, microservices, serverless computing, and controller-based designs. It also covers DevOps, and explains why the software engineering technology works well when building and deploying software in the cloud.

Part 5 covers additional topics related to cloud. It discusses an extension of cloud known as Edge Computing. It describes the Industrial Internet of Things (IIoT) and its relationship to both edge and cloud computing. It examines how cloud introduces new security and privacy complications. It concludes by examining how the complexity of cloud software can be controlled, and how models can help a software designer understand properties of a cloud software system.

Table of Contents

Preface 


PART I The Era Of Cloud Computing 

The Motivations For Cloud 
1.1 Cloud Computing Everywhere 
1.2 A Facility For Flexible Computing 
1.3 The Start Of Cloud: The Power Wall And Multiple Cores 
1.4 From Multiple Cores To Multiple Machines 
1.5 From Clusters To Web Sites And Load Balancing 
1.6 Racks Of Server Computers 
1.7 The Economic Motivation For A Centralized Data Center 
1.8 Origin Of The Term “In The Cloud” 
1.9 Centralization Once Again 

Elastic Computing And Its Advantages 
2.1 Introduction 
2.2 Multi-Tenant Clouds 
2.3 The Concept Of Elastic Computing 
2.4 Using Virtualized Servers For Rapid Change 
2.5 How Virtualized Servers Aid Providers 
2.6 How Virtualized Servers Help A Customer 
2.7 Business Models For Cloud Providers 
2.8 Intrastructure as a Service (IaaS) 
2.9 Platform as a Service (PaaS) 
2.10 Software as a Service (SaaS) 
2.11 A Special Case: Desktop as a Service (DaaS) 
2.12 Summary 

Type Of Clouds And Cloud Providers 
3.1 Introduction 
3.2 Private And Public Clouds 
3.3 Private Cloud 
3.4 Public Cloud 
3.5 The Advantages Of Public Cloud 
3.6 Provider Lock-In 
3.7 The Advantages Of Private Cloud 
3.8 Hybrid Cloud 
3.9 Multi-Cloud 
3.10 Hyperscalers 
3.11 Summary 


PART II Cloud Infrastructure And Virtualization 

Data Center Infrastructure And Equipment 
4.1 Introduction 
4.2 Racks, Aisles, And Pods 
4.3 Pod Size 
4.4 Power And Cooling For A Pod 
4.5 Raised Floor Pathways And Air Cooling 
4.6 Thermal Containment And Hot/Cold Aisles 
4.7 Exhaust Ducts (Chimneys) 
4.8 Lights-Out Data Centers 
4.9 A Possible Future Of Liquid Cooling 
4.10 Network Equipment And Multi-Port Server Interfaces 
4.11 Smart Network Interfaces And Offload 
4.12 North-South And East-West Network Traffic 
4.13 Network Hierarchies, Capacity, And Fat Tree Designs 
4.14 High Capacity And Link Aggregation 
4.15 A Leaf-Spine Network Design For East-West Traffic 
4.16 Scaling A Leaf-Spine Architecture With A Super Spine 
4.17 External Internet Connections 
4.18 Storage In A Data Center 
4.19 Unified Data Center Networks 
4.20 Summary 

Virtual Machines 
5.1 Introduction 
5.2 Approaches To Virtualization 
5.3 Properties Of Full Virtualization 
5.4 Conceptual Organization Of VM Systems 
5.5 Efficient Execution And Processor Privilege Levels 
5.6 Extending Privilege To A Hypervisor 
5.7 Levels Of Trust 
5.8 Levels Of Trust And I/O Devices 
5.9 Virtual I/O Devices 
5.10 Virtual Device Details 
5.11 An Example Virtual Device 
5.12 A VM As A Digital Object 
5.13 VM Migration 
5.14 Live Migration Using Three Phase
5.15 Running Virtual Machines In An Application 
5.16 Facilities That Make A Hosted Hypervisor Possible 
5.17 How A User Benefits From A Hosted Hypervisor 
5.18 Summary 

Containers 
6.1 Introduction 
6.2 The Advantages And Disadvantages Of VMs 
6.3 Traditional Apps And Elasticity On Demand 
6.4 Isolation Facilities In An Operating System 
6.5 Linux Namespaces Used For Isolation 
6.6 The Container Approach For Isolated Apps 
6.7 Docker Containers
6.8 Docker Terminology And Development Tools 
6.9 Docker Software Components 
6.10 Base Operating System And Files 
6.11 Items In A Dockerfile 
6.12 An Example Dockerfile 
6.13 Summary 


Virtual Networks 
7.1 Introduction 
7.2 Conflicting Goals For A Data Center Network 
7.3 Virtual Networks, Overlays, And Underlays 
7.4 Virtual Local Area Networks (VLANs) 
7.5 Scaling VLANs To A Data Center With VXLAN 
7.6 A Virtual Network Switch Within A Server 
7.7 Network Address Translation (NAT) 
7.8 Managing Virtualization And Mobility 
7.9 Automated Network Configuration And Operation 
7.10 Software Defined Networking 
7.11 The OpenFlow Protocol 
7.12 Programmable Networks 
7.13 Summary 

Virtual Storage 
8.1 Introduction 
8.2 Persistent Storage: Disks And Files 
8.3 The Disk Interface Abstraction 
8.4 The File Interface Abstraction 
8.5 Local And Remote Storage 1
8.6 Two Types Of Remote Storage Systems 
8.7 Network Attached Storage (NAS) Technology 
8.8 Storage Area Network (SAN) Technology 
8.9 Mapping Virtual Disks To Physical Disks 
8.10 Hyper-Converged Infrastructure 
8.11 A Comparison Of NAS and SAN Technology 
8.12 Object Storage 
8.13 Summary 


PART III Automation And Orchestration

Automation 
9.1 Introduction 
9.2 Groups That Use Automation 
9.3 The Need For Automation In A Data Center 
9.4 An Example Deployment 
9.5 What Can Be Automated? 
9.6 Levels Of Automation 
9.7 AIops: Using Machine Learning And Artificial Intelligence 
9.8 A Plethora Of Automation Tools 
9.9 Automation Of Manual Data Center Practices 
9.10 Zero Touch Provisioning And Infrastructure As Code 
9.11 Declarative, Imperative, And Intent-Based Specifications 
9.12 The Evolution Of Automation Tools 
9.13 Summary 

Orchestration: Automated Replication And Parallelism 
10.1 Introduction 
10.2 The Legacy Of Automating Manual Procedures 
10.3 Orchestration: Automation With A Larger Scope 
10.4 Kubernetes: An Example Container Orchestration System 
10.5 Limits On Kubernetes Scope 
10.6 The Kubernetes Cluster Model 
10.7 Kubernetes Pods 
10.8 Pod Creation, Templates, And Binding Times 
10.9 Init Containers 
10.10 Kubernetes Terminology: Nodes And Control Plane 
10.11 Control Plane Software Components 
10.12 Communication Among Control Plane Components 
10.13 Worker Node Software Components 
10.14 Kubernetes Features 1
10.15 Summary


PART IV Cloud Programming Paradigms


The MapReduce Paradigm 
11.1 Introduction 
11.2 Software In A Cloud Environment 
11.3 Cloud-Native Vs. Conventional Software 
11.4 Using Data Center Servers For Parallel Processing 
11.5 Tradeoffs And Limitations Of The Parallel Approach 
11.6 The MapReduce Programming Paradigm 
11.7 Mathematical Description Of MapReduce 
11.8 Splitting Input 
11.9 Parallelism And Data Size 
11.10 Data Access and Data Transmission 
11.11 Apache Hadoop 
11.12 The Two Major Parts Of Hadoop 
11.13 Hadoop Hardware Cluster Model 
11.14 HDFS Components: DataNodes And A NameNode 
11.15 Block Replication And Fault Tolerance 
11.16 HDFS And MapReduce 
11.17 Using Hadoop With Other File Systems 
11.18 Using Hadoop For MapReduce Computations 
11.19 Hadoop’s Support For Programming Languages 
11.20 Summary 


Microservices 
12.1 Introduction 
12.2 Traditional Monolithic Applications 
12.3 Monolithic Applications In A Data Center 
12.4 The Microservices Approach 
12.5 The Advantages Of Microservices 
12.6 The Potential Disadvantages of Microservices 
12.7 Microservices Granularity 
12.8 Communication Protocols Used For Microservices 
12.9 Communication Among Microservices 
12.10 Using A Service Mesh Proxy 
12.11 The Potential For Deadlock 
12.12 Microservices Technologies 
12.13 Summary 


Controller-Based Management Software
13.1 Introduction 
13.2 Traditional Distributed Application Management 
13.3 Periodic Monitoring 
13.4 Managing Cloud-Native Applications 
13.5 Control Loop Concept 
13.6 Control Loop Delay, Hysteresis, And Instability 
13.7 The Kubernetes Controller Paradigm And Control Loop 
13.8 An Event-Driven Implementation Of A Control Loop 
13.9 Components Of A Kubernetes Controller 
13.10 Custom Resources And Custom Controllers 
13.11 Kubernetes Custom Resource Definition (CRD) 
13.12 Service Mesh Management Tools 
13.13 Reactive Or Dynamic Planning 
13.14 A Goal: The Operator Pattern 
13.15 Summary 


Serverless Computing And Event Processing 
14.1 Introduction 
14.2 Traditional Client-Server Architecture 1
14.3 Scaling A Traditional Server To Handle Multiple Clients 
14.4 Scaling A Server In A Cloud Environment 
14.5 The Economics Of Servers In The Cloud 
14.6 The Serverless Computing Approach 
14.7 Stateless Servers And Containers 
14.8 The Architecture Of A Serverless Infrastructure 
14.9 An Example Of Serverless Processing 
14.10 Potential Disadvantages Of Serverless Computing 
14.11 Summary 

DevOps 
15.1 Introduction 
15.2 Software Creation And Deployment
15.3 The Realistic Software Development Cycle 
15.4 Large Software Projects And Teams 
15.5 Disadvantages Of Using Multiple Teams 
15.6 The DevOps Approach 
15.7 Continuous Integration (CI): A Short Change Cycle 
15.8 Continuous Delivery (CD): Deploying Versions Rapidly 
15.9 Cautious Deployment: Sandbox, Canary, And Blue/Green 
15.10 Difficult Aspects Of The DevOps Approach 
15.11 Summary 


PART V Other Aspects Of Cloud 

Edge Computing And IIoT 
16.1 Introduction 
16.2 The Latency Disadvantage Of Cloud 
16.3 Situations Where Latency Matters 
16.4 Industries That Need Low Latency 
16.5 Moving Computing To The Edge 
16.6 Extending Edge Computing To A Fog Hierarchy 
16.7 Caching At Multiple Levels Of A Hierarchy 
16.8 An Automotive Example 
16.9 Edge Computing And IIoT 
16.10 Communication For IIoT 
16.11 Decentralization Once Again 
16.12 Summary 


Cloud Security And Privacy
17.1 Introduction 
17.2 Cloud-Specific Security Problems 
17.3 Security In A Traditional Infrastructure 
17.4 Why Traditional Methods Do Not Suffice For The Cloud 
17.5 The Zero Trust Security Model 
17.6 Identity Management 
17.7 Privileged Access Management (PAM) 
17.8 AI Technologies And Their Effect On Security

17.9 Protecting Remote Access 
17.10 Privacy In A Cloud Environment 
17.11 Back Doors, Side Channels, And Other Concerns 
17.12 Cloud Providers As Partners For Security And Privacy 
17.13 Summary 


Controlling The Complexity Of Cloud-Native Systems 
18.1 Introduction 
18.2 Sources Of Complexity In Cloud Systems 
18.3 Inherent Complexity In Large Distributed Systems 
18.4 Designing A Flawless Distributed System 
18.5 System Modeling 
18.6 Mathematical Models 
18.7 An Example Graph Model To Help Avoid Deadlock 
18.8 A Graph Model For A Startup Sequence 
18.9 Modeling Using Mathematics 
18.10 An Example TLA+ Specification 
18.11 System State And State Changes 
18.12 The Form Of A TLA+ Specification 
18.13 Symbols In A TLA+ Specification 
18.14 State Transitions For The Example 
18.15 Conclusions About Temporal Logic Models 
18.16 Summary 


Index 

...
View More

Author(s)

Biography

Dr. Douglas Comer is a Distinguished Professor at Purdue University, an industry consultant, and internationally-acclaimed author. He served as the inaugural VP of Research at Cisco Systems, and maintains ties with industry. His books are used in industry and academia around the world. Comer is a Fellow of the ACM, a member of the Internet Hall of Fame, and the recipient of numerous teaching awards. His ability to make complex topics understandable gives his books broad appeal for a wide variety of audiences.