이 문서에서는Google Cloud에서 사용할 수 있는 컴퓨팅 서비스를 소개합니다. 인프라 제어 및 관리 추상화의 스펙트럼을 이해하면 워크로드에 적합한 컴퓨팅 서비스를 선택하는 데 필요한 기본 지식을 얻을 수 있습니다.
Google Cloud 의 컴퓨팅이라는 용어는 애플리케이션을 실행하는 데 필요한 가상화된 컴퓨팅 리소스(예: 처리 능력 및 메모리)를 나타냅니다. 이러한 리소스는 원시 가상 머신 (VM) 인스턴스부터 완전 관리형 플랫폼까지 다양합니다. VM 인스턴스를 사용하면 운영체제 (OS), 네트워킹, 소프트웨어 스택을 완전히 맞춤설정할 수 있습니다. 관리 플랫폼의 경우 Google에서 대부분의 기본 인프라를 처리합니다.
대략적인 서비스 지역
Google Cloud 의 컴퓨팅 카테고리에는 다음 주요 서비스 영역이 포함됩니다.
VM 인스턴스 및 베어메탈 인스턴스: Compute Engine은 자체 OS와 애플리케이션을 설치하고 관리할 수 있는 구성 가능한 VM 및 베어메탈 인스턴스를 제공합니다. 이 구성에는 맞춤설정된 VM 또는 베어 메탈 인스턴스에 그래픽 처리 장치 (GPU) 또는 텐서 처리 장치 (TPU)를 추가하는 것도 포함됩니다.
컨테이너: Google Kubernetes Engine (GKE)과 같은 서비스를 사용하면 컨테이너화된 애플리케이션을 배포하고 관리할 수 있습니다.
일괄 처리: Batch와 같은 서비스를 사용하면 대규모 비동기 작업을 실행할 수 있습니다.
AI 인프라: 클러스터 디렉터 및 클러스터 툴킷과 같은 전문 서비스와 하드웨어가 포함됩니다. 이러한 서비스는 인공지능 (AI) 또는 머신러닝 (ML)을 위한 복잡하고 오케스트레이션된 학습 및 추론 워크로드를 대규모로 실행하도록 설계되었습니다.
HPC 인프라: 긴밀하게 결합된 물리 시뮬레이션, 날씨 모델, 분자 동역학과 같은 고성능 컴퓨팅 (HPC) 워크로드를 실행하기 위한 전문 서비스와 하드웨어가 포함됩니다.
인프라의 제어와 추상화
Google Cloud 는 다양한 제어 및 추상화 스펙트럼에 걸쳐 컴퓨팅 서비스를 제공합니다. 두 가지 주요 카테고리는 다음과 같습니다.
Infrastructure as a Service
Infrastructure as a Service (IaaS)는 가장 많은 제어 기능을 제공하는 모델입니다. OS, 미들웨어, 애플리케이션은 사용자가 관리합니다. 대신 Google은 기본 가상화, 서버, 스토리지, 네트워킹을 관리합니다. Google Cloud 에서 사용할 수 있는 IaaS 솔루션은 다음과 같습니다.
Compute Engine: 이 서비스를 사용하면 Google 인프라에서 VM 및 베어메탈 인스턴스를 만들고 실행할 수 있습니다. Compute Engine은 다양한 머신 시리즈, 스토리지 서비스, 액셀러레이터, 게스트 OS 중에서 선택할 수 있어 다양한 워크로드를 실행할 수 있는 유연성을 제공합니다.
Google Cloud VMware Engine: VMware 워크로드를 Google Cloud에서 네이티브로 마이그레이션하고 실행할 수 있는 서비스입니다. Google은 기본 하드웨어와 VMware 플랫폼을 관리합니다. VM, 게스트 OS, 애플리케이션을 완전히 제어할 수 있습니다. 이 접근 방식을 사용하면 기존 VMware 환경을 재설계하지 않고도 클라우드로 이동할 수 있습니다.
IaaS는 처음부터 맞춤 환경을 설계하고 관리해야 하는 인프라 설계자, ML 인프라 엔지니어, 플랫폼 엔지니어가 선호하는 경우가 많습니다.
관리형 플랫폼 및 서비스
관리형 플랫폼과 서비스는 제어와 사용 편의성 간의 균형을 제공합니다. Google에서 기본 인프라, OS, 런타임 환경을 관리하므로 사용자는 워크로드 실행에 집중할 수 있습니다. Google Cloud 에서 사용할 수 있는 관리 솔루션은 다음과 같습니다.
Batch: 대규모로 배치 컴퓨팅 작업을 예약하고, 큐에 추가하고, 실행할 수 있는 관리형 서비스입니다. Batch는 작업을 실행하기 위해 Compute Engine 리소스를 프로비저닝하고 수명 주기를 관리하므로 기본 VM 또는 베어메탈 인스턴스를 직접 관리할 필요가 없습니다.
Cloud Run: 서버리스 인프라에서 확장성이 뛰어난 컨테이너화된 애플리케이션을 개발하고 배포할 수 있는 완전 관리형 플랫폼입니다. Cloud Run은 모든 인프라 관리를 추상화합니다. 이 추상화를 통해 서버나 클러스터를 관리할 필요 없이 웹 요청이나 이벤트에 응답하는 컨테이너를 실행할 수 있습니다.
Cluster Director: AI, ML 또는 고성능 컴퓨팅 (HPC) 클러스터의 복잡한 설정 및 구성을 자동화하는 관리형 서비스입니다. Google에서 클러스터 인프라를 관리하므로 운영 오버헤드를 최소화하면서 워크로드를 실행하는 데 집중할 수 있습니다.
Cluster Toolkit: 사전 정의된 청사진을 사용하여 Google Cloud 에 AI, ML 또는 HPC 클러스터를 프로비저닝하는 데 도움이 되는 오픈소스 툴킷입니다. 결과 클러스터 인프라를 관리하지만 툴킷은 배포 프로세스를 추상화하고 배포 및 소프트웨어 스택을 맞춤설정할 수 있도록 지원합니다.
GKE: Kubernetes에서 컨테이너화된 애플리케이션을 실행하기 위한 관리형 환경입니다. Google은 Kubernetes 컨트롤 플레인을 관리하고 사용자는 컨테이너 워크로드를 배포하고 관리합니다. 배포 모드 (Autopilot 또는 Standard)에 따라 기본 인프라에 대한 제어 수준을 선택할 수 있습니다.
관리형 플랫폼과 서비스는 인프라를 깊이 관리하지 않고도 리소스를 빠르게 프로비저닝하고 워크로드를 배포하려는 데이터 과학자, AI 연구원, ML 엔지니어가 선호하는 경우가 많습니다.