본문 바로가기
CSP (Cloud Service Provider)/GCP

[GCP] Cloud Run & Cloud Function

by BTC_오은영석사 2023. 7. 8.

베하~! 안녕하세요 금쪽상담소의 오은영석사와 금쪽이 입니다.

이번주도 돌아온 금쪽상담소입니다~!~! 한주동안 잘 지내고 계셨나요?!

이번주에 배워볼 내용은 무엇일까요??

두구두구두구.....

바로 GCP의 Cloud Run과 Cloud Function입니다!!

 

지금 바로 알아보러 가볼까요~!


Cloud Run이란?

 

Google의 확장 가능한 인프라에서 직접 컨테이너를 실행할 수 있게 해 주는 관리형 컴퓨팅 플랫폼입니다.

  • Cloud Run은 Google Cloud에서 다른 서비스와 잘 작동하도록 빌드되었으므로 완전한 기능의 애플리케이션을 빌드 가능
  • 컨테이너 이미지를 빌드할 경우 모든 프로그래밍 언어로 작성된 코드를 Cloud Run에 배포 가능
  • Cloud Run 서비스를 운영, 구성, 확장하는 데는 시간 소모가 많지 않음
  • Cloud Run은 Serverless서비스 이므로 클러스터를 만들거나 인프라를 관리할 필요 없음
  • 코드 실행을 위한 두 가지 방법 존재 - Cloud Run 서비스, Cloud Run 작업

Cloud Run 서비스

Cloud Run 서비스는 안정적인 HTTPS 엔드포인트를 실행하는 데 필요한 인프라를 제공하며 사용자는 코드가 TCP 포트에서 HTTP 요청을 처리하는지 확인해야 합니다.

 

서비스 기능

  • 모든 서비스의 고유 HTTPS 엔드포인트
  • 빠른 요청 기반 자동 확장
  • 기본 제공되는 트래픽 관리
  • 비공개 및 공개 서비스

Cloud Run 서비스를 사용해야 하는 경우

  • 웹사이트 및 웹 애플리케이션 - 원하는 스택을 사용해서 웹앱을 빌드하고 SQL 데이터베이스에 액세스하고, 동적 HTML 페이지를 렌더링합니다.
  • API 및 마이크로서비스 - REST API나 GraphQL API 또는 HTTP 또는 gRPC로 통신하는 비공개 마이크로 서비스를 빌드할 수 있습니다.
  • 스트리밍 데이터 처리 - Cloud Run 서비스는 Pub/Sub 푸시 구독에서 메시지를 수신하고 Eventarc에서 이벤트를 수신할 수 있습니다

Cloud Run 작업

스크립트에서와 같이 코드 작업이 수행되고 중지되면 Cloud Run 작업을 사용하여 코드를 실행할 수 있습니다.

gcloud CLI를 사용하여 명령줄에서 작업을 실행하거나, 반복 작업을 예약하거나, 워크플로의 일부로 실행할 수 있습니다.

 

Cloud Run 작업을 사용해야 하는 경우

  • 스크립트 또는 도구 - 스크립트를 실행하여 데이터베이스 마이그레이션 또는 기타 운영 작업을 수행합니다.
  • 배열 작업 - Cloud Storage 버킷에 있는 모든 파일의 처리를 대량으로 동시에 수행합니다.
  • 예약된 작업 - 정기적인 간격으로 인보이스를 만들고 전송하거나 데이터베이스 쿼리 결과를 XML로 저장하고 파일을 몇 시간 간격으로 업로드합니다.

Cloud Function이란?

클라우드 서비스를 빌드 및 연결하기 위한 서버리스 실행 환경입니다.

클라우드 인프라와 서비스에서 발생하는 이벤트에 연결되는 단일 목적의 간단한 함수를 작성 할 수 있으며 함수는 감시 중인 이벤트 발생 시에 트리거됩니다.

특징

  • 클라우드 서비스 연결 및 확장
    • 클라우드 서비스의 연결과 확장 코드를 작성할 수 있도록 로직의 연결 레이어를 제공
    • Cloud Storage로의 파일 업로드, 로그 변경 또는 Pub/Sub 주제의 수신 메시지를 리슨 및 응답 가능
    • 기존의 클라우드 서비스를 확대하고 임의의 프로그래밍 로직으로 증가하는 사용 사례를 처리 가능
    • Google 서비스 계정 사용자 인증 정보에 액세스할 수 있으므로 Cloud Vision 등과 같은 대부분의 Google Cloud 서비스를 통해 원활하게 인증
  • 이벤트 및 트리거
    • Cloud 이벤트란 클라우드 환경에서 발생하는 모든 상황을 의미하며 데이터베이스의 데이터 변경, 저장소 시스템에 파일 추가, 새로운 가상 머신 인스턴스 생성 등이 포함
    • 이벤트는 응답 여부와 관계없이 발생
    • 트리거를 사용하여 이벤트에 대한 응답 생성
    • 트리거란 특정 이벤트 또는 이벤트 집합에 관심이 있음을 나타내는 선언
    • 함수와 트리거를 결합하면 이벤트를 포착하여 조치 가능
  • 서버리스
    • 서버 관리, 소프트웨어 구성, 프레임워크 업데이트, 운영 체제 패치 적용 등의 작업을 제거
    • 소프트웨어와 인프라가 Google에서 모두 관리되므로, 사용자는 코드만 추가 진행
    •  리소스는 이벤트 발생 시 자동으로 프로비저닝
    • 별도의 작업 없이 함수를 하루 몇 번에서 수백만 번까지 호출 가능

사용 사례

  • 데이터 처리/ETL
  • 웹훅
  • 경량형 API
  • 모바일 백엔드
  • IoT

이렇게 이번시간에는 Cloud Run과 Cloud Function에 대해 알아보는 시간이였습니다.

유익한 시간이 되었길 바라며...

저희 금쪽 상담소는 다음 시간에 더욱더 흥미로운 정보들로 꽉꽉 채워 돌아오겠습니다!

그럼 다음 시간을 기약하며 그때까지 베빠~!

 

출처 : https://cloud.google.com/run/docs/overview/what-is-cloud-run?hl=ko

출처 : https://cloud.google.com/functions/docs/concepts/overview?hl=ko

댓글