In this article, we will take a look at the Azure Arc Service. First, we will talk about what Azure Arc is, and then take a deeper look at the services the Azure Arc offers us and have a little demo of how to use it.
Azure Arc is a service that facilitates management by collecting your dispersed environments under one single roof. With Azure Arc, you will be able to manage not only your resources included in Azure but also multi-cloud, on-premises and edge environments and utilize the opportunities Azure grants.
You can manage your cloud, on-prem and edge resource through one point; and bring the Windows & Linux servers that are growing with your needs, and Kubernetes clusters under control.
You can manage your Kubernetes apps with Github and Azure Policy, and make sure that they are scaled stably.
You can utilize many services and innovation Azure offers and ensure the security of your data and applications.
Azure can manage your machines on-prem or on hybrid cloud with Connected Machine Agent, offer you statistics, or apply Azure Policy.
Once Azure finds out these resources, it can optimize your cluster structure and manage your automatic scaling actions when needed.
Azure provides one interface only for you to manage your resources in different environments. You can execute all the actions and manage all your structure through the Azure Portal that you are familiar with.
In addition, you can ensure the security of your different environments with Azure Security Center and take precautions against threatening factors. And you don’t have to be online all the time for these. You can keep using all these opportunities -including provisioning, flexible scaling, backup and monitoring- with the Local Azure Arc data administrator.
There are 3 types of resources that you can manage with Azure Arc in your environments outside Azure:
With Azure Arc, you can benefit from the ease of management provided by Azure, services such as monitoring and upgrade, and security tools, and use Azure Portal, Azure CLI or Azure Powershell for all these operations while managing your non-Azure environments such as on-premise.
With this service, you can include your physical and virtual servers that you use in environments other than Azure, in Azure. When you include a server in Azure, a Resource ID is assigned by Azure and treated as any Resource under a Resource Group included in your subscription. This type of machine is called a Connected Machine. You can now apply Azure Policy or “Tag” to your connected servers.
Connected Machine Agent must be installed on your server for this. The actions supported by this agent are:
With Azure Arc, you can add your Kubernetes clusters to Azure. When you do this, your cluster is given a Resource Manager ID by Azure and you can see it in the Azure Portal. Now you can manage your cluster like your other resources and apply some tags to them.
To include your cluster in Azure, you must install the agents of Azure Arc again. The task of these agents is to provide Azure connection, collect logs and metrics, and follow configuration requests.
The Azure Arc team has tested and validated the following Kubernetes deployments:
Apart from these, Azure Arc enabled Kubernetes also supports all other Kubernetes clusters such as Cloud Native Computing Foundation (CNCF) certified VMware vSphere cluster or Google Kubernetes Engine (GKE).
With Azure Arc enabled Kubernetes service, you have the following possibilities:
By connecting your non-Azure clusters, you can execute actions like inventory, grouping and labeling.
Thanks to Azure Arc, you can place your Azure Data services in non-Azure environments such as on-premise with a Kubernetes infrastructure of your choice and take advantage of many Azure possibilities such as flexible scaling of these services. You can also benefit from this service in your offline environments thanks to Azure Arc Data Controller.
Among the Azure Data services, Azure SQL Managed Instance and Azure Database for PostgreSQL Hyperscale are currently available for use, while others are also in progress.
NOTE: All of these services are still under development and are available for preview.
Let’s take a look at what we can do step by step by including a local server in Azure. For this, we need to install the Connected Machine Agent on the machine that we will include in Azure.
There are several ways to do this as well: We can create a script for installation from the Azure Portal and wait for the steps to be completed by running this script on our server, or we can define a Service Principal in Azure Active Directory and connect a large number of machines to Azure in bulk, or we can use the Powershell DSC module for a batch number of operations.
Now, all you need to do is to connect to the server and run this script. But, keep in mind that you have to have admin authority to execute these actions.
Now, let’s include a linux server in Azure as an example. Let’s apply the script we have created in Azure Portal step by step. First, download the install package:
As you can see, the install script has detected the operating system on its own: CentOS 8. And then in found and installed the package from the package repository of Microsoft.
Now, it is time to connect our machine to Azure:
And that’s it! All actions are complete. Now let’s open Azure Portal and check our machine:
As you might’ve noticed, now we can see our machine on the “Machines-Azure Arc” page. And on the right there are information we have entered to create the installation script.
Now, let’s check our resources:
Now this machine is no different than any virtual machine we will create on Azure and we can manage it as we want.
When we open the Overview page of our machine, we can access all information about it, and apply the operations we apply to other resources we have created on Azure from the menu on the left.