Azure Arc는 Game Changer가 될 수 있을 것인가? AWS Outposts, Google Anthos와 비교(번역)

https://www.forbes.com/sites/janakirammsv/2019/11/05/why-azure-arc-is-a-game-changer-for-microsoft 를 번역하였습니다.

마이크로소프트 CEO인 사티아 나델라는 Ignite 2019를 통해 다양한 하이브리드 클라우드 제품과 서비스를 새롭게 발표했습니다. 이번 키노트를 통해서 발표한 내용 중 가장 강조된 제품은 하이브리드 & 멀티 클라우드 플랫폼인 Azure Arc 입니다.

기술 분석가들과 파트너 들은 이번 Ignite를 통해서 마이크로소프트가 하이브리드 전략을 대폭 개선할 것으로 예상하고 있었습니다. 그럼에도 Azure Arc의 발표는 예상을 뛰어넘는 수준이라 놀라지 않을 수 없었습니다. 기존 제품들과 비교해 보면 Azure Arc는 고유한 접근 방식과 설계를 취하고 있었기 때문입니다.

Azure Arc가 왜 Game Changer 인가를 설명하기에 앞서 Azure의 아키텍쳐와 설계를 간단히 살펴보는 것이 좋겠습니다.

Azure 아키텍쳐를 쉽게 설명하자면

Azure가 출시된 이후 지난 10년간, Microsoft는 VM, 데이터베이스 인스턴스, Hadoop 클러스터, Kubernetes 클러스터와 같은 리소스의 수명주기(Life Cycle)를 관리하기 위해서 Azure의 제어 영역(Control Plane)을 지속적으로 개선해 왔습니다.

기술 용어로 이 제어 영역을 Azure에서는 페브릭 컨트롤러(Fabric Controller)라고 부릅니다. VM 등의 리소스를 준비, 확장, 중지, 종료하는 작업은 항상 페브릭 컨트롤러를 통해 이루어 집니다.

그리고 Azure의 리소스들은 지속적으로 자신의 상태를 페브릭 컨트롤러에게 보고합니다. 예를 들어, Azure VM의 경우 VM내에서 수행되는 VM 에이전트(Agent)가 페브릭 컨트롤러에게 상태를 보고하는 역할을 수행합니다.

페브릭 컨트롤러와 리소스 사이에는 리소스 수명 주기를 자동화하기 위한 ARM(Azure Resource Manager)이라는 또 다른 계층이 존재합니다. Microsoft는 Azure 내에서 실행할 수 있는 모든 서비스에 대하여 리소스 제공자(Resource Provider)를 구축해 두었습니다. 예를 들어 VM, SQL 데이터베이스, Azure Kubernetes Service등은 모두 이러한 리소스 공급자를 통해 수행됩니다. 사용자는 ARM 템플릿(template)을 이용해서 이러한 리소스를 어떻게 구성할지에 대한 정보를 간단한 텍스트로 정의할 수도 있습니다.

Azure 제어 영역(Control Plane)을 확장하는 Azure Arc

Microsoft는 Azure Arc를 통해서 Azure 외부에서 수행되는 리소스에 대해서까지 Azure Resource Manager을 확장하였습니다. 이렇게 하면 페브릭 컨트롤러가 보기에는 고객사의 데이터센터에 위치하고 있는 물리 머신도 Azure 내의 컴퓨팅 리소스처럼 보입니다. 뿐만 아니라 VMware vSphere, Amazon EC2, Google Compute Engine에서 수행되는 VM들도 Azure Resource Manager에 등록할 수 있습니다. 방화벽이나 프록시 뒤에 있더라도 모든 Windows, Linux Server를 Azure Resource Manager에 등록할 수 있습니다. 물론 Azure 외부에 있는 VM은 Azure VM에서 수행되는 에이전트와 유사한 소프트웨어를 수행할 것입니다.

VM 뿐만이 아닙니다. Azure Arc는 Kubernetes 클러스터 자체를 등록할 수도 있습니다. 이미 구동 중인 외부 Kubernetes 클러스터라 할지라도 Azure의 AKS(Azure Kubernetes Service)와 동일한 방식으로 관리할 수 있습니다. 예를 들어, 고객사의 데이터센터에 vSphere에서 실행되는 Pivotal Kubernetes Server 클러스터나 Amazon EKS, Google Kubernetes Engine, IBM Kubernetes Service와 같은 주요 관리형 Kubernetes 도 모두 Azure Arc에 등록할 수 있습니다.

더 흥미로운 것은 Azure Arc가 하이브리드 및 멀티 클라우드 환경 하에서 관리되는 데이터베이스 서비스를 실행할 수 있다는 사실입니다. 현재까지는 (Ignite 2019 발표시점) Azure SQL 데이터베이스와 PostgreSQL Hyperscale의 두가지 데이터베이스를 Azure 외부에서 실행할 수 있습니다. 관리형 데이터베이스가 가지는 고유 기능이라고 할 수 있는 자동화된 업데이트, 패치, 보안 검사, 노터치 업그레이드와 같은 이점을 Azure 외부에 설치된 데이터베이스에 대해서도 그대로 사용할 수 있습니다.

마지막으로 고객은 Microservices용으로 패키지된 클라우드 네이티브 응용 프로그램을 Azure Arc가 관장하는 VM과 Kubernetes 클러스터에 배포할 수 있습니다. Application Service는 최근에 집중 투자하고 있는 Rudr, Dapr와 같은 오픈 소스 프로젝트를 활용하게 됩니다.

요약하자면, Azure Arc를 이용하면 Azure 외부에 배포된 다음과 같은 서비스들을 Azure를 통해 관리할 수 있습니다.

  1. 물리 서버(bare metal), VM, IaaS Public Cloud에서 수행 중인 Windows와 Linux Server
  2. Kubernetes 클러스터
  3. Azure SQL 데이터베이스와 PostgreeSQL hyperscale을 기반으로 하는 데이터 서비스
  4. Kubernetes 환경에서 수행 가능하도록 microservices형태로 패키징되고 배포가능한 application

Azure Arc – 그래서 뭐?

Azure Arc가 고객에게 의미하는 바는 무엇일까요? 기업은 Azure Arc의 장점을 어떻게 활용할 수 있을까요?

이 질문에 대한 답을 찾아봅시다.

우선 고객은 Azure Arc를 활용하면 단일의 제어 영역을 통해 Azure 내부와 외부에 있는 리소스를 모두를 관리할 수 있습니다. ARM 템플릿과 Azure API를 이용한 자동화 기능도 사용할 수 있겠지요.

예를 들어, 하나의 ARM 템플릿을 이용해서 Azure상에 VM을 생성하고, 고객의 데이터 센터에 데이터베이스를 실행하기 위한 VM을 동시에 생성할 수 있습니다. RBAC, 태깅, 자격 증명 정책 등을 리소스에 그대로 적용할 수도 있습니다.

고객은 Azure Security Center를 이용하여 Azure Arc에 등록된 모든 리소스에 대하여 보안 규정을 준수하고 있는지 살필 수 있습니다. 취약점이 발견되면, 그 즉시 해당 VM의 운영체제를 패치할 수도 있을 것입니다. 버튼 하나만 눌러서 모든 VM의 파일 시스템을 암호화 할 수도 있을 겁니다. 정책(Policy)를 한번만 정의해 두면 Azure에 존재하는 리소스이든 고객의 데이터센터에 있는 리소스이든 상관없이 자동으로 정책을 적용할 수 있습니다.

Azure Arc에 등록된 모든 리소스는 이제 로그 정보를 Azure Monitor로 보낼 수 있습니다. 로그 정보를 이처럼 한 곳에 취합하면, 고도로 분산되고 이기종이 존재하는 복잡한 인프라 환경일지라도 새로운 통찰력을 얻을 수 있는 강력한 도구가 될 것입니다.

마지막으로 Azure Automation 서비스를 이용하면 퍼블릭 클라우드, 하이브리드 클라우드, 멀티 클라우드 환경을 가리지 않고 일상적으로 반복되는 유지 관리 작업들을 자동화 할 수 있습니다.

Azure Arc를 사용하는 고객이라면 Azure Portal, Azure CLI, SDK 뿐 아니라 Terraform과 같은 도구를 이용해서 퍼블릭 클라우드에서 적용하였던 자동화된 리소스 관리 방식을 자사의 데이터센터에 대해서도 그대로 적용할 수 있습니다.

Azure Arc는 Game Changer

Azure Arc를 이용하면 기업 내의 레거시 인프라를 하이브리드 클라우드의 시류에 포함시킬 수 있습니다. 10년전에 도입한 x86 Linux 머신에서 Oracle 이 수행되고 있다 하더라도, Azure Arc에 등록하기만 하면 현대적이고 탄력적으로 작성된 웹 응용 프로그램과 동일 리전, 동일 리소스 그룹에 포함시켜 Azure Portal에서 관리할 수가 있습니다.

Microsoft의 하이브리드 클라우드 전략은 고객사의 레거시 하드웨어와 VM을 모두 아우릅니다. 고객사에 위치한 VM 또한 Azure에서는 first-class citizen으로 다뤄집니다.

AKS, Kubernetes와 함께 Azure Arc를 사용하면, 컨테이너 형태로 패키지화 되고 배포 할 수 있는 새로운 응용 프로그램을 손쉽게 수행할 수 있습니다. 최근에 Microsoft와 Alibaba는 여러 컨테이너 기술로 구성된 Microservices모델을 단순화하기 위해서 Open Application Model이라는 사양을 공동으로 발표했습니다. RuAM, OAM 등은 Kubernetes 인프라를 대상으로 하는 추상화 계층이 될 것입니다.

따라서, VM와 Kubernetes과 함께 Azure Arc를 사용하면 응용 프로그램을 현대화하는 작업을 매우 단순하게 수행할 수 있을 것입니다.

더불어 Microsoft는 관리형 데이터베이스 서비스를 하이브리드 클라우드에 도입한 최초의 기업 중 하나입니다. 이러한 데이터베이스 서비스는 컨테이너로 패키지화 되어 Kubernetes 위에서 실행되므로, 중앙 집중식 Azure 제어 영역을 통해 관리하는 것이 효율적입니다.

Azure Arc는 Azure Stack Hub, Azure Stack HCI, Azure Stack Edge와 새롭게 발표된 하이브리드 클라우드 제품을 위한 중요한 관리 계층으로 입지를 다지고 있습니다. 장비의 설치 위치와 장비의 사양에 맞추어 적절한 Azure Service를 Azure Arc를 통해 배포하고 수행할 수 있습니다.

Azure Arc 대 AWS Outposts

AWS Outposts는 Amazon에서 설계한 하이퍼 컨버지드 인프라스트럭쳐 어플라이언스(Hyper Converged Infrastructure appliance) 제품으로 컴퓨팅, 메모리, 스토리지, 네트워킹을 포함합니다. AWS Outposts어플라이언스는 AWS Nitro System을 기반으로하므로 맞춤형 구성으로 제공됩니다.

Amazon고객은 EC2 인스턴스를 사용하는 것처럼 Outposts 서비스에 가입합니다.

AWS outpost 고객은 두 가지 스택 중 하나를 선택해야 합니다. 첫째로는 AWS 향입니다. 이를 선택하면 기존에 익숙한 AWS API와 제어 영역을 사용할 수 있습니다. 두번째 선택지는 VMware SDDC 스택의 일부인 vSphere, vSAN, NSX를 수행하는 VMware 변형 제품입니다.

Application Load Balancer(ALB), Amazon ECS, 컨테이너용 Amazon EKS, 빅데이터용 Amazon EMR, 데이터베이스용 Amazon RDS 와 같은 일부 AWS 관리 서비스를 AWS Outposts에서 수행할 수 있습니다.

Microsoft Azure Arc는 AWS Outposts처럼 고유의 장비를 요구하지 않습니다. 어떤 Linux나 Windows VM도 Azure Arc를 통해 등록하고 관리할 수 있습니다. AWS Outposts는 Azure Arc를 통해 관리할 수 있는 Azure Stack Hub와 유사합니다.

Outposts는 ECS, EKS를 통해 컨테이너 인프라를 실행하지만 Azure Arc와는 달리 AWS는 외부 클러스터를 관리하기 위해서 정책 및 구성을 적용할 수 없습니다.

AWS Outpost는 일부 AWS 관리 서비스를 실행할 수 있는 EC2의 확장입니다. 반면 Azure Arc는 엔터프라이즈 데이터센터에서 실행되는 다양한 컴퓨팅 환경을 지원하도록 개발되었으며, 수용 범위가 훨씬 더 큰 하이브리드 클라우드 플랫폼입니다.

Azure Arc 대 Google Anthos

Google의 Anthos는 Kubernetes, Istio, Knative와 같은 최신 인프라 구성요소를 이용하여 구축된 하이브리드 클라우드 플랫폼입니다. 이는 고객이 기존에 구축해둔 환경에서 Google Kubernetes Engine을 수행할 수 있도록 해주는 논리적 확장으로 볼 수 있습니다.

Google은 Velostrata를 인수하여 기존의 가상 머신을 Kubernetes에서 실행할 수 있는 컨테이너로 변환하는 도구를 확보하였습니다. 기술적으로 보자면 Anthos를 이용하여 VM과 컨테이너를 동시에 실행할 수 있습니다. 하지만 Google은 고객에게 컨테이너화를 통해 앱을 현대화 할 것은 권장합니다.

Google은 Dataproc, Cloud Run, Kubeflow와 같은 일부 관리 서비스를 Anthos로 느리지만 꾸준히 이식하고 있습니다. 데이터 및 AI 포트폴리오에 포함된 다른 서비스들도 향후 Anthos로 이식될 것으로 예상됩니다.

Anthos 또한 단일 제어 영역을 통해서 타사의 Kubernetes 클러스터를 관리할 수도 있습니다. 또한 중앙 집중화된 구성 정책과 보안 설정을 적용하고 관리할 수 있습니다.

Google Anthos와 Azure Arc는 매우 유사 해 보입니다. 둘다 외부 클러스터를 등록하고 동일한 제어 영역을 통해 관리할 수 있습니다. 두 플랫폼 모두 여러 클러스터에 응용 프로그램을 배포할 수 있습니다. Anthos와 마찬가지로 Azure Arc는 Kubernetes를 활용하여 관리 데이터 서비스를 실행합니다.

그러나 Azure Arc와의 주요 차이점은 VM에 대한 first-class 지원입니다. Azure Arc를 사용하면 고객은 하이브리드 환경에서 물리 서버, VM, Kubernetes 클러스터를 함께 혼용할 수 있습니다.

Google은 아직 Cloud SQL 및 Bigtable과 같은 관리되는 데이터베이스 서비스를 Anthos를 통해 제공하지 않습니다. 반면, Azure Arc는 처음부터 Azure SQL 데이터베이스 및 PostgreSQL Hyperscale을 지원합니다.

Anthos에는 Kubernetes를 이용하는 개발자의 경험을 단순화할 수 있는 Cloud Run, Knative가 포함되어 있습니다. Azure Arc는 개발자가 Rudr 및 Dapr을 기반으로 OAM 설계를 수용하고 응용 프로그램을 배포하도록 권장합니다.

요약

하이브리드 클라우드의 정의는 멀티 클라우드를 포함하도록 확장되었습니다. AWS의 Outposts, Google의 Anthos, IBM과 Red Hat의 OpenShift와 CloudPaks, VMware의 Project Pacific과 Tanzu가 동일한 시장에서 경쟁하고 있습니다.

ARM의 탄탄한 토대 위에 구축된 Azure Arc와 Azure Stack을 기반으로 하는 Microsoft의 하이브리드 전략은 강력하고 설득력 있게 보입니다. Azure Arc의 주요 차이점은 기존의 VM 기반 워크로드와 하이브리드 및 멀티 클라우드 수행 환경을 단일의 환경하에서 밸런스 있게 관리할 수 있다는 점입니다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중