Coursera <Google Cloud Platform Fundamentals: Core Infrastructure>를 다시 들으면서 손으로 휘갈긴 필기를 정리하여 블로그에 올린다.
클라우드 컴퓨팅이 무엇인가
- On-demand self-service
- 공급 회사의 담당자 개입 필요 없음
- Broad network access
- 어디서나 접속 가능
- Resource pooling
- 공급자는 대량 구매하고 비용은 고객에게 전가.
- 데이터의 실제 물리적 위치를 고객은 모른다.
- Rapid elasticity
- 자원관리를 탄력적으로 할 수 있다.
- 고객이 빠르게 scale up&down 할 수 있음
- Measured service
- 사용하거나 예약한 만큼 지불한다
클라우드 컴퓨팅의 역사
1.Colocation
- 서버(공간) 임대
- 데이터센터 보다 효율적인 사용
2.가상화
- 실제 데이터센터 리소스와 일치
- 여전히 하드웨어에 대한 관리 필요
3.Container based automated service
- 자동화
- (G메일, 검색 같은)구글 애플리케이션을 위한 인프라를 구축하기 위하여 구글은 수십억 달러를 썼고, 이제는 그 인프라를 고객에게 제공한다.
Every company is a data company
구글은 분야, 규모에 상관 없이 모든 회사는 데이터 회사라고 생각한다.
GCP computing architecture

- IaaS
- IaaS는 기존 데이터센터와 비슷한 방식으로 원시 컴퓨팅, 스토리지, 네트워크같은 인프라를 제공한다.
- 인프라를 할당한 만큼 비용 지불
- PaaS
- 애플리케이션에 필요한 인프라에 대한 액세스를 제공하는 라이브러리에 애플리케이션 코드를 바인딩 하여코드에만 집중할 수 있도록 해준다.
- 사용한 만큼 지불한다.
The Google network
- 매일 전세계 인터넷 트래픽의 40%를 구글의 네트워크가 나른다.
- 고객에게 가장 많은 처리량과 가장 짧은 대기시간을 제공하기 위하여
- 구글의 Edge-caching 네트워크는 End user와 가까운 콘텐츠를 인용하여 대기시간을 최소화한다.
GCP regions and zones

- 모든 zone이 데이터센터와 일치하는 것은 아니다. (하지만 대략 그렇게 생각해도 된다.)
- 한 리전 안 여러개의 zone들은 서로 빠른 네트워크를 갖는다.
- 여러 리전에 리소스를 둘 수 있다.
- 자연 재해에 대비할 수 있다.
- 세계 End User들에게 빠르게 제공할 수 있다.
- 왜 한 리전 안에 여러 zone을 쓸까?
- 보다 나은 fault tolerance(결함 감내, 내결함성)를 위하여
- 왜 여러 리전을 쓸까?
- 보다 나은 fault tolerance(결함 감내, 내결함성)를 위하여
- 전세계의 End User들에게 더 가깝게 애플리케이션을 제공하려고
Environmental responsibility
- 100% 탄소 중립적
- Google은 세계 최대의 풍력 및 태양 에너지 구매 기업 중 하나
Google offers customers-friendly pricing

- 리소스 대부분이 초당 청구
- VM 많이 생성하고 실행하는 고객이 제일 혜택을 많이 본다.
- Compute Engine은 자동으로 sustained discount를 적용한다.
- 한 달의 25 % 이상 인스턴스를 실행하면 Compute Engine은 해당 인스턴스에 사용하는 증분 1 분마다 자동으로 할인을 제공
Open APIs
- Locked-In 방지
- GCP 서비스는 다른 오픈소스 서비스와 호환된다.
- Bigtable은 Apache HBase의 인터페이스 사용하여 고객에게 코드 이식성을 제공
- Dataproc은 Hadoop을 관리형 서비스로 제공
- 많은 GCP 기술이 상호운용성을 제공
- 쿠버네티스는 여러 클라우드에서 마이크로서비스가 실행되도록 해준다.
- Stackdriver은 여러 클라우드를 모니터링 할 수 있다.
Why choose GCP
- 비용 효율적
- 오픈소스 친화적
- 보안을 위해 설계
“개발자는 GCP를 사용하여 Google의 매우 안전하고 안정적이며 확장 가능한 인프라에서 애플리케이션을 빌드, 테스트 및 배포 할 수 있습니다.”
Budgets and Billing
- Budget and Alerts
- 고정값 혹은 전월 사용량 같은 metric을 사용하여 예산을 정할 수 있음
- 예산의 90%(커스텀 가능)가 되었을 때 알람
- Billing Export
- BigQuery 혹은 Storage bucket에 export 할 수 있다.
- Report
- 콘솔에서 지출보고서를 시각화하여 볼 수 있다.(필터링 가능)
- Quotas
- 악의적인 공격에 리소스를 과하게 사용하지 않도록 할당량이 있다.
- 프로젝트 레벨에서 정해져 있음
- Rate 할당량
- 특정 시간이 지나면 리셋된다.(GKE는 각 프로젝트에 API에 대한 호출 할당량인 1000개가 100초마다 새로 리셋된다.)
- Allocation 할당량
- 프로젝트에서 가질 수 있는 리소스의 수를 제한 (예: 프로젝트당 VPC 5개 제한)
- Google Support에 연락하여 할당량 조정 가능.