Azure Batch란?
경우에 따라 용량에만 사용될 수 있는 매우 강력한 컴퓨팅 플랫폼의 영구 배포를 지원하는 리소스가 있는 조직은 거의 없습니다. 일반적으로 계산 능력을 제공하려면 Azure Batch와 같은 유연하고 확장 가능한 컴퓨팅 솔루션이 필요합니다.
Azure Batch를 사용하여 정수 측정기의 업로드된 그림에서 OCR을 수행하는 프로세스의 일환으로 Azure Batch 워크플로의 기본 구성 요소를 이해해야 합니다.
여기서는 Azure Batch가 수행해야 하는 것이 무엇인지, Batch 구성 요소가 일반적인 워크플로에서 어떻게 사용되는지에 대해 살펴보겠습니다.
컴퓨팅 집약적인 태스크 및 병렬 워크로드
일부 워크로드에는 대규모 컴퓨팅 기능을 필요합니다. 재무 위험 모델링, 3D 이미지 렌더링, 미디어 코드 변환 및 유전자 서열 분석을 예로 들 수 있습니다. 경우에 따라 이러한 워크로드는 별도의 하위 작업으로 세분화될 수 있으며 작업이 훨씬 적은 시간에 수행되도록 병렬로 실행할 수 있습니다. 3개의 VM(Virtual Machines)이 3분의 1로 단축된 시간 안에 작업을 수행할 수 있습니다.
비영리 단체를 위한 OCR 프로젝트의 일부로 처리가 병렬로 수행되고 완료하는 데 훨씬 더 적은 시간이 소요되도록 Azure Batch를 사용하여 OCR 수행 작업을 분할할 수 있습니다.
Azure Batch의 구성 요소
Azure에서 이러한 대규모 병렬 및 계산 집약적 작업에 Azure Batch를 사용할 수 있습니다. 높은 수준에서 Azure Batch는 여러 구성 요소가 함께 작동합니다. 모든 항목은 모든 Batch 리소스에 대해 컨테이너 역할을 하는 Azure Batch 계정의 컨텍스트 내에서 수행되어야 합니다.
일부 사용 사례의 경우 이 계정을 Azure Storage 계정과 연결하여 실행 중에 사용할 입력 파일 및 애플리케이션을 다운로드하고 결과를 저장할 수 있습니다. Azure Batch 계정 내에서 사용자가 지정한 수와 CPU 및 메모리 크기, Azure Batch 서비스에서 관리하고 예약하는 Windows 또는 Linux를 실행하는 가상 컴퓨팅 노드 풀을 만들 수 있습니다. Batch 계정에는 많은 Batch 풀이 포함될 수 있습니다.
하나 이상의 풀을 생성한 후에는 예약한 모든 태스크에 대해 논리 컨테이너처럼 작동하는 개별 작업을 만들고 공통 속성을 공유할 수 있습니다. 다시 말하지만, 많은 작업을 갖는 것은 완벽하게 가능합니다.
그리고 마지막으로 작업을 실제로 수행하는 방법을 설명하는 태스크를 만듭니다. 사용자가 태스크를 사용하여 명령줄을 직접 호출하거나, Azure Storage에 업로드하는 애플리케이션을 태스크가 실행할 수 있습니다. 다음 연습에서 함께 작동하는 Azure Batch의 모든 주요 구성 요소를 살펴보겠습니다.
일반적인 Azure Batch 워크플로
그래서 일반적인 Azure Batch 워크플로는 실제로 어떤 모습일까요? 다음 그래픽과 같이 일반적인 실제 Azure Batch 시나리오에는 데이터 및 애플리케이션 파일이 필요합니다. Batch 워크플로는 Azure Storage 계정에 이러한 데이터 및 애플리케이션 파일을 업로드하기 시작합니다. 그런 다음, 사용자는 필요에 따라 많은 Windows 또는 Linux 가상 컴퓨팅 노드를 사용하여 Batch 풀을 만듭니다. 또한 시간에 따라 워크로드의 요구가 달라지는 경우에 적절하게 자동 크기 조정할 수 있습니다.
그런 다음 Batch 서비스는 노드를 온라인 상태로 만들고 실행을 위한 작업을 노드로 예약하는 작업을 처리합니다. 태스크가 실행을 시작하기 전에 처리에 필요한 모든 데이터 및 애플리케이션 파일을 스토리지에서 다운로드할 수 있습니다. 태스크를 실행하는 동안 노드의 상태 및 태스크의 진행률을 쿼리할 수 있습니다. 노드가 해당 태스크를 완료하고 나면, 해당 태스크 출력을 검사하고 Azure Storage에 푸시할 수 있습니다.