Cloud Functions 개요

Google Cloud Functions란 무엇인가요?

Google Cloud Functions는 클라우드 서비스를 빌드 및 연결하기 위한 서버리스 실행 환경입니다. Cloud Functions를 사용하면 클라우드 인프라와 서비스에서 발생하는 이벤트에 연결되는 단일 목적의 간단한 함수를 작성할 수 있습니다. 함수는 감시 중인 이벤트 발생 시에 트리거됩니다. 코드는 완전 관리형 환경에서 실행되므로, 인프라를 프로비저닝하거나 서버를 관리할 필요가 없습니다.

Cloud Functions는 Google Cloud Platform에서 자바스크립트, Python 3, Go 또는 자바 런타임을 사용하여 작성될 수 있습니다. 함수를 표준 Node.js(Node.js 10/12), Python 3(Python 3.7/3.8), Go(Go 1.11/1.13) 또는 자바(자바 11) 환경에서 실행할 수 있으므로, 이동성과 로컬 테스트가 모두 간편합니다.

클라우드 서비스 연결 및 확장하기

Cloud Functions는 클라우드 서비스의 연결과 확장 코드를 작성할 수 있도록 로직의 연결 레이어를 제공합니다. Cloud Storage로의 파일 업로드, 로그 변경 또는 Pub/Sub 주제의 수신 메시지를 리슨 및 응답할 수 있습니다. Cloud Functions를 사용하면 기존의 클라우드 서비스를 확대하고 임의의 프로그래밍 로직으로 증가하는 사용 사례를 처리할 수 있습니다. Cloud Functions는 Google 서비스 계정 사용자 인증 정보에 액세스할 수 있으므로 Cloud Vision 등과 같은 대부분의 Google Cloud 서비스를 통해 원활하게 인증됩니다. 또한 Cloud Functions는 수많은 Google Cloud 클라이언트 라이브러리에서 지원되므로, 통합이 더욱 간편합니다.

이벤트 및 트리거

Cloud 이벤트란 클라우드 환경에서 발생하는 모든 상황을 의미합니다. 여기에는 데이터베이스의 데이터 변경, 저장소 시스템에 파일 추가, 새로운 가상 머신 인스턴스 생성 등이 포함될 수 있습니다.

이벤트는 응답 여부와 관계없이 발생합니다. 사용자는 트리거를 사용하여 이벤트에 대한 응답을 만들 수 있습니다. 트리거란 특정 이벤트 또는 이벤트 집합에 관심이 있음을 나타내는 선언입니다. 함수와 트리거를 결합하면 이벤트를 포착하여 조치를 취할 수 있습니다. 트리거를 만들고 함수에 연결하는 방법에 대한 자세한 내용은 이벤트 및 트리거를 참조하세요.

서버리스

Cloud Functions는 서버 관리, 소프트웨어 구성, 프레임워크 업데이트, 운영 체제 패치 적용 등의 작업을 제거합니다. 소프트웨어와 인프라가 Google에서 모두 관리되므로, 사용자는 코드만 추가하면 됩니다. 또한 리소스는 이벤트 발생 시 자동으로 프로비저닝됩니다. 즉, 별도의 작업 없이 함수를 하루 몇 번에서 수백만 번까지 호출할 수 있습니다.

사용 사례

경량형 ETL과 같은 비동기식 워크로드 또는 애플리케이션 빌드 트리거와 같은 클라우드 자동화 작업에 이제는 더 이상 자체적인 서버나 개발자의 연결 작업이 필요하지 않습니다. 원하는 이벤트에 결합된 Cloud Functions를 배포하기만 하면 됩니다.

또한 세분화된 주문형 Cloud Functions의 특성은 경량형 API와 웹후크에 가장 적합합니다. 또한 HTTP 함수 배포 시 HTTP 엔드포인트를 자동으로 프로비저닝하므로, 다른 일부 서비스와 같은 복잡한 구성이 필요하지 않습니다. Cloud Functions의 일반적인 사용 사례를 추가로 확인하려면 다음 표를 참조하세요.

사용 사례 설명
데이터 처리/ETL 파일 생성, 변경 또는 삭제 시와 같이 Cloud Storage 이벤트를 리슨하고 응답합니다. Cloud Functions에서 이미지 처리, 동영상 트랜스코딩 수행, 데이터 유효성 검사 및 변환, 인터넷 서비스 호출이 가능합니다.
웹후크 간단한 HTTP 트리거를 통해 GitHub, Slack, Stripe와 같은 타사 시스템 또는 HTTP 요청을 보낼 수 있는 모든 곳에서 발생한 이벤트에 응답합니다.
경량형 API 신속하게 빌드하고 즉시 확장되는 느슨하게 연결된 경량의 로직 비트로 애플리케이션을 작성합니다. 함수는 이벤트 기반으로 작동하거나 HTTP/S를 통해 직접 호출됩니다.
모바일 백엔드 Google의 앱 개발자용 모바일 플랫폼인 Firebase를 사용하여 Cloud Functions에서 모바일 백엔드를 작성합니다. Firebase 애널리틱스, 실시간 데이터베이스, 인증, 저장소에서 수신된 이벤트를 수신 대기 및 응답합니다.
IoT 무수히 많은 기기에서 Pub/Sub으로 데이터를 스트리밍하여 Cloud Functions를 실행하고 데이터를 처리, 변환, 저장한다고 상상해 보세요. Cloud Functions를 사용하여 완전한 서버리스 방식으로 실행할 수 있습니다.

다음 단계