Grundlegendes zu Azure Arc

Eine der interessanteren Ankündigungen auf der Ignite-Konferenz 2019 von Microsoft war Azure Arc, ein neues Verwaltungstool für Hybrid-Cloud-Anwendungsinfrastrukturen. Arc baut auf Azure-Konzepten auf und ermöglicht Ihnen die Verwaltung lokaler Ressourcen über das Azure-Portal sowie die Bereitstellung von Richtlinien und Diensten für virtuelle Maschinen und Kubernetes. Es enthält auch containerisierte Versionen der SQL-Datenbank von Azure und von PostgreSQL Hyperscale, um Ihren Kubernetes-basierten Hybridanwendungen Azure-konsistente Datenoptionen zu bieten.

Azure Arc erweitert das Azure Resource Manager-Modell auf Server und Kubernetes-Cluster. Es wurde entwickelt, um Ressourcen überall in der Cloud zu verwalten und die Ressourcen-Tools von Azure als Ihre Steuerungsebene zu behandeln. Damit liegt es auf einem viel höheren Niveau als die meisten Management-Tools. Wenn Sie es beispielsweise mit virtuellen Maschinen verwenden, die in einem Windows Server-Netzwerk ausgeführt werden, verwalten Sie die VMs mit Hyper-V-Verwaltungstools sowie die Serverkonfiguration und -anwendungen, die mit Azure Arc ausgeführt werden.

Verwenden von Azure Arc mit Servern

"Wo immer sie sind" ist ein Schlüsselprinzip hinter Azure Arc. Mit seinem Fokus auf Anwendungsmanagement ist es infrastrukturunabhängig. Die von ihm verwalteten VMs können in Ihrem Rechenzentrum, in einer Hosting-Einrichtung oder als virtuelle Server in einer verwalteten, gemeinsam genutzten Umgebung ausgeführt werden.

Die Serververwaltung mit Azure Arc ist jetzt in der öffentlichen Vorschau verfügbar. Ein Agent für verbundene Computer für Windows und Linux übernimmt die Verbindung zum Azure Arc-Dienst. Sobald die Verbindung zur Cloud hergestellt ist, können Sie sie so verwalten, als wäre sie eine Azure-Ressource, die Teil einer Ressourcengruppe ist. Auf diese Weise können Sie PowerShell-basierte Richtlinien auf verbundenen Servern bereitstellen und dabei die Arbeit nutzen, die für die Just-in-Time-Verwaltung und die gewünschte Statuskonfiguration geleistet wurde. Verwaltete Server benötigen eine Verbindung zu Azure Arc über SSL.

Von Azure Arc verwaltete Server müssen keine physischen Server sein. Sie können virtuelle Maschinen sein. Auf diese Weise können Sie den Agenten vor der Bereitstellung in VM-Basisimages vorladen. Im Rahmen der Einrichtung des Dienstes generiert Azure Arc ein benutzerdefiniertes Skript, das auf nicht verbundenen Servern ausgeführt wird. Dabei wird der Agent heruntergeladen und installiert, bevor eine Verbindung zu Azure hergestellt und der Server als Ressource hinzugefügt wird.

Verwalten von Kubernetes-Anwendungen in Azure Arc

Microsoft hat die Kubernetes-Unterstützung von Azure Arc noch nicht in der öffentlichen Vorschau verfügbar gemacht. Es ist weiterhin auf die Vorschau des privaten Zugriffs des Dienstes beschränkt. Gabe Monroy, Produktdirektor für die Azure Application Platform, demonstrierte dies jedoch kurz bei Ignite.

Bei Verwendung des Azure-Portals zeigte Monroy zunächst einen laufenden Kubernetes-Cluster an, der mithilfe von Azure ARM-basierten Richtlinien verwaltet wurde. Die ursprüngliche Richtlinie, die er verwendete, kontrollierte die vom Cluster verwendeten Netzwerkports und sperrte nicht benötigte Ports, um die Angriffsfläche des Clusters zu verringern. Dieselbe Richtlinie kann verwendet werden, um alle Cluster in der globalen Infrastruktur eines Unternehmens zu verwalten. Durch einmaliges Schreiben und mehrmaliges Verwenden von Richtlinien wird das Fehlerrisiko auf ein Minimum reduziert. Wenn Sie alle Ihre Richtlinien im Voraus testen, können Sie sicher sein, dass sie bei globaler Bereitstellung funktionieren.

Der andere Vorteil eines richtlinienbasierten Ansatzes besteht darin, dass Sie Cluster sperren können, wenn sie nicht kompatibel sind. Bis ein Cluster meldet, dass er mit all Ihren Richtlinien kompatibel ist, kann Ihr Anwendungsentwicklungsteam keinen Code bereitstellen. Mit dem Azure Arc-Agenten, der auf allen Kubernetes-Clustern in Ihrem Netzwerk bereitgestellt wird, haben Sie eine Glasscheibe, um alle Richtlinien und alle Bereitstellungen zu verwalten.

Es ist wichtig zu beachten, dass Sie die physischen Server und die Kubernetes-Installation nicht direkt verwalten können. Das Azure Portal bietet Ihnen lediglich die Richtlinien und den Code, die auf dem Cluster ausgeführt werden. Sie können Richtlinien verwenden, um das Verhalten eines Clusters zu definieren. Sie können jedoch keine neuen Knoten bereitstellen, es sei denn, die Kubernetes-Laufzeit und der Azure Arc-Agent sind installiert. Sobald ein neuer Cluster bereitgestellt und mit Azure Arc verbunden wird, werden Richtlinien automatisch angewendet, um sicherzustellen, dass Ihre Sicherheitsrichtlinien vorhanden sind, ohne alles manuell zu konfigurieren.

Ein interessanter Aspekt der Demonstration war eine Richtlinie, die Azure Arc mit GitHub verband, entweder auf Kubernetes-Namespaces oder -Cluster abzielte und Bereitstellungen aus einem bestimmten Repository abwickelte. Bei Verwendung dieser Richtlinie würde jede Pull-Anforderung an das Repository die Bereitstellung einer aktualisierten Anwendung auslösen. Dieselbe Richtlinie kann verwendet werden, um Ihren Code in einen neuen Cluster zu laden, sobald dieser konfiguriert wurde. Jedes zukünftige Update des Codes wird automatisch bereitgestellt, sodass auf allen Ihren Websites die neuesten Versionen ausgeführt werden.

Es ist leicht vorstellbar, dass ein neuer Satz von Servern, auf denen Kubernetes und der Azure Arc-Agent vorinstalliert sind, an eine neue Edge-Site geliefert wird. Sobald sie mit einem WAN verbunden und eingeschaltet waren, luden sie automatisch die neuesten Richtlinien. Sobald sie die Anforderungen erfüllten, luden sie ihre Anwendungen herunter und begannen mit minimaler menschlicher Interaktion zu arbeiten.

Einführung eines neuen Cloud-zentrierten App-First-Management-Modells

Es ist vielleicht am besten, sich Azure Arc als das erste einer neuen Generation richtliniengesteuerter Anwendungsverwaltungstools vorzustellen, insbesondere wenn es zur Automatisierung von Anwendungsbereitstellungen in einem globalen Netzwerk verwendet wird. Die Integration in Ihren Gitops-Flow ist sinnvoll. Verwenden Sie Arc, um Anwendungsbereitstellungen auszulösen, wenn eine Pull-Anforderung zusammengeführt wird, und stellen Sie sicher, dass die entsprechenden Sicherheitsrichtlinien auf den Host-Kubernetes-Cluster oder die virtuellen Maschinen angewendet werden.

Microsoft ist der Ansicht, dass lokale Systeme nicht verschwinden, und mit der wachsenden Bedeutung von Edge-Bereitstellungen wird die Definition von lokalen Systemen nur noch zunehmen. Das bedeutet nicht, dass diese lokalen Systeme dies nicht tun sollten Profitieren Sie nicht von Cloud-Technologien und Cloud-informierten Arbeitsweisen. Azure Arc konzentriert sich auf die Automatisierung der Infrastruktur für eine Anwendung und verwendet Richtlinien, um die Einhaltung der Sicherheitsbestimmungen sicherzustellen.

Wenn Sie darüber nachdenken, ist dies eine logische Erweiterung von Devops und Teil der Umstellung auf eine dritte Verwaltungsebene in einer Cloud-Umgebung. Azure Arc konzentriert sich auf virtuelle Anwendungsinfrastrukturen, egal ob VM- oder Container-basierte Infrastrukturen, und trennt Anwendungsvorgänge von Infrastrukturvorgängen.

In einer Hybrid-Cloud-Umgebung muss das Anwendungsteam nichts über die zugrunde liegende physische Infrastruktur wissen. Stattdessen ist ein separates Team für die Installation von physischen Servern, Host-Betriebssystemen, Hypervisoren und Kubernetes verantwortlich. Tools wie Azure Arc werden vom Anwendungsteam verwendet, um ihre Anwendungen am Rande, in hyperkonvergenten Systemen, in herkömmlichen Rechenzentren und in zu verwalten die Cloud, alle von derselben Cloud-gehosteten Konsole.

Wir haben die Art und Weise geändert, wie wir die Infrastruktur mit Containern und Virtualisierung betreiben und wie wir Anwendungen mit Devops erstellen und verwalten. Warum nicht Tools bereitstellen, um die beiden Ansätze zusammenzuführen? Mit Azure Arc erhält die Operations-Seite der Devops-Gleichung eine Plattform zum Trennen von Anwendungen von der Infrastruktur, mit der Möglichkeit, diese Anwendungen von einer neuen, in der Cloud gehosteten Steuerebene aus zu verwalten und zu steuern. Es ist eine attraktive Vision, und es wird interessant sein zu sehen, wie Microsoft sie liefert.