Skip to product information
Cloud-native infrastructure leveraging Azure
Cloud-native infrastructure leveraging Azure
Description
Book Introduction
Introducing how to build a cloud-native infrastructure in cloud computing.
Learn how to build services with modularity, deployability, unified visibility, and self-healing capabilities using Microsoft Azure or other cloud computing solutions, following guidance from the Cloud Native Foundation.
This allows for rapid deployment of cloud applications and maximizing the elasticity and distributed nature of the cloud.
  • You can preview some of the book's contents.
    Preview

index
Chapter 1.
Introduction: Why Cloud Native?

__Cloud Journey
__Cloud's Challenges
Cloud Native Computing Foundation
__Applying cloud-native infrastructure with Azure
__summation

Chapter 2.
Infrastructure as Code: Setting Up a Gateway

Infrastructure as Code and Its Importance in a Cloud-Native World
__Getting started with Azure and setting up your environment
____Azure Basics and Environment Preparation
____Create an Azure account
____Installing Azure CLI
__Major IaC Tools
____Terraform
____Packer
____ensemble
__Azure DevOps and Infrastructure as Code
__summation

Chapter 3.
Application Containerization: Beyond the Box

__Why containers?
____isolation
____security
____Packaging and Distribution
__Basic container basic elements
____Cgroup
____Namespace
____Copy on Write
____Capabilities
____Seccomp-BPF
__Components of container execution
____Container Orchestrator
____Container Software
____Container Runtime
____container
____operating system
__Open Container Initiative Specification
____OCI Image Specifications
____OCI Runtime Specification
__Docker
____Build your first Docker image
____Docker Best Practices
__Other container platforms
____kata container
____LXC and LXD
__Container Registry
____Safely store images with Harbor
____Securely store images with Azure Container Registry
__Save Docker images to the registry
____Running Docker on Azure
____Azure Container Instance
____Deploying Azure Container Instances
____Running Docker Container Engine
__summation

Chapter 4.
Kubernetes: The Grand Orchestrator

__Kubernetes components
____control plane
____worker node
__Kubernetes API server object
____ford
____ReplicaSet
____deployment
____service
____namespace
____Labels and Selectors
____annotation
____Ingress Controller
____stateful set
____Demonset
____job
Observe, operate, and manage Kubernetes clusters with __kubectl
____General cluster information and commands
____Ford Management
____Kubernetes in Production
__summation

Chapter 5.
Creating a Kubernetes cluster in Azure

__Creating a Kubernetes cluster from scratch
Create a ____resource group
____Create machine images of workers and controllers
Create a ____storage account
____Creating an Azure Virtual Network
____Create a public IP for the load balancer
____Create worker instance and controller instance
____Deployment and configuration of Kubernetes controller nodes with Ansible
____Deploying and configuring Kubernetes worker nodes with Ansible
____Pod Network and Routing Settings
____Create a kubeconfig file for remote access and cluster verification
__Azure Kubernetes Service
__Deploying Applications and Services with Helm: Kubernetes' Package Manager
____Helm Basics
____Helm Installation and Management
____Helm Release Management
____Create a chart from the application
__summation

Chapter 6.
Observability: Following the Bradscrum

__Introduction to Observability
____Observability: Three or more key elements
____Observability: A Superset of Monitoring
____Observability-Based Development
__Prometheus Monitoring Metrics in a Cloud-Native World
____Prometheus Components and Architecture
____Installing and Configuring Prometheus
____node_exporter
____Application Instrumentation
____Find a host
____Prometheus in Kubernetes
__Logging in a Cloud Native World
____Logging with Fluentd
____Fluentd on Kubernetes
Distributed Tracing in a Cloud-Native World
____Tracking: Key Concepts
____General tracking system architecture and tracking combinations
____Tracking Standards, Tools, and Code Instrumentation
__Azure Monitor
__summation

Chapter 7.
Service Discovery and Service Mesh: Crossing Boundaries to Discover New Areas

__Service Discovery
____Introducing CoreDNS
____Installing and Configuring CoreDNS
____CoreDNS and Kubernetes Service Discovery
____Azure DNS
__Service Mesh
____Introducing Istio
____Installing Istio on Azure Kubernetes Service
____Sidecar Proxy (Envoy Proxy) Automation
____Managing Istio Service Mesh with Kiali
__summation

Chapter 8.
Network and Policy Management: Observing the Gatekeepers

__Container Network Interface (CNI)
Why use ____CNI
____How CNI Works in Azure
____Various CNI projects
__muslin
____Why use Calico
____Basic Architecture
____Calico Distribution
____A closer look at Calico
____Implementing Calico Security Policy
__silium
____silium distribution
____Integrate Silium into the Cloud
____Host Firewall
__Flannel
____Flannel distribution
____A closer look at flannel
__Azure Policy
____Getting Started with Azure Policy Quickly
____Creating an Azure Policy
____Kubernetes and Azure Policy
__Open Policy Agent
____Deploying OPA on Kubernetes
Deploying policies using ____OPA
__summation

Chapter 9.
Distributed Databases and Storage: Central Banks

The Need for Distributed Databases in Cloud-Native Architectures
____Azure storage and database options
Introducing Vitess: Distributed Sharding for MySQL
____Why use Vitess?
____Vitess Architecture
____Deploying Vitess on Kubernetes
Introducing __Rook: A Storage Orchestrator for Kubernetes
____Rook Architecture
____Deploying Rook on Kubernetes
__Introducing TiKV
____Why use TiKV?
____TiKV architecture
____Deploying TiKV on Kubernetes
Learn more about __etcd
____Hardware Platform
____Autoscaling and automatic rebalancing
____Availability and Security
__summation

Chapter 10.
message

__The need for messaging
__Sample Messaging Use Case: Log Ingestion and Analysis
____1st generation: no queue
____Generation 2: Cloud Queues and Object Storage
____Generation 3: Memory-based publish/subscribe queues
__The basics of messaging platforms
____Messaging vs. Streaming
__Messaging Basics
____Producers and Consumers
____Broker and Clustering
____Ruggedness and durability
____Message delivery
____security
__Common messaging patterns
____Simple Queue
____Post and Subscribe
____Solid cue
__Overview of representative cloud-native messaging platforms
____RabbitMQ
____Apache Kafka
____CNCF CloudEvents
__A Deep Dive into Cloud Messaging with NATS
____NATS Protocol Architecture
____JetStream and NATS Persistence
____NATS Security
____Deploying NATS on Kubernetes
__Azure Messaging Service
____Azure Service Bus
____Azure Event Hubs
____Azure Event Grid
__summation

Chapter 11.
Serverless

__Introduction to Serverless Computing
____What is serverless?
____What is a serverless function?
____Check out Serverless
____Advantages of Serverless
Potential Downsides of Serverless
__Azure Function App
____Function App Architecture
Create 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 an OpenFaaS Function
__summation

Chapter 12.
conclusion

__What's next?

Publisher's Review
What this book covers

- Why should you switch to cloud native?
- How to use infrastructure as code
- What you need to containerize your application
- Why and How Kubernetes is the "Great Orchestrator"
- How to create a Kubernetes cluster in Azure
How Observability Complements Monitoring
- How to discover new areas using service discovery and service mesh
How Networking and Policy Management Act as Gatekeepers
- How distributed databases and storage work

Target audience for this book

A brief yet comprehensive introduction to cloud-native environments and all the key technologies engineers use to reliably build them.
This book is intended for Site Reliability Engineers (SREs), Site Reliability Engineers, DevOps Engineers, Solution Architects, Azure enthusiasts, and anyone involved in building, migrating, deploying, and managing cloud-native workloads on a daily basis.
This book assumes the reader has a general, basic understanding of cloud and DevOps culture.
However, it's also a good place to start for anyone who wants to better understand cloud native and other advanced technologies.

Structure of this book

This book is structured as follows:

Chapter 1, "Introduction: Why Cloud Native?", provides a basic introduction to the cloud and the need for cloud-native technologies and applications. Chapter 2, "Infrastructure as Code: Setting Up a Gateway," covers the fundamentals of IaC Infrastructure as Code (IaC) with Terraform and Packer, and introduces Azure and Ansible as provisioning/configuration managers.
Chapter 3, "Application Containerization: Beyond the Box," introduces containers and container runtimes such as containerd, Docker, and CRI-O.
We also discuss different types of container registries.
Chapter 4, "Kubernetes: The Grand Orchestrator," explains Kubernetes and provides the necessary details of the infrastructure you'll use in Chapter 5.
Chapter 5, "Creating a Kubernetes Cluster in Azure," covers Azure Kubernetes Service and the Helm package manager in particular.
Chapter 6, "Observability: Following BradScrum," focuses on how to make modern cloud-native infrastructure observable.
Chapter 7, "Service Discovery and Service Mesh: Crossing Boundaries to Discover New Frontiers," discusses service discovery and service mesh.
We also introduce the CoreDNS DNS server and the Istio service mesh.
Chapter 8, "Network and Policy Management: Watching the Gatekeepers," covers networking interfaces like Calico, Flannel, and Cilium, as well as policy management with Azure Policy and Open Policy Agent.
Chapter 9, "Distributed Databases and Storage: Central Banks," explains how to deploy persistent storage systems on cloud-native infrastructure, focusing on Azure Storage, Vitess, Rook, and TiKV.
Chapter 10, "Messages," focuses primarily on messaging and streaming platforms such as NATS and Azure Messaging Service.
Chapter 11, "Serverless," provides a brief introduction to serverless in the cloud-native landscape.
Chapter 12, "Conclusion," summarizes everything discussed in the preceding chapters.

Author's Note

Cloud computing has been widely adopted as a model for next-generation digital business innovation, driving growth and innovation.
Today's customers want an ecosystem that is fast and integrates seamlessly with existing services.
From an enterprise perspective, the cloud provides services to consumers and businesses in a scalable, reliable, and highly available manner.
And from an end-user perspective, the cloud provides a simple model for obtaining computing services without having to fully understand the underlying infrastructure and technologies.

Many existing applications have transitioned to cloud-native applications to take full advantage of the speed and agility of cloud services, and new solutions are being built “cloud first.”
Cloud-native applications are built from the ground up to accommodate rapid change, scale, and resilience.
Fundamentally, cloud-native application infrastructure plays a critical role in efficiently delivering business requirements.
Even the best cloud-native applications will fail in production if the underlying infrastructure isn't designed properly.
This book explores how to build and manage modern cloud-native infrastructure on Azure in a production environment, based on the diverse requirements and design considerations of cloud-native applications.

Translator's Note

ChatGPT and Open AI are hot topics in the IT industry these days.
Some call it an IT revolution, others call it an industrial revolution.
The company at the forefront of this debate is none other than Microsoft.
Watching this giant company drive change in the IT market, it's as nimble and agile as a startup.
Azure is the foundation for Microsoft's transformation. The three giants of the IT industry, particularly the cloud industry, are fiercely competing in the market, and given Microsoft's recent actions, it seems likely that they will take the top spot.

According to the "Cloud Service Sector Survey" published by the Fair Trade Commission in 2022, AWS holds the largest cloud market share in Korea, followed by Azure.
However, Microsoft will not be unfamiliar to most IT professionals or users, as it provides familiar services such as Microsoft 365, GitHub, and Visual Studio.
In recent years, a growing number of businesses have been leveraging these tools and integrating them with Microsoft Azure.
The customers I met confessed that while there are differences in the level of service, there is no difference in the level of service.

I see three main characteristics of Azure (of course, I want to make it clear that these are my personal opinions).
First, Azure's services focus on service integration through PaaS and SaaS.
Microsoft has been developing and supplying its products for decades, and these products are so diverse that there is nothing that is not there, from the development tools used by developers to the databases that handle large-scale data in enterprises.
We are actively reflecting this development know-how in Azure.
In particular, the integration of services with our own products is beyond compare.
A representative example is Active.
It is a link integration with Directory and Azure Active Directory.


Second, Azure offers cost advantages to customers who already use Microsoft products.
Customers using Windows Server and SQL Server can save up to 85% compared to third-party providers through Azure Hybrid Benefit.
This hybrid benefit is applicable to Linux VMs using RHEL (Red Hat Enterprise Linux) and SLES (SUSE Linux Enterprise Server) and can save up to 76%.

Third, it is the diversity of services through expansion of the IT ecosystem.
Microsoft Azure integrates a large open source ecosystem into its Azure services, including traditional IT powerhouses like Red Hat, VMWare, and Oracle.
As mentioned above, in addition to cost, Azure's native services are equipped with powerful products in each market.
This is very advantageous in terms of cost and service maintenance.
In particular, services like Azure Spring Apps enable Spring Boot applications to run directly on Azure, while enterprise services like VMWare Tanzu are available through marketplaces.

From this perspective, Azure is a must-know for anyone involved in the cloud.
However, it is currently difficult to find books related to Azure in Korea.
Books written specifically focusing on infrastructure are even rarer.
In that respect, this book is valuable.
As mentioned in the introduction, to fully leverage the benefits of the cloud, not only applications but also infrastructure must be built natively.
This book covers most of what it takes to do that, and it goes into great detail about how to build it with Azure and how to leverage other computing solutions.

However, it is unfortunate that the cloud market is changing rapidly and does not contain the most up-to-date information.
As I mentioned in the translator's note, there are some parts that need to be revised during actual practice.
Nonetheless, this book is excellent for readers who are familiar with cloud concepts but want to build a cloud-native infrastructure based on Azure.
Even if not Azure-based, the other cloud solutions and approaches presented in this book may be helpful to cloud infrastructure managers.
-Yang Jun-ki

You've probably heard the term "cloud native" a lot lately.
Many companies are transitioning to the cloud, but simply changing the environment doesn't guarantee all the benefits of the cloud.
Therefore, to maximize the benefits of the cloud, such as scalability and flexibility, it is becoming increasingly important to have an environment that is literally born in the cloud and well-suited for the cloud.
So what constitutes a cloud-friendly environment? The Cloud Native Computing Foundation (CNCF) defines cloud native as "enabling organizations to build and run scalable applications in modern, dynamic environments."
Examples include containers, service meshes, microservices, and immutable infrastructure.
This book provides the knowledge needed to build and deploy cloud-native applications following CNCF guidelines.
You'll learn how to take full advantage of cloud-native features from the design stage, from deploying Kubernetes clusters on Azure to managing and observing deployments.
We also guide you through how to use and maintain it, including hands-on exercises for deploying resources via Terraform code.

As we translated, we focused on making it easy for readers to read and convey the content well.
Despite these efforts, some technical terms may be awkward to explain.
Rather than delving into the specifics of each term, I hope readers will understand the basic concepts and broad outlines of what technologies are actually required to deploy and manage cloud-native applications on Azure.
Also, even if readers cannot follow the exercises themselves, I think half of the book's goals have been achieved if they can just follow the overall flow and structure of the exercises by visually observing the commands in code.
-Choi Ji-hee
GOODS SPECIFICS
- Date of issue: April 28, 2023
- Page count, weight, size: 412 pages | 188*235*30mm
- ISBN13: 9791161757520
- ISBN10: 116175752X

You may also like

카테고리