
1. Cloud Machine Learning Platform Cloud Machine Learning Platform은 pre-trained model과 맞춤형 모델을 개발할 수 있는 플랫폼으로 모던 머신 러닝 서비스를 제공합니다. TensorFlow는 오픈 소스 소프트웨어 라이브러리로 neural network와 같은 머신 러닝 application에 잘 맞습니다. TensorFlow를 어느 곳에서나 사용할 수 있지만, GCP가 머신 러닝 모델이 많은 on-demand compute resources와 training data를 필요로 하기에 가장 이상적인 공간입니다. 또한, TensorFlow와 머신러닝 워크로드를 가속화 하도록 설계된 하드웨어 디바이스인 Tensor Processing Units에..

1. Cloud Pub/Sub 실시간으로 이벤트를 발생시킨다면, messaging 서비스에 도움이 될 것입니다. 이것이 Cloud Pub/Sub이 하는 일로, stream 분석에 간단하고, 믿을 수 있고, 확장 가능한 기반를 제공합니다. Application이 메세지를 보내거나 받게 할 수 있고, 이 기능이 분리되어 있어 독립적으로 확장할 수 있습니다. Pub은 publisher의 축약이고, Sub은 subscriber의 줄임말 입니다. Application은 Pub/Sub에서 메시지를 보내고, 한 명 이상의 subscriber가 메세지를 받습니다. 메세지는 동시에 받지 않아도 되기 때문에 Pub/Sub가 분리된 시스템에 유용한 것입니다. 낮은 대기 시간으로 "at least once" 전송을 제공하도록..

1. Cloud Dataflow Cloud Dataproc은 알려진 크기의 데이터를 갖고 있거나 소유하고 있는 클러스터의 크기를 관리할 때 유용합니다. 하지만 실시간으로 보여지거나 예측할 수 없는 크기라면, Cloud Datatflow를 사용하면 됩니다. 통합된 프로그래밍 모델과 관리 서비스로, 데이터 프로세싱 패턴의 큰 범위(추출, 변환, load batch computation, 반복 계산)를 개발하고 실행하게 합니다. Dataflow로 data pipeline을 구축할 수 있습니다. 그리고 같은 파이프라인은 배치와 스트림 데이터에서도 작동하기 때문에 클러스터를 가동하거나 인스턴스 크기를 조정할 필요가 없습니다. Cloud Dataflow는 어떤 프로세싱 리소스가 요구되더라도 관리를 완전히 자동화합니..

1. Integrated Serverless Platform Serverless는 Compute 인스턴스가 실행되도록 권한 설정을 하는데에 걱정하지 않아도 된다는 의미입니다. 서비스가 완전히 관리되어 소비하는 리소스에만 집중하면 됩니다. 플랫폼이 통합되어 GCP 데이터 서비스가 custom solution을 생성할 수 있도록 도와줍니다. 2. Apache Hadoop Apache Hadoop은 빅데이터를 위한 오픈소스 프레임워크입니다. Google이 발명한 MapReduce programming model에 기반합니다. 먼저, Map function은 중간 결과를 생산하기 위해 대량의 데이터를 병렬적으로 실행하는 것입니다. Reduce function은 중간 결과에 기반해 최종 결과 셋을 구축합니다. '..

1. Stackdriver Stackdriver는 모니터링, logging, 진단을 할 수 있는 GCP 툴입니다. 인프라 플랫폼, 가상 머신, 컨테이너, 미들웨어, application tier, 로그, metrics, trace에 관한 다양한 신호에 접근할 수 있도록 합니다. Application의 health, 성능, 이용성에 대한 인사이트도 줍니다. 그러므로 이슈가 발생하면, 빠르게 고칠 수 있도록 합니다. Monitoring, Logging, Trace, Error Reporting, Debugging은 Stackdriver의 주요 요소입니다. 2. Stackdriver Monitoring Stackdriver Monitoring은 클라우드 환경에서 실행되는 웹 어플리케이션과 인터넷이 가능한 서비..

1. Cloud Source Repositories 많은 GCP 고객들이 소스 코드 tree를 저장하고 관리하기 위해 Git를 사용합니다. 이 의미는, 개인 Git instance나 hosted Git provider를 사용한다는 뜻입니다. 하지만, 개인적으로 instance를 유지하지 않으면서 GCP 프로젝트에 코드를 개인적으로 유지하고, IAM permission을 사용해 보호하는 방법도 있습니다. 이것이 Cloud Source Repositories입니다. Cloud Source Repositories는 App Engine, Compute Engine, Kubernetes Engine을 포함한 어떠한 application이나 서비스를 개발을 지원하는 Git version control를 제공합니다...

1. API 깨끗하고 잘 정의된 인터페이스를 application 개발자가 소프트웨어를 구조화하고, 불필요한 디테일을 문서화하는 것이 API입니다. 인터페이스가 아닌 API를 사용하는 다른 소프트웨어가 알 필요가 없는 한 기본 구현은 변할 수 있습니다. 때때로 특징을 더하거나 제거하기 위해 API를 변경해야 할 수 있습니다. 이런 API 변경을 깔끔히 하기 위해, 개발자들은 API 버전을 매깁니다. 2. Cloud Endpoints API를 사용하는 프로그램은 특정 API 버전을 호출할 수 있습니다. 그러므로 API를 제공하는 것은 매우 중요한 일이며 GCP는 두가지 API 관리 툴을 제공합니다. GCP의 backend에서 소프트웨어를 개발한다면, 이 API를 드러나기 쉽도록 만들고 싶을 것입니다. 그리..

1. On-premises distributed system On-premises는 cloud computing 이전에, 전통적으로 기업의 computing을 만드는 방식입니다. 고용량 서버가 회사 내부 네트워크나 data center에서 운영되는 것으로, 많은 기업이 application을 분산 시스템으로 확장하기에 널리 퍼진 computing workload는 두 개 이상의 네트워크 서비스를 요구합니다. 컨테이너는 이 워크로드를 microservices로 나누어 더 관리하고 확장하기 쉬워졌습니다. Application computing의 수요가 이용 가능한 computing resource를 앞지르기 시작하면, on-premises를 더 강력한 서버로 구입해야 합니다. 새로운 서버를 환경설정하고, r..

1. Kubernetes Kubernetes는 컨테이너를 위한 open-source orchestrator입니다. API를 제공하여 권한을 주고, 몇 가지 utility를 통해 운영을 제어합니다. 이 중 하나가 kubectl command입니다. Kubernetes는 컨테이너를 cluster라는 node의 세트에 배치합니다. 클러스터는 전체 시스템을 컨트롤하는 master component이며, 컨테이너를 운영하는 node입니다. Kubernetes에서는 node는 computing instance를 대신합니다. GCP Cloud에서 node는 Compute Engine에서 실행되는 가상 머신입니다. Kubernetes를 사용하기 위해선, application set와 어떻게 서로 상호교환하는지 설명할 ..

이전에 봤던 Compute Engine은 클라우드에서 가상 머신을 지속적인 저장, 네트워킹, App Engine을 가능하게 하는 GCP IaaS를 제공하였습니다. Kubernetes Engine은 IaaS와 비슷하며 또한, 개발자들의 수요에 의해 구축되었기에 PaaS offering과도 비슷합니다. * Infrastructure as a service (IaaS) offering은 하드웨어를 가상화하여 compute resource를 공유할 수 있습니다. 각 가상 머신은 하나의 운영체제에 대한 인스턴스가 존재합니다. 가상 머신에서 memory, file systems, networking interfaces, 물리적인 컴퓨터들이 갖고 있는 다른 특징에 접근하며 application을 구축하고 운영할 수 ..