brunch

매거진 GCP

You can make anything
by writing

C.S.Lewis

by 하이프마크 Dec 28. 2021

GCP : Cloud Functions

GCP


Cloud Functions은 클라우드 서비스를 구현하고 연결하기 위해 구글 클라우드 플랫폼에서 제공하는 서버리스 컴퓨팅 서비스입니다.


이 기능을 사용하면 이벤트가 발생할 시 트리거 되며 그에 따라 코드를 알아서 수행해주는 완전 관리형 환경이기 때문에 인프라를 프로비저닝하거나 서버를 관리할 필요가 없습니다.





Cloud Functions은 크게 세가지 특징으로 나눌 수 있는데요.  


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

이벤트 및 트리거

서버리스


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

더 많은 클라우드 서비스를 확대하고 사용할 수 있도록 만드는 기능입니다. Cloud Functions 이를 위해 확장 코드를 작성할 수 있도록 로직의 연결 레이어를 제공합니다. Pub/Sub 메세지 리슨 및 응답, GCS 파일 업로드, 그리고 REST API 등 다양한 GCP 서비스를 이용할 수 있습니다. 


이벤트 및 트리거

클라우드 이벤트는 클라우드 환경에서 발생하는 모든 상황을 의미합니다.이벤트는 데이터베이스의 데이터 변경, 저장소 시스템에 파일 추가, 새로운 가상 머신 인스턴스 생성 등일 수 있습니다.  현재  Cloud Functions는 다음과 같은 환경에서 이벤트를 지원하고 있습니다.  


HTTP

Cloud Storage

Cloud Pub/Sub

Cloud Firestore

Firebase(실시간 데이터베이스, Storage, 애널리틱스, 인증)

Cloud Logging—싱크를 만들어 Pub/Sub 주제에 로그 항목을 전달합니다. 그런 다음 함수를 트리거할 수 있습니다.


이벤트는 응답 여부와 관계없이 발생하며 사용자는 트리거를 사용하여 이벤트에 대한 응답을 만들 수 있습니다. 트리거란 특정 이벤트 또는 이벤트 집합에 관심이 있음을 나타내는 선언입니다. 함수와 트리거를 결합하면 이벤트를 포착하여 조치를 취할 수 있습니다.이벤트가 클라우드 함수 실행을 트리거하면 이벤트와 연관된 데이터가 함수의 매개변수를 통해 전달됩니다. 


서버리스

Cloud Functions는 소프트웨어와 인프라 등을 모두 완벽하게 관리해주기 때문에 코드만 추가하면 됩니다. 따라서 서버 관리, 소프트웨어 구성, 프레임워크 업데이트, 운영 체제 패치 적용 등의 작업에 신경 쓸 필요가 없습니다. 리소스는 이벤트 발생 시 자동으로 프로비저닝됩니다. 즉, 별도의 작업 없이 함수를 하루 몇 번에서 수백만 번까지 호출할 수 있습니다.


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


그렇다면 이 Cloud Functions의 사용사례는 어떨까요.





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


또한 사용한 만큼만 지불하면 된다는 비용적 장점이 아주 큽니다. Cloud Functions 가격은 함수 실행 시간, 호출 횟수, 함수에 프로비저닝한 리소스 수에 따라 책정됩니다. 함수가 비활성 상태인 동안에는 비용을 지불하지 않습니다. Cloud Functions는 이벤트에 응답하여 자동으로 가동되고 중단됩니다.


이 가격은 다음과 같이 책정됩니다.


호출 횟수 + 컴퓨팅 시간 + 네트워킹


호출

함수 호출은 호출의 소스와 관계없이 정액제에 따라 요금이 부과됩니다. 처음 200만회까지는 무료고 그를 초과하면 요금이 부과됩니다.


컴퓨팅 시간

함수가 요청을 받은 시점부터 완료 신호, 시간 초과, 기타 장애 또는 종료가 발생하는 등의 완료 시점까지를 컴퓨팅 시간으로 측정합니다. 컴퓨팅 시간 요금은 . 컴퓨팅 시간은 100ms 단위로 측정되며 함수에 프로비저닝한 메모리 및 CPU 양에 따라 달라질 수 있습니다. 


네트워킹

아웃바운드 데이터 전송(즉, 함수 에서 다른 곳으로 전송되는 데이터 )은 GB 단위로 측정되며 고정 요금으로 청구됩니다. 동일 리전 내의 다른 Google API로 전송되는 아웃바운드 데이터는 인바운드 데이터와 마찬가지로 무료입니다. 


더 자세한 비용정책에 대해 알고 싶은 분은 Cloud Functions 가격 책정을 참고하시면 됩니다.


이처럼 Cloud Functions은 다양한 장점을 가지고 있습니다. 자동 확장 기능으로 인프라에 대한 걱정 없이 사용자에게 서비스를 제공할 수 있고 엔드 투 엔드 개발 및 진단 기능으로 애플리케이션에 개발에 대한 지원과 진단을 받을 수도 있습니다. 무엇보다 다른 GCP 서비스와 통합돼 연계해 쓸 수 있단 것이 가장 편리하다고 볼 수 있겠죠.


하이프마크에서는 기업의 웹앱로그데이터의 클라우드 적재와 ETL 파이프라인 구성 그 외 클라우드 내 데이터분석 환경 구축 및 분석 시각화 서비스를 함께 제공하고 있습니다.


AWS, GCP등 클라우드 이전 매니지드서비스 및 웹앱로그데이터 태깅 적재 관련 문의사항이 있으시면 하이프마크에 문의 주세요


감사합니다.   



참조 : https://cloud.google.com/functions/docs/concepts/overview

매거진의 이전글 GCP : Cloud Dataflow
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari