Compute
Compute Engine
- VM instance 아래 gcloud option으로 스케줄링 가능
[--vm-start-schedule='START-OPERATION_SCHEDULE'] \\
[--vm-stop-schedule='STOP-OPERATION_SCHEDULE'] \\
- snapshot
- 삭제하는 snapshot에 dependent가 있는 경우
- 다른 스냅샷을 복원하는 데 필요한 모든 데이터는 다음 스냅샷으로 이동되어 다음 스냅샷의 크기가 커진다
- 다른 스냅샷을 복원하는데 필요하지 않는 데이터는 모두 삭제. 해당하는 데이터가 삭제되어 모든 스냅샷의 총 크기가 줄어듬
- 다음 스냅샷은 삭제 표시된 스냅샷을 참조하지 않고 그 이전의 스냅샷을 참조
- preemptible VM - 선점형 VM
- lower cost than statndard vm (60~91%)
- 24시간 뒤 자동 삭제
- batch process 등 단시간에 실행되는 VM에 적합
Managed Instance Group (MIG)
- update type
- PROACTIVE
- 모든 인스턴스 또는 일부 인스턴스에 새 구성을 자동으로 원격 설치
- OPPORTUNISTIC
- 자동 업데이트가 너무 중단되거나 업데이트를 더 구체적으로 제어하기 위함
- 특정 인스턴스를 선택적으로 업데이트 가능
- 긴급하지 않고 필요에 따라 적용할 수 있는 중요하지 않은 업데이트가 있는 경우
- only new VM instances has updated application running inside them.
- The way to create
- Create a disk snapshot of running VM instance
- Create an Image from this snapshot
- Create an instance template which use this new image
- Create a Managed Instance group that use this new instance template
- Configure autoscaling in Managed Instance Group
Unmanged Instance Group (UIG)
- 이종 인스턴스 그룹에 부하 분산을 적용하는 경우
- 인스턴스를 직접 관리해야 하는 경우
Shielded VMs
Sole-Tenant-Node
- 한 프로젝트의 VM만 물리적 Compute Engine 서버인 단독 테넌트 노드에 독점적으로 액세스할 수 있다.
- 물리적 분할
Kubernetes Engine (GKE)
- 기존 클러스터에 대한 모니터링 및 로깅 구성 가능
- Binary Authorization
- 신뢰할 수 있는 컨테이너 이미지만 Google Kubernetes Engine(GKE) 또는 Cloud Run에 배포되도록 하는 배포 시간 보안 제어
- GKE service is PCI DSS compliant.
- Public endpoint access enabled, authorized networks enabled: creates a private cluster with limited access to the public endpoint.
- GKE cluster supports horizontal autoscaling both in terms of node and pods.
- Command
- 클러스터 크기 조절: gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME --num-nodes NUM_NODES
App Engine
- type
- Standard
- Can’t use Cloud VPN to connect to an on-premises network unless we also set up serverless VPC access connectors
- Scale-to-zero (O)
- Flexible
- Scale-to-zero (X, It needs at least 1 instance)
- Compute Engine 네트워크에 있는 Google Cloud 프로젝트의 리소스 또는 서비스에 액세스합니다.
- 서버리스 VPC 액세스 지원 하지 않음
- 커스텀 런타임 또는 기타 프로그래밍 언어로 작성된 소스 코드가 포함된 Docker 컨테이너에서 실행되는 경우
- Less operation overhaed as compare to any other option
- It can scale down to zero instance in case of no activity
- It can scale up in seconds to meet application traffic demand.
- Serverless
- App Based
- ensure availability as well
- Not support C++
- 트래픽 분할 가능(traffic splitting feature)
- 서비스 내 두 개 이상에 트래픽 분산 비율을 지정할 수 있다.
- 버전 간 A/B 테스트를 할 수 있으며, 기능을 배포할 때 속도를 제어할 수 있다.
- 특정 버전을 명시적으로 대상으로 하지 않는 URL에 적용된다.
Cloud Functions
- Serverless
- Function Based
- Event driven
- Not support C++
Cloud Run
- Container
- Reduce runtime
- Use a slimmed-down base image like Alpine Linux
- Copy the source after he package dependencies (python and pip) are installed
Firebase
- Highly managed
- Mobile
- HTML5
Storage
Local SSD disk
- Very fast in terms of IO
- persistent disk or GCS fuse is slow as compare to local disk
Cloud Storage
- Backup
- Write a lifecycle management rule in JSON and push it to the bucket with gsutil
- It is Object database so it can be used to all backup like boot volume, data volume, pictures and application logs.
- exponential backoff: 작업이 실패할 경우 지연 기간을 늘림
- Good for
- Image, Video, pictures / object and blobs / Unstructured data
- High Availability option 있음
- Multi-Regional
- HA → multiple Multi-Regional Cloud Storage buckets, one bucket per multi-region
- Regional
- Standard - standard
- 단기 스토리지 및 자주 액세스하는 데이터에 적합
- Nearline - once a month
- 백업 및 월 1회 미만 액세스하는 데이터
- 저비용, 데이터 보관, 백업
- Coldline - once a quarter
- 재해 복구 및 분기당 1회 미만 액세스하는 데이터
- Archive - once a year
- 연 1회 미만 액세스하는 데이터의 디지털 장기 보존에 적합
- Transfer Appliance: 대규모 데이터 전송에 사용
- Transfer appliance can not be used to transfer files in realtime to GCP for enabling failover.
- decrypt the data in Cloud Storage using a transfer appliance rehydrator
- Singed urls: 제한된 시간 동안 액세스 권한을 부여하는 서명된 URL
- It can be leaked
- Google 계정이 있는지 여부에 관계없이 서명된 URL을 가진 사람은 누구든지 활성 URL을 사용할 수 있습니다.
- Signed URLs contain authentication information in their query string, allowing users without credentials to perform specific actions on a resource.
- It is slower than CDN in serving content
- raw data in Cloud Storage bucket and then creating data processing pipeline using this raw data as input.
Persistent Disk
- regional persistent disk, data is automatically copied in mulitiple zone
- You can migrate petabytes of data storage from a SAN
- --no-auto-delete flag: Will not be delete on VM termination.Dataprep
- performance is based on the total persistent disk capacity to an instance and the number of vCPUs that the instance has
- You can only resize a persistent disk to increase its size. You cannot reduce the size of a persistent disk.
- You can resize disks at any time, whether or not the disk is attached to a running VM.
Cloud Storage for Firebase
- Mobile SDKs
- It is not data structured
Filestore
- 일부 파일 시스템은 POSIX 클라이언트 사용
- Filestore 인스턴스는 Compute Engine 가상 머신(VM) 인스턴스 또는 Google Kubernetes Engine 클러스터에서 실행되는 애플리케이션에서 사용할 수 있는 Google Cloud의 완전 관리형 NFS 파일 서버입니다.
- 사용되지 않더라도 할당된 스토리지 용량에 대한 요금이 청구됩니다.
- 데이터 분석
- 렌더링 및 미디어 처리
- 애플리케이션 마이그레이션
- 웹 콘텐츠 관리
- 확장/축소
- 기본 등급 인스턴스의 크기는 생성된 후 확장만 할 수 있으며, 엔터프라이즈 및 대규모 등급 인스턴스의 크기는 확장 또는 축소할 수 있습니다
- 등급
- Filestore Basic(HDD 및 SSD)
- 파일 공유, GKE, 소프트웨어 개발, 웹 호스팅
- 1~63.9TiB(HDD)
- 2.5~63.9TiB(SSD)
- Filestore Enterprise
- 중요한 애플리케이션(예: SAP), Compute Engine, GKE 워크로드
- 1~10TiB
- Filestore High Scale
- 게놈 시퀀싱, 금융 서비스 거래 분석, 기타 고성능 워크로드를 포함한 고성능 컴퓨팅
- 10~100TiB
- 공유 VPC 네트워크에서 인스턴스를 만드는 경우 비공개 서비스 액세스 사용 설정이 필요
- Cloud Storage와 데이터 복사 가능