Cloud Function은 이전에는 큰 인기를 끌지 못했지만, Cloud Run이 출시된 이후에는 함께 확대되었습니다. 이러한 추세는 Cloud Run이 Kubernetes의 입지를 위협하고 있다는 가능성도 제기하고 있습니다.
Cloud Run은 사용하기 쉽고 더 이상의 관리나 유지보수가 필요하지 않기 때문에 유용하게 활용되고 있습니다. 반면에 Kubernetes(K8s)는 구성과 관리가 복잡하여 사용하기 어렵고, 시스템 장애 확률이 높을 수 있습니다. 하지만, K8s에서는 AutoPilot 같은 관리 도구를 사용하여 이러한 문제를 해결할 수 있습니다.
그러나 Cloud Run이 Kubernetes의 위치를 위협하고 있다는 주장은, Cloud Run이 Kubernetes를 대체할 수 있는 기술적인 요소를 가지고 있기 때문입니다. Cloud Run은 Kubernetes의 어려운 부분을 간소화하고, 서버리스 컴퓨팅 환경에서 더욱 효율적으로 애플리케이션을 구축할 수 있는 장점을 가지고 있습니다. 따라서 이러한 이유로 Cloud Run이 Kubernetes의 입지를 위협할 가능성이 있습니다. 다만 서버리스의 가격이 저렴한 서비스가 전혀 아니기에 각 서스의 장단점이 분명합니다.
위 Google Cloud Platform의 서비스들에 대해 간단히 설명하자면
Cloud Functions은 개발자가 코드를 업로드하기만 하면 단일 엔드포인트를 쉽게 얻을 수 있는 서비스입니다. 즉, 서버리스 아키텍처로 구성되어 있어 서버 설정 및 관리가 필요하지 않습니다. 또한, 이 서비스는 트리거를 쉽게 붙일 수 있어 접착제와 같은 역할을 합니다.
Cloud Run은 컨테이너 기반의 서비스로 CRUD(Create, Read, Update, Delete)를 전부 다룰 수 있습니다. 또한, 동시성(concurrency) 수에 따라 하나의 컨테이너에서 하나의 request만 처리할 수 있습니다 이러한 동시성 수를 조절하여 scale in/out을 할 수 있으며, 카나리 배포를 버튼 3번으로 트래픽을 분산시킬 수도 있습니다. 하지만, 메모리 32G 이상 및 CPU 8개 이상은 지원하지 않으며, 1시간 이상 소요되는 배치는 불가능합니다. 이런 항목은 yaml 파일로 관리됩니다.
GKE는 쿠버네티스 매니지드 버전으로, standard mode와 Autopilot이 있습니다. Scale Up/Down도 알아서 수행합니다. 다만, 비공개 되는 정보 또한 있습니. 예를 들어, 로드밸런서의 묶여있는 노드를 보고 싶어도 Autopilot이 모든 관리를 담당하기 때문에 볼 수 없습니다.
Cloud Run for Anthos는 K native 위에서 Cloud Run이 돌아가는 서비스로, GKE 위에 K native 위에 Cloud Run Anthos를 돌립니다.
Apache JMeter는 웹사이트 성능을 측정하기 위해 사용되는 툴입니다.
레퍼런스
CloudCon in GO ( Sat, Mar 11, 2:00 PM (KST) )
- 모두를 위한 Serverless App Development (백재연 | 매드업 Tech Lead, Cloud GDE)
- GDG Golang Korea X GDG Cloud Korea가 Go와 Cloud에 관심있는 사람들이 함께 모여 네트워킹 할 수 있는 기회의 장을 마련했습니다. Serverless App 개발과 Firebase 제품에 대해 이야기하고, GCP 및 GO를 활용한 재밌는 프로젝트 경험을 다양하게 나눕니다.
- https://gdg.community.dev/events/details/google-gdg-cloud-korea-presents-cloudcon-in-go/