Cloud Native Infrastructure with Azure: Building and Managing Cloud Native Applications
- Length: 350 pages
- Edition: 1
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2022-03-22
- ISBN-10: 1492090964
- ISBN-13: 9781492090960
- Sales Rank: #0 (See Top 100 Books)
The cloud is becoming the de facto home for companies ranging from enterprises to startups. Moving to the cloud means moving your applications from monolith to microservices. But once you do, maintaining and running these services brings its own level of complexity. The answer? Modularity, deployability, observability, and self-healing capacity through cloud native development.
With this practical book, Nishant Singh and Michael Kehoe show you how to build a true cloud native infrastructure on Microsoft Azure, following guidelines from the Cloud Native Computing Foundation (CNCF). DevOps and site reliability engineers will learn how adapting applications to cloud native early in the design phase helps you fully utilize the elasticity and distributed nature of the cloud.
Chapters include:
- “Introduction: Why Cloud Native?”
- “Infrastructure as Code: Setting Up the Gateway”
- “Containerizing Your Application: More Than Boxes”
- “Kubernetes: The Grand Orchestrator”
- “Creating a Kubernetes Cluster on Azure”
- “Observability: Following the Breadcrumbs”
- “Service Discovery and Service Mesh: Finding New Territories and Crossing Borders”
- “Networking and Policy Management: Behold the Gatekeepers”
- “Distributed Databases and Storage: The Central Bank”
- “Getting the Message”
- “Serverless”
Preface Who Should Read This Book Goals of This Book Navigating This Book Conventions Used in This Book Using Code Examples O’Reilly Online Learning How to Contact Us Acknowledgments 1. Introduction: Why Cloud Native? The Journey to the Cloud Challenges in the Cloud Cloud Native Computing Foundation Adopting a Cloud Native Infrastructure with Azure Summary 2. Infrastructure as Code: Setting Up the Gateway Infrastructure as Code and Its Importance in the Cloud Native World Getting Started with Azure and Setting Up the Environment Azure Fundamentals and Preparing Your Azure Environment Creating an Azure Account Installing the Azure CLI Prominent IaC Tools Terraform Packer Ansible Azure DevOps and Infrastructure as Code Summary 3. Containerizing Your Application: More Than Boxes Why Containers? Isolation Security Packaging and Deployment Basic Container Primitives Cgroups Namespaces Copy on Write Capabilities Seccomp-BPF Components of Running a Container Container Orchestrators Container Software Container Runtimes Containers Operating System Open Container Initiative (OCI) Specification OCI Image Specification OCI Runtime Specification Docker Building Your First Docker Image Best Practices While Using Docker Other Container Platforms Kata Containers LXC and LXD Container Registries Securely Storing Images with Harbor Securely Storing Images with Azure Container Registry Storing Docker Images in a Registry Running Docker on Azure Azure Container Instances Deploying an Azure Container Instance Running a Docker Container Engine Summary 4. Kubernetes: The Grand Orchestrator Kubernetes Components Control Plane Worker Nodes Kubernetes API Server Objects Pods ReplicaSets Deployments Services Namespaces Labels and Selectors Annotations Ingress Controller StatefulSets DaemonSets Jobs Observe, Operate, and Manage Kubernetes Clusters with kubectl General Cluster Information and Commands Managing Pods Kubernetes in Production Summary 5. Creating a Kubernetes Cluster in Azure Creating a Kubernetes Cluster from Scratch Creating the Resource Group Creating the Machine Images for the Worker and Controller Machines Creating a Storage Account Backend Creating an Azure Virtual Network Creating Public IPs for the Load Balancer Creating Worker and Controller Instances Using Ansible to Deploy and Configure the Kubernetes Controller Nodes Using Ansible to Deploy and Configure the Kubernetes Worker Nodes Setting Up Pod Networking and Routing Generating the kubeconfig File for Remote Access and Cluster Validation Azure Kubernetes Service Deploying Applications and Services Using Helm: A Package Manager for Kubernetes Helm Basics Installing and Managing Helm Managing Helm Releases Creating Charts for Your Applications Summary 6. Observability: Following the Breadcrumbs Introduction to Observability Observability: More Than Three Pillars Observability: A Superset of Monitoring Observability-Driven Development Monitoring Metrics with Prometheus in a Cloud Native World Prometheus Components and Architecture Installing and Configuring Prometheus node_exporter Instrumentation of Applications Finding Hosts Prometheus on Kubernetes Logging in the Cloud Native World Logging with Fluentd Fluentd on Kubernetes Distributed Tracing in the Cloud Native World Tracing: Key Concepts General Tracing System Architecture and Trace Assembly Tracing Standards, Tools, and Code Instrumentation Azure Monitor Summary 7. Service Discovery and Service Mesh: Finding New Territories and Crossing Borders Service Discovery Introduction to CoreDNS Installing and Configuring CoreDNS Kubernetes Service Discovery with CoreDNS Azure DNS The Service Mesh Introduction to Istio Installing Istio on Azure Kubernetes Service Automatically Injecting the Sidecar Proxy (Envoy Proxy) Managing Istio Service Meshes Using Kiali Summary 8. Networking and Policy Management: Behold the Gatekeepers The Container Network Interface (CNI) Why Would You Use a CNI? How Does CNI Work with Azure? Various CNI Projects Calico Why Would You Use Calico? Basic Architecture Deploying Calico A Calico Deep Dive Implementing Calico Security Policy Cilium Deploying Cilium Integrating Cilium with Your Cloud Flannel Deploying Flannel A Flannel Deep Dive Azure Policy Azure Policy Quickstart Creating Your Own Azure Policy Azure Policy for Kubernetes Open Policy Agent Deploying OPA on Kubernetes Deploying Policy with OPA Summary 9. Distributed Databases and Storage: The Central Bank The Need for Distributed Databases in Cloud Native Architecture Azure Storage and Database Options Introduction to Vitess: Distributed and Sharded MySQL Why Run Vitess? The Vitess Architecture Deploying Vitess on Kubernetes Introduction to Rook: Storage Orchestrator for Kubernetes The Rook Architecture Deploying Rook on Kubernetes Introduction to TiKV Why Use TiKV? The TiKV Architecture Deploying TiKV on Kubernetes More on etcd Hardware Platform Autoscaling and Auto-remediation Availability and Security Summary 10. Getting the Message The Need for Messaging A Sample Messaging Use Case: Log Ingestion and Analytics Generation 1: Without Queues Generation 2: With Cloud Queues and Object Storage Generation 3: With Memory-Based Pub/Sub Queuing The Basics of Messaging Platforms Messaging Versus Streaming Messaging Fundamentals Producers and Consumers Brokers and Clustering Durability and Persistence Message Delivery Security Common Messaging Patterns Simple Queue Publish and Subscribe Durable Queue An Overview of Popular Cloud Native Messaging Platforms RabbitMQ Apache Kafka CNCF CloudEvents Cloud Messaging Deep Dive with NATS NATS Protocol Architecture NATS Persistence with JetStream NATS Security Deploying NATS on Kubernetes Azure Messaging Services Azure Service Bus Azure Event Hubs Azure Event Grid Summary 11. Serverless Introduction to Serverless Computing What Is Serverless? What Is a Serverless Function? The Serverless Landscape Benefits of Serverless Potential Downsides of Serverless Azure Function Apps Function App Architecture Creating a Function App Knative Knative Architecture Installing and Running Knative Serving on Kubernetes Installing and Running Knative Eventing on Kubernetes KEDA KEDA Architecture Installing KEDA on Kubernetes OpenFaaS OpenFaaS Architecture Installing OpenFaaS Writing Your First OpenFaaS Function Summary 12. Conclusion What’s Next? Index About the Authors
Donate to keep this site alive
How to download source code?
1. Go to: https://www.oreilly.com/
2. Search the book title: Cloud Native Infrastructure with Azure: Building and Managing Cloud Native Applications
, sometime you may not get the results, please search the main title
3. Click the book title in the search results
3. Publisher resources
section, click Download Example Code
.
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.