Azure Arc 이해

Microsoft의 2019 Ignite 컨퍼런스에서 가장 흥미로운 발표 중 하나는 하이브리드 클라우드 애플리케이션 인프라를위한 새로운 관리 도구 인 Azure Arc입니다. Azure 개념을 기반으로 구축 된 Arc는 Azure Portal에서 온-프레미스 리소스를 관리하고 가상 머신 및 Kubernetes에 정책 및 서비스를 배포 할 수 있도록 설계되었습니다. 또한 컨테이너화 된 버전의 Azure SQL Database 및 PostgreSQL Hyperscale을 포함하여 Kubernetes 기반 하이브리드 애플리케이션에 Azure 일관된 데이터 옵션을 제공합니다.

Azure Arc는 Azure Resource Manager 모델을 서버 및 Kubernetes 클러스터로 확장합니다. 리소스가 어디에 있든 클라우드와 같은 방식으로 리소스를 관리하도록 설계되어 Azure의 리소스 도구를 제어 영역으로 취급합니다. 이는 대부분의 관리 도구보다 훨씬 높은 수준에 있습니다. 예를 들어 Windows Server 네트워크에서 실행되는 가상 머신과 함께 사용하는 경우 Hyper-V 관리 도구를 사용하여 VM을 관리하고 Azure Arc를 사용하여 실행되는 서버 구성 및 애플리케이션을 관리합니다.

서버와 함께 Azure Arc 사용

"어디에 있든"은 Azure Arc의 핵심 원칙입니다. 애플리케이션 관리에 중점을두기 때문에 인프라에 구애받지 않습니다. 관리하는 VM은 데이터 센터, 호스팅 시설 또는 관리되는 공유 환경의 가상 서버에서 실행될 수 있습니다.

Azure Arc를 사용한 서버 관리는 이제 Windows 및 Linux 용 연결된 컴퓨터 에이전트가 Azure Arc 서비스에 대한 연결을 처리하는 공개 미리보기로 제공됩니다. 클라우드에 연결되면 리소스 그룹의 일부인 Azure 리소스 인 것처럼 관리를 시작할 수 있습니다. 이를 통해 Just-In-Time 관리 및 원하는 상태 구성을 제공하기 위해 수행 된 작업을 활용하여 연결된 서버에 PowerShell 기반 정책을 배포 할 수 있습니다. 관리되는 서버는 SSL을 통해 Azure Arc에 연결해야합니다.

Azure Arc에서 관리하는 서버는 물리적 서버 일 필요가 없습니다. 가상 머신이 될 수 있습니다. 이를 통해 에이전트를 배포하기 전에 VM 기본 이미지에 미리로드 할 수 있습니다. 서비스 설정의 일부로 Azure Arc는 Azure에 연결하고 서버를 리소스로 추가하기 전에 연결되지 않은 서버에서 실행되고 에이전트를 다운로드 및 설치하는 사용자 지정 스크립트를 생성합니다.

Azure Arc에서 Kubernetes 애플리케이션 관리

Microsoft는 아직 공개 미리보기에서 Azure Arc의 Kubernetes 지원을 제공하지 않았습니다. 여전히 서비스의 비공개 액세스 미리보기로 제한됩니다. 그러나 Azure Application Platform의 제품 책임자 인 Gabe Monroy는 Ignite에서 간단한 데모를 제공했습니다.

Monroy는 Azure Portal을 사용하여 먼저 Azure ARM 기반 정책을 사용하여 관리되는 실행중인 Kubernetes 클러스터를 보여주었습니다. 그가 사용한 초기 정책은 클러스터에서 사용하는 네트워크 포트를 제어하여 클러스터의 공격 표면을 줄이기 위해 불필요한 포트를 잠급니다. 동일한 정책을 사용하여 회사의 글로벌 인프라에있는 모든 클러스터를 관리 할 수 ​​있습니다. 정책을 한 번 작성하고 이와 같이 여러 번 사용하면 오류 위험을 최소화 할 수 있습니다. 모든 정책을 사전에 테스트하여 전 세계에 배포 할 때 제대로 작동하는지 확인할 수 있습니다.

정책 기반 접근 방식의 또 다른 장점은 규정을 준수하지 않는 경우 클러스터를 잠글 수 있다는 것입니다. 클러스터가 모든 정책을 준수한다고보고 할 때까지 애플리케이션 개발 팀은 코드를 배포 할 수 없습니다. 네트워크의 모든 Kubernetes 클러스터에 배포 된 Azure Arc 에이전트를 사용하면 모든 정책과 모든 배포를 관리 할 수있는 하나의 창을 갖게됩니다.

물리적 서버와 Kubernetes 설치를 직접 관리 할 방법이 없다는 점에 유의해야합니다. 모든 Azure Portal은 클러스터에서 실행되는 정책과 코드를 제공합니다. 정책을 사용하여 클러스터 작동 방식을 정의 할 수 있지만 Kubernetes 런타임 및 Azure Arc 에이전트가 설치되어 있지 않으면 새 노드를 배포 할 수 없습니다. 새 클러스터가 배포되고 Azure Arc에 연결되는 즉시 정책이 자동으로 적용되어 모든 항목을 수동으로 구성하지 않고도 보안 정책이 적용됩니다.

데모의 흥미로운 측면 중 하나는 Azure Arc를 GitHub에 연결하여 Kubernetes 네임 스페이스 또는 클러스터를 대상으로하고 특정 리포지토리의 배포를 처리하는 정책이었습니다. 이 정책을 사용하면 리포지토리에 대한 모든 풀 요청이 업데이트 된 애플리케이션의 배포를 트리거합니다. 구성 즉시 동일한 정책을 사용하여 코드를 새 클러스터에로드 할 수 있습니다. 향후 코드 업데이트는 자동으로 배포되어 모든 사이트에서 최신 버전을 실행합니다.

Kubernetes 및 Azure Arc 에이전트가 미리로드 된 새로운 서버 집합이 새로운 에지 사이트에 제공되는 것을 상상하기 쉽습니다. 일단 WAN에 연결되고 전원이 켜지면 자동으로 최신 정책을로드하고 규정을 준수하면 애플리케이션을 다운로드하고 최소한의 인간 상호 작용으로 작동을 시작합니다.

새로운 클라우드 중심의 앱 우선 관리 모델 소개

특히 글로벌 네트워크에서 애플리케이션 배포를 자동화하는 데 사용되는 경우 Azure Arc를 새로운 세대의 정책 기반 애플리케이션 관리 도구 중 첫 번째로 생각하는 것이 가장 좋습니다. 끌어 오기 요청이 병합 될 때 Arc를 사용하여 애플리케이션 배포를 트리거하고 호스트 Kubernetes 클러스터 또는 가상 머신에 적절한 보안 정책이 적용되는지 확인하여 gitops 흐름에 통합하는 것이 좋습니다.

클라우드에 대한 Microsoft의 견해는 온-프레미스 시스템이 사라지지 않고 엣지 배포의 중요성이 커짐에 따라 온-프레미스의 정의가 증가 할 것입니다. 그렇다고 온 프레미스 시스템이 클라우드 기술과 클라우드 정보에 입각 한 작업 방식의 혜택을 누릴 수 없습니다. Azure Arc는 보안 준수를 보장하는 정책을 사용하여 애플리케이션의 인프라를 자동화하는 데 중점을 둡니다.

생각해 보면 이것은 devop의 논리적 확장이며 클라우드 환경에서 관리의 세 번째 계층으로의 이동의 일부입니다. VM이든 컨테이너 기반이든 애플리케이션 가상 인프라에 중점을 둔 Azure Arc는 인프라 작업에서 애플리케이션 작업을 분리합니다.

하이브리드 클라우드 환경에서는 애플리케이션 팀이 기본 물리적 인프라에 대해 알 필요가 없습니다. 대신 별도의 팀이 물리적 서버, 호스트 운영 체제, 하이퍼 바이저 및 Kubernetes 설치를 담당하게되며, 애플리케이션 팀이 에지, 하이퍼 컨 버지 드 시스템, 기존 데이터 센터 및 모두 동일한 클라우드 호스팅 콘솔에서 제공됩니다.

컨테이너 및 가상화를 사용하여 인프라를 실행하는 방식과 devop을 사용하여 애플리케이션을 구축하고 관리하는 방식을 변경했습니다. 두 가지 접근 방식을 통합하는 도구를 제공하지 않는 이유는 무엇입니까? Azure Arc를 사용하면 devops 방정식의 ops 측은 새로운 클라우드 호스팅 제어 영역에서 해당 애플리케이션을 관리하고 제어 할 수있는 기능과 함께 인프라에서 애플리케이션을 분리하는 플랫폼을 확보합니다. 이는 매력적인 비전이며 Microsoft가 제공하는 방법을 보는 것도 흥미로울 것입니다.