Google Compute Engine
Google Compute Engine은 GCP에서 가상 머신을 직접 다루는 실행 계층입니다. 운영 체제와 네트워크 설정을 직접 제어해야 하는 워크로드를 떠받치면서, 컨테이너보다 아래에서 서버의 수명과 구성을 관리할 때 기준점이 됩니다. 즉, '서버 제어권'이 필요할 때 가장 먼저 검토하는 기본 실행 레이어입니다.
▶아키텍처 다이어그램
🔍 구조 다이어그램점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다
애플리케이션이 장시간 떠 있어야 하거나 OS 수준 제어가 필요한데, 물리 서버를 직접 사면 비용과 준비 시간이 너무 큽니다. 트래픽이 들쑥날쑥하면 용량을 맞추는 일도 계속 실패합니다. 특히 월말 정산처럼 순간 피크가 큰 서비스는 과소·과대 용량 문제가 반복됩니다.
예전에는 서버 한 대를 추가하려면 장비를 주문하고 랙에 꽂고 OS를 설치해야 했습니다. 이 과정이 오래 걸리니 증설 시점을 놓치기 쉽고, 여유분을 과하게 사두면 자본이 묶였습니다. VM은 이런 물리적 준비를 분 단위로 바꾸기 위해 등장했습니다. 클라우드 VM은 인프라 조달을 코드화할 수 있게 만들었다는 점에서 운영 방식 자체를 바꿨습니다.
Compute Engine은 가상 머신을 즉시 만들고, 머신 타입으로 CPU와 메모리 조합을 정합니다. VM은 VPC 안에 놓이고, 영구 디스크(Persistent Disk)로 상태를 붙이며, 관리형 인스턴스 그룹(Managed Instance Group)이 다수 인스턴스의 확장을 맡습니다. 필요하면 실시간 마이그레이션으로 유지보수 중단을 줄입니다. 여기에 시작 스크립트와 이미지 템플릿을 조합하면 동일한 서버 구성을 반복 배포할 수 있습니다.
Compute Engine과 Cloud Run은 둘 다 애플리케이션을 실행하지만, Compute Engine은 VM, OS, 네트워크 구성을 직접 다루는 계층이고 Cloud Run은 컨테이너를 배포하면 인프라 운영을 넘겨주는 계층입니다. 커널, 드라이버, 장기 실행 프로세스처럼 머신 자체를 제어해야 하면 Compute Engine이 맞습니다. 반대로 요청 단위 자동 확장과 운영 단순성이 우선이면 Cloud Run 쪽이 더 효율적입니다.
웹 서버, 배치 작업, 상태를 가진 워크로드처럼 인스턴스 수명과 운영 방식을 직접 정해야 할 때 적합합니다. 요청이 올 때만 짧게 실행되는 작업에는 더 가벼운 실행 계층이 맞습니다. 레거시 애플리케이션 이전이나 사내 에이전트 설치가 필요한 환경에서도 현실적인 선택지입니다.