[GCP] GCP 개요: 가상화 (virtualization)

서경·2024년 9월 22일
post-thumbnail

가상화 (virtualization)

  • S/W적으로 computer system/network system을 구성

클라우드는 가상화 상태이다(가상화 서버).
GCP에서는 가상화 머신을 VM이라고 한다.



1. 가상화 종류

첫 번째 그림이 기존에 설명한 가상화다.
가장 아래부터 하드웨어 → Host OS → 가상화 하기 위한 Hypervisor → 가상머신(gust OS, Bins/Libs, Application) 이다.

가상 머신에서는 게스트 OS가 작동한다.
기존 방식의 문제점은 호스트 OS와 게스트 OS가 공존하여 리소스를 많이 사용한다는 것이다.
하드웨어를 사용하는 데 있어 호스트 OS와 게스트 OS가 경쟁할 수 있다.

두 번째는 클라우드 환경에서 제공하고 작동하는 가상 환경이다.
해당 가상 환경에서는 호스트 OS가 없고 하이퍼버이저만 있다.
가상 머신은 가상화해서 사용한 것과 같다.

세 번째는 컨테이너이다.
컨테이너도 가상환경이지만, 차이점은 하이퍼바이저가 없다는 것이다.
호스트 OS, 컨테이너 엔지니어, 미니멀 게스트 OS가 있어 기존 보다 게스트 OS가 작고 최소한의 정보만 갖는다.

미니멀 게스트 OS, Bins/Libs, Application이 컨테이너가 된다.
컨테이너는 OS를 가상화한 것으로 하드웨어를 가상화한 것이 아니기에 리소스 사용량이 적다.
따라서, 컨테이너 생성 시 속도가 빠르다.



1.1. Hosted Hypervisor 가상화

  • 기존 O/S( Host O/S )와 별개로 가상화 S/W를 이용하여 가상 H/W를 구성하여 제공하는 가상화 방법

  • 가상화 S/W

  1. VMWare

  2. Virtualbox

  • Hypervisor를 지원하는 CPU 환경에서만 가능
    Hypervisor환경에서 가상의 H/W를 구성하여 가상 머신( virtual machine )

  • Host O/S와 Guest O/S를 별도로 설치하여 사용하므로 자원 관리 측면에서 많은 자원 소모 발생

  • 가상 머신의 크기가 S/W적으로 하나의 컴퓨터에 대한 자원들을 관리하므로 용량이 큰 편이다.



1.2. O/S 가상화 (bare metal Hypervisor)

  • 기존 O/S(Host O/S) kernel을 수정하여 가상화 기능 제공(KVM)

  • 가상의 H/W 생성없이 물리적인 H/W를 가상화 기술을 이용하여 공유

  • 자원 관리 측면에서 bare metal 방식보다 효과적이고 크기 측면에서도 더 적은 크기로 제공

  • public cloud 제공 업체에서 주로 활용(AWS 사용)

  • public cloud의 모든 서비스는 가상환경을 이용하여 제공



1.3. Application 가상화

  • Application 실행 환경을 가상화하여 좀 더 쉽게 Application을 배포하고 운영할 수 있는 장점

  • docker






2. Google Cloud Service

https://cloud.google.com/products/?hl=ko#product-launch-stages


클라우드 서비스에는 다양한 서비스가 존재하며, 서비스를 다양한 유형으로 나눌 수 있다.

예로,
Compute Engine = IaaS
Cloud Storage(객체 스토리지, 컴퓨터 없이 저장공간으로 사용 가능) = PaaS에 가깝다.
BigQuery(데이터 분석) = PaaS
Cloud Run(컨테이너화, 웹 서비스 배포 목적) = PaaS 특성
Google Kubernetes Engine(컨테이너 관련, 배포 유지보수 목적) = CaaS
* CaaS (Container as a Service): 컨테이너를 관리할 수 있는 플랫폼을 제공
Vertex AI(AI 관련 환경 구축) = PaaS
Cloud SQL(관계형 데이터 베이스) = PaaS

PaaS 서비스는 기폰 플랫폼이 구성이 되어 있다.
SaaS는 이미 코드를 다 작성해둔 것으로 코드를 사용하여 데이터를 적용하고 처리하여 결과를 활용한다.

SaaS의 예로,
Speech-to-Text : 음성 인식 서비스, 사용자가 제공하는 음성을 텍스트로 변환
Vision AI : 이미지 분석 서비스, 이미지를 통해 객체를 인식하거나, 이미지에서 텍스트를 추출
Media Translation : 번역 서비스, 실시간 오디오 데이터를 다른 언어로 번역
Text-to-Speech : 음성 합성 서비스, 텍스트를 자연스러운 음성으로 변환
Translation AI : 번역 서비스, 텍스트를 여러 언어로 자동 번역

TIP!

클라우드 GPU : 고성능 연산이 필요한 AI 모델 학습 및 추론에 사용되는 하드웨어
클라우드 TPU : 구글에서 개발한 머신러닝 작업에 최적화된 하드웨어 가속기
딥러닝 VM 이미지 (Deep Learning VM Image) : 머신러닝과 딥러닝 작업에 필요한 모든 소프트웨어 환경(TensorFlow, PyTorch, Keras 등)이 미리 설치된 가상 머신 이미지

AutoML은 간단하고 빠른 프로토타이핑과 자동화된 머신러닝을 필요로 하는 경우에 좋지만, 더 정교하고 맞춤화된 모델이 필요하다면 Gemini가 더 나은 선택이 될 수 있다.
즉, 서비스 관점에서는 고객 맞춤화, 고성능 예측, 복잡한 패턴분석 등을 요구하는 Gemini이가 더 권장된다.






3. GCP vs AWS vs Azure 서비스 비교


퍼블릭 클라우드가 GCP, Azure, AWS 다 쓰는 경우가 있어
필요 시 GCP에서 다뤘던 유사한 서비스가 무엇인지 알 수 있다.






4. GCP 강점

GCP는 빅데이터에 강점을 두고 있다(빅쿼리).



4.1. 빅데이터 (Big Data)

  • GCP는 BigQuery, Dataproc, Cloud Dataflow와 같은 빅데이터 서비스 제공

  • 이러한 서비스는 대규모 데이터 세트를 수집, 저장, 분석 및 모델링하는 데 도움이 된다.



4.2. 머신러닝 (Machine Learning)

  • GCP는 TensorFlow, Cloud AI Platform과 같은 머신러닝 서비스 제공

  • 이러한 서비스는 머신러닝 모델을 개발, 훈련 및 배포하는 데 도움이 된다.


텐서플로우는 구글이 만든 프레임워크이다.



4.3. 오픈 소스 (Open Source)

  • GCP는 오픈 소스 커뮤니티에 대한 강력한 지원 제공

  • Kubernetes, TensorFlow 및 Kubernetes Engine과 같은 서비스는 오픈 소스 프로젝트와의 통합을 용이하게 한다.



4.4. 클라우드 네이티브 애플리케이션 (Cloud Native Application)

  • GCP는 Kubernetes Engine, Cloud Functions와 같은 클라우드 네이티브 애플리케이션 서비스 제공

  • 이러한 서비스는 애플리케이션을 빠르게 개발하고 배포하는 데 도움이 됩니다.
    클라우드 서비스만 이용해서 어플리케이션 생성하는 것이 중요하다.

0개의 댓글