이번 5월부터 Google Cloud Professional Data Engineer을 취득하기 위해 준비하면서 공부하는 내용들을 틈틈히 포스팅 해보려고 합니다.

오늘 포스팅할 내용은 Coursera의 Google Cloud Platform Fundamentals: Core Infrastructure 의 내용으로 전반적으로 Google Cloud Platform 제품들에 대한 간단한 소개를 하려고 합니다.

예전에 포스팅한 내용도 있고 새로 포스팅하는 내용도 있을 예정입니다.


GCP 계층 구조

GCP는 다음과 같은 계층 구조를 가질 수 있습니다.

기본적으로 권한이나 정책등은 계층구조에서 위에서 아래로 상속됩니다.

  • Organization Node : 회사 단위
    • Folders : 부서별, 팀별 단위
      • Projects : 실제 프로젝트 및 서비스에 해당 (과금 단위)
        • Resources : 프로젝트에 속해있는 GCP의 서비스들

기본적으로 GCP는 Project 단위로 작업을 하게 됩니다.

속성 특징 지정 변경 가능성
Project ID 반드시 유니크 해야함 직접 선택 가능 변경 불가
Project name 반드시 유니크 할 필요없음 직접 선택 가능 변경 가능
Project number 반드시 유니크 해야 함 GCP가 지정 변경 불가

IAM

구글 내부의 자원에 대해서 권한을 줄 수 있는 기능입니다.

IAM에서 정할 수 있는 것들

  • Who
    • 구글 계정
    • 구글 그룹
    • 서비스 계정
    • G Suite 도메인
  • can do What
  • on which resource

IAM의 역할

  • Owner
    • 결제
    • 멤버 초대
    • 멤버 삭제
    • 프로젝트 삭제
    • 어플리케이션 배포
    • 코드 수정
    • 서비스 수정
    • 읽기 권한
  • Editor
    • 어플리케이션 배포
    • 코드 수정
    • 서비스 수정
    • 읽기 권한
  • Viewer
    • 읽기 권한

GCP와 상호 작용 가능한 방법들

  1. Cloud Platform Console (console.cloud.google.com)
  2. Cloud Shell and Cloud SDK (gcloud명령어)
  3. Mobile App
  4. Rest-based api

Cloud Launcher

미리 설정이 된 이미지들을 바로 이용할 수 있는 서비스


VPC

GCP 리소스들을 서로 연결하고 인터넷에 연결을 할 수 있도록 도와주며, 심지어, 서로 다른 zone 이라도 논리적으로 묶을 수 있습니다.


Compute Engine

GCP의 대표적인 VM 서비스

  • 가상 CPU를 달 수 있는 최대 개수 : 96개
  • 최대 메모리 크기 : 624 GB

Cloud Load Balancing

GCP이 로드밸런싱 서비스


Cloud DNS

구글의 대표적인 DNS tjqltm


Cloud Storage

구글 클라우드의의 대표적인 Block Store 형태의 저장소로, 크게 아래 4가지 데이터 형태에 맞춰서 정할 수 있습니다.

  Multi-regional Regional Nearline Coldline
데이터 특징 가장 자주 접근하는 데이터에 유용 지역내 자주 접근하는 데이터에 유용 한달에 한 번 미만으로 접근하는 데이터에 유용 연간 한 번 미만으로 접근하는 데이터에 유용
SLA 이용성 99.95% 99.90% 99.00% 99.00%
저장 비용 가장 큼 보통 저렴
검색 비용 저렴 보통 가장 큼
적합한 케이스 컨텐츠 저장 및 전달 지역내 분석 및 변경 장기 컨텐츠, 백업 아카이빙, 재난 방지용

Cloud Bigtable

GCP의 대표적인 NoSQL with wide column 서비스

  • HBase와 호환됩니다.
  • 전 세게적인 가용성을 지원합니다.
  • 오토 스케일링 및 중복 저장소를 지원합니다.

Cloud Datastore

GCP의 대표적인 NoSQL 서비스

  • 정수, 부동 소수점 수, 문자열, 날짜, 바이너리 데이터등 다양한 데이터 유형을 지원합니다.
  • ACID 트랜잭션을 지원하여 무결성을 보장합니다.

Cloud SQL

GCP에서의 MySQL과 PostgreSQL을 지원


Cloud Spanner

글로벌 분산형 데이터베이스 서비스로, 관계형 데이터베이스 구조와 비관계형 수평적 확장의 이점을 결합한 서비스입니다.

  • 대륙 단위를 넘어서는 확장성을 지원합니다.
  • 모든 규모 및 단계에서 쉽게 배포할 수 있습니다.

BigQuery

  • 표준SQL을 지원합니다.
  • 장기간 이용시 자동으로 할인이 됩니다
  • 스트리밍 API를 이용하여 실시간 분석이 가능합니다.
  • 페타바이터급 규모의 데이터를 처리할 수 있습니다.
  • 자동 백업 및 간편한 복원이 가능합니다.
  • 다른 GCP 서비스들과 쉽게 연동이 됩니다.

개별 스토리지 비교 (technical details)

  Cloud Datastore Bigtable Cloud Storage Cloud SQL Cloud Spanner Big Query
Type NoSQL NoSQL with column Blockstore 관계형 SQL for OLTP 관계형 SQL for OLTP 관계형 SQL for OLAP
Transactions Yes Single-row No Yes Yes Yes
Complex queries No No No Yes Yes Yes
Capacity TB+ PB+ PB+ TB PB PB+
Unit Size 1MB/entity ~10MB/cell, ~100MB/row 5TB/object DB Engine에 따라 달라짐 10,240MiB/row 10MB/row

개별 스토리지 비교 (use cases)

  Cloud Datastore Bigtable Cloud Storage Cloud SQL Cloud Spanner Big Query
Type NoSQL NoSQL with column Blockstore 관계형 SQL for OLTP 관계형 SQL for OLTP 관계형 SQL for OLAP
Best for 반 정형화된 어프리케이션 데이터, 영속성 있는 키-밸류 데이터 Flat 데이터, 큰 규모의 읽기/쓰기, 이벤트, 분석 데이터 여러 형태의 파일들 웹 프레임워크, 어플리케이션 큰 규모의 데이터베이스 어플리케이션 쿼리를 이용한 데이터 분석
Use cases App Engine 어플리케이션 광고, 금융 및 IoT 데이터 이미지, 미디어 파일, 백업 사용자 신용정보, 고객 주문 글로벌 규모의 큰 데이터 처리 데이터 웨어하우스

Container Engine

GCP의 대표적인 컨테이너 서비스


Kubernetes

컨테이너 관리 시스템


App Engine

웹 어플리케이션 서비


Cloud Dataproc

GCP에서 돌아가는 Hadoop 서비스

  • 빠르고 쉽게 Hadoop / Spark / Pig를 GCP 위에서 관리할 수 있습니다.
  • Cluster를 생성하는데 평균 90초 안으로 걸립니다.
  • Cluster의 스케일 업/다운이 job이 돌아가면서도 가능합니다.

Cloud Dataflow

파이프를 이용하여 스트리밍 및 배치 데이터를 처리할 수 있는 서비스

  • Compute Engine 인스턴스를 이용하여 데이터를 처리
  • 오토 스케일링
  • ETL(Extract/Transform/Load) 파이프라인을 이용하여 쉽게 이동, 필터등의 작업을 할 수 있습니다.
  • 스트리밍 데이터 처리시 유용하게 사용할 수 있습니다.
  • 다른 GCP 서비스들과의 통합하여 사용이 가능합니다.

Cloud Pub/Sub

Kafka와 같은 대표적인 메세지 큐잉 서비스

  • 수많은 비동기 메시지들을 지원
  • 오프라인 소비자들도 포함하여 지원

Cloud Datalab

GCP의 대표적인 Jupyter 서비스

  • 큰 데이터의 처리, 변형, 분석 및 시각화 등에 사용
  • 오픈소스인 Jupyter 빌트인 서비스
  • 별다른 환경 설정없이 쉽게 구글 서비스들과 연동하여 사용할 수 있습니다.

Cloud Vision API

이미지 분석 서비스

  • 이미지 내의 객체를 감지할 수 있습니다.
  • 부적절한 컨텐츠(성인물, 폭력물 등)를 감지할 수 있습니다
  • OCR(이미지내의 텍스트 추출)이 지원됩니다
  • 라벨을 감지할 수 있습니다.
  • 로고를 감지할 수 있습니다.
  • 랜드마크를 감지할 수 있습니다.

Cloud Speech API

음성 분석 서비스

  • 음성을 텍스트로 변환할 수 있습니다.
  • 110가지 이상의 언어와 방언을 인식합니다.
  • 사용자가 말하는 중에 인식 결과를 반환할 수 있습니다.
  • 노이즈 캔슬링 처리를 합니다.

Cloud Natural Language API

자연어 분석 서비스

  • 구문을 분석할 수 있습니다.
  • 감정을 분석할 수 있습니다.
  • 콘텐츠를 분류할 수 있습니다.

Cloud Translation API

구글의 대표적인 번역 서비스

  • 100개가 너믄ㄴ 언어 번역을 지원합니다
  • 언어를 감지할 수 있습니다.