UID:
almahu_9949385157502882
Format:
1 online resource (xvi, 269 pages)
Edition:
First edition.
ISBN:
9781000384284
,
1000384284
,
9781003147503
,
100314750X
,
9781000384277
,
1000384276
Content:
"The latest textbook from best-selling author, Douglas Comer, this class-tested book provides a comprehensive introduction to cloud computing. Focusing on concepts and principles, rather than commercial offerings by cloud providers and vendors, the text gives readers a complete picture of the advantages and growth of cloud computing, cloud infrastructure, virtualization, automation and orchestration, and cloud-native software design. The book explains real and virtual data center facilities, including computation (e.g., servers, hypervisors, Virtual Machines, and containers), networks (e.g., leaf-spine architecture, VLANs, and VxLAN), and storage mechanisms (e.g. SAN, NAS, and object storage). Chapters on automation and orchestration cover the conceptual organization of systems that automate software deployment and scaling. Chapters on cloud-native software cover parallelism, microservices, MapReduce, controller-based designs, and serverless computing. Although it focuses on concepts and principles, the book uses popular technologies in examples, including Docker containers and Kubernetes. Final chapters explain security in a cloud environment and the use of models to help control the complexity involved in designing software for the cloud. The text is suitable for a one-semester course for software engineers who want to understand cloud, and for IT managers moving an organization's computing to the cloud"--
Note:
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 Phase5.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 Containers6.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 18.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 OrchestrationAutomation 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 110.15 SummaryPART IV Cloud Programming ParadigmsThe 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 Software13.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 114.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 Deployment15.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.
Additional Edition:
Print version: The cloud computing book Boca Raton : CRC Press, 2021. ISBN 9780367706807
Language:
English
Keywords:
Electronic books.
DOI:
10.1201/9781003147503
URL:
https://www.taylorfrancis.com/books/9781003147503
Bookmarklink