클라우드

구글 클라우드 가상화 기술 및 컨테이너 기술 소개

Ed2024 2024. 10. 26. 18:33

Google Cloud AWS와 유사하게 가상화, 컨테이너화, 서버리스 컴퓨팅 기술을 사용하여 인스턴스를 구현합니다. Google Cloud는 자체 개발한 기술을 통해 인프라를 최적화하고, 유연하고 확장 가능한 컴퓨팅 환경을 제공합니다. 주요 기술들은 다음과 같습니다.

 

 1. 가상화 기술 (Virtualization Technology)

   Google Cloud의 인스턴스는 주로 KVM (Kernel-based Virtual Machine)을 기반으로 한 가상화 기술을 사용합니다.

   1) KVM (Kernel-based Virtual Machine):

  • Google Cloud는 인스턴스 가상화를 위해 주로 KVM을 사용합니다. KVM은 리눅스 커널에 내장된 오픈소스 하이퍼바이저로, 안정성과 성능이 뛰어납니다. KVM은 VM을 생성하고 관리하는 데 최적화되어 있으며, 특히 Google Cloud의 Compute Engine에서 가상 머신(VM)을 생성할 때 사용됩니다.
  • Google Cloud는 세컨드 소스 하이퍼바이저 (Second Source Hypervisor) 기술을 개발하여, 이중화를 통해 하이퍼바이저의 안전성과 안정성을 더욱 강화합니다.

   2) gVisor:

  • Google은 애플리케이션 레벨의 추가 격리를 위해 gVisor라는 오픈소스 프로젝트를 사용합니다. gVisor는 가상화와 컨테이너화의 중간 형태로, 애플리케이션에 대한 추가적인 보안 레이어를 제공합니다.
  • gVisor는 시스템 콜을 자체 커널에서 실행하는 방식으로 동작하여 호스트 커널에 직접 접근하는 것을 차단합니다. 이는 특히 멀티 테넌트 환경에서 보안을 강화하는 데 유용합니다.

 

 2. 컨테이너화 기술 (Containerization Technology)

   Google Cloud Google이 개발한 Kubernetes를 기반으로 컨테이너화 기술을 제공합니다. Kubernetes Google의 내부 컨테이너 관리 시스템에서 발전해 오픈소스로 공개된 기술로, 이후 업계 표준이 되었습니다.

   1) Google Kubernetes Engine (GKE):

  • GKE는 Google Cloud에서 제공하는 관리형 Kubernetes 서비스로, 클러스터 설정, 컨테이너 오케스트레이션, 자동 스케일링 등을 통해 컨테이너 기반 애플리케이션을 효율적으로 운영할 수 있습니다.
  • GKE는 Anthos와 연계하여 하이브리드 클라우드 및 멀티 클라우드 환경에서도 사용 가능하여, 클라우드 환경을 초월한 유연한 배포가 가능합니다.

   2) Google Cloud Run:

     - Google Cloud Run은 완전한 서버리스 방식의 컨테이너 런타임 환경입니다. Google Cloud Run은 표준 컨테이너 이미지를 기반으로 애플리케이션을 배포하므로 사용자가 인프라를 관리할 필요 없이, 컨테이너 단위로 애플리케이션을 배포하고 스케일링할 수 있습니다.

     - 특히 Kubernetes Knative 프로젝트를 기반으로 설계되어, HTTP 요청 기반의 이벤트 구동 방식으로 작동합니다.

 

 3. 서버리스 아키텍처와 구글 클라우드 함수 (Serverless and Google Cloud Functions)

   Google Cloud AWS Lambda와 유사하게 Google Cloud Functions라는 서버리스 컴퓨팅 서비스를 제공합니다.

   1) Google Cloud Functions:

  • Google Cloud Functions는 이벤트 기반의 서버리스 컴퓨팅으로, 사용자가 서버를 직접 관리할 필요 없이 필요한 로직을 작성해 이벤트가 발생할 때마다 이를 실행할 수 있습니다. 주로 백엔드 로직, 데이터 처리, API 등의 짧은 트랜잭션에 적합한 서비스입니다.
  • Cloud Functions는 다양한 Google Cloud 서비스와 쉽게 통합할 수 있으며, 클라우드 내에서 발생하는 이벤트를 통해 자동으로 트리거되어 실행됩니다.

   2) App Engine:

  • Google App Engine은 서버리스 플랫폼으로, 사용자가 인프라 구성 없이 애플리케이션 코드를 배포할 수 있습니다. App Engine은 자동 스케일링을 지원하며, Python, Java, Go, Node.js 등 여러 프로그래밍 언어를 지원합니다.

 

 4. 결론

   Google Cloud KVM 하이퍼바이저와 gVisor를 결합하여 고성능, 고안정성의 가상화를 제공하며, Kubernetes Cloud Run을 통해 컨테이너화된 애플리케이션을 효율적으로 운영합니다. 또한, Cloud Functions App Engine과 같은 서버리스 아키텍처로 인프라 관리 없이 서버리스 환경을 구현할 수 있습니다.