Book Image

Implementing Hybrid Cloud with Azure Arc

By : Amit Malik, Daman Kaur
Book Image

Implementing Hybrid Cloud with Azure Arc

By: Amit Malik, Daman Kaur

Overview of this book

With all the options available for deploying infrastructure on multi-cloud platforms and on-premises comes the complexity of managing it, which is adeptly handled by Azure Arc. This book will show you how you can manage environments across platforms without having to migrate workloads from on-premises or multi-cloud to Azure every time. Implementing Hybrid Cloud with Azure Arc starts with an introduction to Azure Arc and hybrid cloud computing, covering use cases and various supported topologies. You'll learn to set up Windows and Linux servers as Arc-enabled machines and get to grips with deploying applications on Kubernetes clusters with Azure Arc and GitOps. The book then demonstrates how to onboard an on-premises SQL Server infrastructure as an Arc-enabled SQL Server and deploy and manage a hyperscale PostgreSQL infrastructure on-premises through Azure Arc. Along with deployment, the book also covers security, backup, migration, and data distribution aspects. Finally, it shows you how to deploy and manage Azure's data services on your own private cloud and explore multi-cloud solutions with Azure Arc. By the end of this book, you'll have a firm understanding of Azure Arc and how it interacts with various cutting-edge technologies such as Kubernetes and PaaS data services.
Table of Contents (12 chapters)
1
Section 1: Azure Arc Enabled Infrastructure
6
Section 2: Azure Arc Enabled Data Services
9
Section 3: Azure Arc Enabled Multi-Cloud Governance

Understanding Azure Arc

Now that we know what Azure Arc is and how it helps organizations bring agility to their hybrid cloud operations and governance, let's understand the technology behind it and how Microsoft is extending its non-Azure environment.

Azure Resource Manager

ARM is the backbone of the Azure public cloud platform. All requests to Azure are received by ARM and then passed on to the backend control plane of various services. In simple words, ARM handles the deployment and management portion of your Azure environment.

There are various resource providers in Azure, such as Microsoft.Compute and Microsoft.Network. Each resource provider offers certain services and ARM is the way you interact with the resource providers. The Microsoft.Compute resource provider is responsible for resources such as VMs, VM scale sets, disks, and availability sets.

You can view the list of resource providers available in your subscription by using the following instructions. Let's take a look:

  1. Navigate to the Azure portal (https://portal.azure.com).
  2. Log in with your preferred Azure account.
  3. In the search bar, search for Subscriptions, as seen in the following screenshot:
    Figure 1.3 – Azure search bar

    Figure 1.3 – Azure search bar

  4. Select any of your existing subscriptions and look for Resource providers on the left-hand side:

Figure 1.4 – Resource providers in Azure

You can see all the resource providers here; some may not be registered for your subscription. In order to use services by the resource providers, you must register them first. Typically, ARM handles this for you for common resource providers by default.

ARM, along with resource providers, builds what's called the control plane of Azure.

The Azure control plane beyond Azure – Azure Arc

Azure Arc extends the Azure control plane to non-Azure environments. Essentially, you leverage the same ARM and resource provider technologies to manage your non-Azure environment.

Azure Arc introduces new resource providers for managing non-Azure environments. At the time of writing this book, this includes Microsoft.HybridCompute and Microsoft.AzureArcData along with Microsoft.GuestConfiguration, which is responsible for providing Azure policy services across both Azure and non-Azure environments.

Exploring Azure Arc services

Azure Arc is a group of services offered to enable hybrid cloud functionality across various technologies, including computers and data. Let's dive into each service and see what they offer.

Azure Arc-enabled servers

Azure Arc-enabled servers allow you to manage and govern your Windows and Linux servers running outside Azure. You can onboard your servers running on physical servers or as VMs on your network or other public cloud platforms, to Azure. Once a server is onboarded, it is treated as a first-class citizen in Azure; that is, you will see a dedicated Azure resource for each onboarded server.

In Azure Arc terminology, each onboarded server is called a connected machine. Each connected machine has its own Azure resource ID and can be managed through the Azure portal, CLI, APIs, PowerShell, or any supported SDK and third-party automation products.

Azure Arc-enabled servers are generally available, that is, they can be used in production.

Supported scenarios

At the time of writing this book, you can perform management and governance for Arc-enabled servers limited to the following scenarios. This list will continue expanding, so be sure to check the Azure Arc-enabled server's documentation (https://docs.microsoft.com/en-in/azure/azure-arc/servers/) to stay updated on supported scenarios.

The scenarios are as follows:

We will be discussing Azure Arc-enabled servers in detail in future chapters.

Azure Arc-enabled Kubernetes

Azure Arc-enabled Kubernetes allows you to manage and perform consistent deployment on Kubernetes clusters running outside Azure, the same way you do for Azure's native Kubernetes offering, that is, Azure Kubernetes Service.

At the time of writing, Azure Arc-enabled Kubernetes is in preview. It is not recommended to use preview services in production.

Supported scenarios

Let's look at what you can do with your Kubernetes clusters once they're in Azure. This list will continue expanding, so be sure to check the Azure Arc-enabled Kubernetes documentation (https://docs.microsoft.com/en-us/azure/azure-arc/kubernetes/overview) to stay updated on supported scenarios:

Azure Arc-enabled data services

Azure Arc-enabled data services let you run Azure's cloud database runtime in your environment. You will need to have a supported Kubernetes cluster to deploy these services.

At the time of writing of this book, you can deploy the following data services to a supported Kubernetes cluster running anywhere:

Supported scenarios

Let's take a look at some of the supported scenarios with Azure Arc-enabled data services. This list will continue expanding, so be sure to check the Azure Arc-enabled data services documentation (https://docs.microsoft.com/en-us/azure/azure-arc/data/overview) to stay updated on supported scenarios:

  • Run PostgreSQL Hyperscale or Managed Instance databases in a non-Azure environment. It includes the features and capabilities supported by these cloud databases.
  • Backup and recovery.
  • Scale up and down dynamically.
  • Two connectivity modes (directly connected and indirectly connected).
  • Security and governance through your familiar Azure tools.
  • Support for Azure Data Studio.
  • Monitor with Azure Monitor.

We will be discussing the supported scenarios and limitations in the respective chapters.

Important note

The feature set of Azure Arc-enabled data services and their respective cloud database service isn't identical. Please refer to the Microsoft documentation (https://docs.microsoft.com/en-in/azure/azure-arc/) to learn more about limitations and so on.

At the time of writing, Azure Arc-enabled data services are in preview. It is not recommended to use preview services in production.

Azure Arc-enabled SQL Server

Azure Arc-enabled SQL Server lets you manage the SQL servers deployed outside Azure. Azure SQL databases have strong data protection capabilities through their advanced data security services. With Azure Arc-enabled SQL Server, you can leverage the same security capabilities for your SQL servers running outside Azure.

Azure Arc-enabled SQL Server is part of the Azure Arc-enabled servers. This service is still in preview. It is not recommended to use preview services in production. Supported scenarios

Let's look at some of the supported scenarios with Azure Arc-enabled SQL Server. This list will continue expanding, so be sure to check Azure Arc-enabled SQL Server documentation (https://docs.microsoft.com/en-us/sql/sql-server/azure-arc/overview) to stay updated on supported scenarios:

As at this stage we have formed a good foundational understanding of all the offerings under the umbrella of Azure Arc and the supported scenarios, we will now move ahead and get in the real game of creating our own lab environment, on top of which we will be hosting our entire solution.