Azure의 작동 방식

Azure는 Microsoft의 퍼블릭 클라우드 플랫폼입니다. Azure는 PaaS(Platform as a Service), IaaS(Infrastructure as a Service) 및 관리되는 데이터베이스 서비스 기능을 포함하는 대규모 서비스 컬렉션을 제공합니다. 그런데 Azure란 정확히 무엇이며, 어떻게 작동할까요?


다른 클라우드 플랫폼과 마찬가지로, Azure는 가상화라는 기술에 의존합니다. 대부분의 컴퓨터 하드웨어는 소프트웨어에서 에뮬레이트할 수 있습니다. 컴퓨터 하드웨어는 간단히 말해 실리콘에 영구적으로 또는 반영구적으로 인코딩되는 명령 집합입니다. 에뮬레이션 계층은 소프트웨어 지침을 하드웨어 지침에 매핑하는 데 사용됩니다. 에뮬레이션 계층을 사용하면 실제 하드웨어 자체와 같은 소프트웨어에서 가상화된 하드웨어를 실행할 수 있습니다.

기본적으로 클라우드는 하나 이상의 데이터 센터에 있는 물리적 서버의 집합입니다. 데이터 센터는 고객을 위해 가상화된 하드웨어를 실행합니다. 그렇다면 클라우드는 수백만 명의 고객을 위해 수백만 개의 가상화된 하드웨어 인스턴스를 동시에 만들고, 시작하고, 중지하고, 삭제하려면 어떻게 할까요?

서버를 이해하기 위해 데이터 센터의 하드웨어 아키텍처를 살펴보겠습니다. 각 데이터 센터 내의 서버 랙에는 서버 컬렉션이 있습니다. 각 서버 랙에는 많은 서버 블레이드와 네트워크 스위치가 포함되어 있습니다. 이는 네트워크 연결과 전력을 만드는 PDU(전원 분배 장치)를 제공합니다. 랙은 클러스터라고 하는 더 큰 단위로 그룹화되기도 합니다.

서버 랙 또는 클러스터는 사용자를 위해 가상화된 하드웨어 인스턴스를 실행하도록 선택됩니다. 그러나 일부 서버는 패브릭 컨트롤러라고 하는 클라우드 관리 소프트웨어를 실행합니다. 패브릭 컨트롤러는 많은 책임을 담당하는 분산된 애플리케이션입니다. 서비스를 할당하고, 서버의 상태와 서버에서 실행되는 서비스를 모니터링하고, 실패할 때 서버를 복구합니다.

패브릭 컨트롤러의 각 인스턴스는 클라우드 오케스트레이션 소프트웨어(일반적으로 프런트 엔드라고 함)를 실행하는 다른 서버 집합에 연결됩니다. 프런트 엔드는 클라우드의 모든 기능에 사용되는 내부 Azure 데이터베이스, RESTful API 및 웹 서비스를 호스트합니다.

예를 들어 프런트 엔드는 고객 요청을 처리하는 서비스를 호스트합니다. 요청은 Azure Virtual Machines 및 Azure Cosmos DB와 같은 Azure 리소스 및 서비스를 할당합니다. 먼저, 프런트 엔드는 사용자가 요청된 리소스를 할당할 권한이 있는지 확인하고 유효성을 검사합니다. 권한이 있는 경우 프런트 엔드는 데이터베이스를 확인하여 용량이 충분한 서버 랙을 찾아 패브릭 컨트롤러에 리소스를 할당하도록 지시합니다.

Azure는 복잡한 분산 애플리케이션 집합을 실행하는 거대한 서버/네트워킹 하드웨어 컬렉션입니다. 이러한 애플리케이션은 해당 서버에 가상화된 하드웨어/소프트웨어의 구성과 운영을 오케스트레이션합니다. 이러한 서버의 오케스트레이션은 Azure를 매우 강력하게 만듭니다. Azure를 사용하면 Azure가 백그라운드에서 수행되므로 사용자가 하드웨어를 유지 관리하고 업그레이드할 필요가 없습니다.

다음 단계

Azure Resource Manager를 사용하여 Azure에 리소스를 배포하는 방법에 대해 알아봅니다.