𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Cloud Native Infrastructure with Azure: Building and Managing Cloud Native Applications

✍ Scribed by Nishant Singh, Michael Kehoe


Publisher
O'Reilly Media
Year
2022
Tongue
English
Leaves
325
Edition
1
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Table of Contents


Cover
Copyright
Table of Contents
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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 12. Conclusion
What’s Next?
Index
About the Authors
Colophon


πŸ“œ SIMILAR VOLUMES


Cloud Native Infrastructure with Azure:
✍ Nishant Singh, Michael Kehoe πŸ“‚ Library πŸ“… 2022 πŸ› O'Reilly Media 🌐 English

<div><p>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, d

Oracle Cloud Infrastructure - A Guide to
✍ Jeevan Joseph, Adao Junior, Mickey Boxell πŸ“‚ Library πŸ“… 2023 πŸ› Oracle Press 🌐 English

<span>Oracle Cloud Infrastructure: A Guide to Building Cloud Native Applications</span><span><br>Cloud native development is a modern approach to designing, building, deploying, and managing applications. This approach takes advantage of the benefits of utility computing from providers, such as Orac

Oracle Cloud Infrastructure - A Guide to
✍ Jeevan Joseph, Adao Junior, Mickey Boxell πŸ“‚ Library πŸ“… 2023 πŸ› Oracle Press 🌐 English

<span>Oracle Cloud Infrastructure: A Guide to Building Cloud Native Applications</span><span><br>Cloud native development is a modern approach to designing, building, deploying, and managing applications. This approach takes advantage of the benefits of utility computing from providers, such as Orac

Oracle Cloud Infrastructure - A Guide to
✍ Jeevan Joseph, Adao Junior, Mickey Boxell πŸ“‚ Library πŸ“… 2023 πŸ› Oracle Press 🌐 English

<span>Oracle Cloud Infrastructure: A Guide to Building Cloud Native Applications</span><span><br>Cloud native development is a modern approach to designing, building, deploying, and managing applications. This approach takes advantage of the benefits of utility computing from providers, such as Orac

Cloud Native Development with Azure : A
✍ Verma, Pavan; πŸ“‚ Library πŸ“… 2024 πŸ› BPB Publications 🌐 English

Develop cloud-native skills by learning Azure cloud infrastructure offerings KEY FEATURES ● Master cloud-native development fundamentals and Azure services. ● Application security, monitoring, and efficient management. ● Explore advanced services like Azure Machine Learning & IoT Hub. DESCRIPTION Az

Cloud Native Applications with Jakarta E
✍ Kamalmeet Singh πŸ“‚ Library πŸ“… 2021 πŸ› BPB Publications 🌐 English

The book helps readers to get a basic understanding of features provided by the cloud and core concepts of cloud native development. A hands-on approach makes sure that after reading the book, one can straight away implement the concepts in their daily design and development activities. The book sta